X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F48xml-to-sqlite.t;h=c567bbc1696af35add6ec8053d9c32724d33112e;hb=ea4a3ecc5de1c8f062fef3bab51e1cc7a2c23235;hp=427f0d2d3ac3b87590a70d492a5b1643bcae0019;hpb=410d4a4252243e6679a9303fbcb7a94e5e1588d1;p=dbsrgits%2FSQL-Translator.git diff --git a/t/48xml-to-sqlite.t b/t/48xml-to-sqlite.t index 427f0d2..c567bbc 100644 --- a/t/48xml-to-sqlite.t +++ b/t/48xml-to-sqlite.t @@ -34,50 +34,53 @@ my $sql = $sqlt->translate( ) or die $sqlt->error; eq_or_diff($sql, << "SQL"); - - BEGIN TRANSACTION; -DROP TABLE Basic; +DROP TABLE 'Basic'; -CREATE TABLE Basic ( - id INTEGER PRIMARY KEY NOT NULL, - title varchar(100) NOT NULL DEFAULT 'hello', - description text DEFAULT '', - email varchar(255), - explicitnulldef varchar, - explicitemptystring varchar DEFAULT '', +CREATE TABLE 'Basic' ( + 'id' INTEGER PRIMARY KEY NOT NULL, + 'title' varchar(100) NOT NULL DEFAULT 'hello', + 'description' text DEFAULT '', + 'email' varchar(500), + 'explicitnulldef' varchar, + 'explicitemptystring' varchar DEFAULT '', -- Hello emptytagdef - emptytagdef varchar DEFAULT '', - another_id int(10) DEFAULT '2', - timest timestamp + 'emptytagdef' varchar DEFAULT '', + 'another_id' int(10) DEFAULT 2, + 'timest' timestamp, + FOREIGN KEY ('another_id') REFERENCES 'Another'('id') ); -CREATE INDEX titleindex_Basic ON Basic (title); +CREATE INDEX 'titleindex' ON 'Basic' ('title'); -CREATE UNIQUE INDEX emailuniqueindex_Basic ON Basic (email); +CREATE UNIQUE INDEX 'emailuniqueindex' ON 'Basic' ('email'); -DROP TABLE Another; +CREATE UNIQUE INDEX 'very_long_index_name_on_title_field_which_should_be_truncated_for_various_rdbms' ON 'Basic' ('title'); -CREATE TABLE Another ( - id INTEGER PRIMARY KEY NOT NULL +DROP TABLE 'Another'; + +CREATE TABLE 'Another' ( + 'id' INTEGER PRIMARY KEY NOT NULL, + 'num' numeric(10,2) ); -DROP VIEW IF EXISTS email_list; -CREATE VIEW email_list AS - SELECT email FROM Basic WHERE email IS NOT NULL; +DROP VIEW IF EXISTS 'email_list'; + +CREATE VIEW 'email_list' AS + SELECT email FROM Basic WHERE (email IS NOT NULL); -DROP TRIGGER IF EXISTS foo_trigger; +DROP TRIGGER IF EXISTS 'foo_trigger'; -CREATE TRIGGER foo_trigger after insert on Basic BEGIN update modified=timestamp(); END; +CREATE TRIGGER 'foo_trigger' after insert on 'Basic' BEGIN update modified=timestamp(); END; -DROP TRIGGER IF EXISTS bar_trigger_insert; +DROP TRIGGER IF EXISTS 'bar_trigger_insert'; -CREATE TRIGGER bar_trigger_insert before insert on Basic BEGIN update modified2=timestamp(); END; +CREATE TRIGGER 'bar_trigger_insert' before insert on 'Basic' BEGIN update modified2=timestamp(); END; -DROP TRIGGER IF EXISTS bar_trigger_update; +DROP TRIGGER IF EXISTS 'bar_trigger_update'; -CREATE TRIGGER bar_trigger_update before update on Basic BEGIN update modified2=timestamp(); END; +CREATE TRIGGER 'bar_trigger_update' before update on 'Basic' BEGIN update modified2=timestamp(); END; COMMIT; SQL @@ -89,37 +92,40 @@ my @sql = $sqlt->translate( filename => $xmlfile, ) or die $sqlt->error; -eq_or_diff(\@sql, +eq_or_diff(\@sql, [ - "\n\nBEGIN TRANSACTION", - 'DROP TABLE Basic', - 'CREATE TABLE Basic ( - id INTEGER PRIMARY KEY NOT NULL, - title varchar(100) NOT NULL DEFAULT \'hello\', - description text DEFAULT \'\', - email varchar(255), - explicitnulldef varchar, - explicitemptystring varchar DEFAULT \'\', + 'BEGIN TRANSACTION', + q, + q, + q, + q, + q, + q, + q, + q, + q, + q, + q, + q, + q, + q, + q, 'COMMIT', ], 'SQLite translate in list context matches');