X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F43xml-to-db2.t;h=02a7bfd0d49caaac29571b1188279f3fbcc65ee5;hb=3910f24828cc4aade90168adc7a99b284211b0aa;hp=8a430b6fea895f6e02ab7072cef310d8fdd666e1;hpb=5cb666c086d808c39b90d3b22ac4541caaf4e808;p=dbsrgits%2FSQL-Translator.git diff --git a/t/43xml-to-db2.t b/t/43xml-to-db2.t index 8a430b6..02a7bfd 100644 --- a/t/43xml-to-db2.t +++ b/t/43xml-to-db2.t @@ -4,12 +4,12 @@ use strict; use FindBin qw/$Bin/; use Test::More; use Test::SQL::Translator; +use Test::Differences; use Test::Exception; use Data::Dumper; use SQL::Translator; use SQL::Translator::Schema::Constants; - BEGIN { maybe_plan(1, 'SQL::Translator::Parser::XML::SQLFairy', 'SQL::Translator::Producer::DB2'); @@ -20,7 +20,7 @@ my $xmlfile = "$Bin/data/xml/schema.xml"; my $sqlt; $sqlt = SQL::Translator->new( no_comments => 1, - show_warnings => 1, + show_warnings => 0, add_drop_table => 1, ); @@ -32,26 +32,38 @@ my $sql = $sqlt->translate( filename => $xmlfile, ) or die $sqlt->error; -is($sql, << "SQL"); +eq_or_diff($sql, << "SQL"); DROP TABLE Basic; CREATE TABLE Basic ( -id INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 1, INCREMENT BY 1) NOT NULL, -title VARCHAR(100) NOT NULL DEFAULT 'hello', -description VARCHAR(0) DEFAULT '', -email VARCHAR(255), -explicitnulldef VARCHAR(0), -explicitemptystring VARCHAR(0) DEFAULT '', -emptytagdef VARCHAR(0) DEFAULT '', -timest TIMESTAMP, -CONSTRAINT emailuniqueindex UNIQUE (email) , - PRIMARY KEY(id) + id INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 1, INCREMENT BY 1) NOT NULL, + title VARCHAR(100) NOT NULL DEFAULT 'hello', + description VARCHAR(0) DEFAULT '', + email VARCHAR(500), + explicitnulldef VARCHAR(0), + explicitemptystring VARCHAR(0) DEFAULT '', + emptytagdef VARCHAR(0) DEFAULT '', + another_id INTEGER DEFAULT 2, + timest TIMESTAMP, + PRIMARY KEY (id), + CONSTRAINT emailuniqueindex UNIQUE (email) +); + +DROP TABLE Another; + +CREATE TABLE Another ( + id INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 1, INCREMENT BY 1) NOT NULL, + PRIMARY KEY (id) ); +ALTER TABLE Basic ADD FOREIGN KEY (another_id) REFERENCES Another(id); + CREATE INDEX titleindex ON Basic ( title ); CREATE VIEW email_list AS -SELECT email FROM Basic WHERE email IS NOT NULL; +SELECT email FROM Basic WHERE (email IS NOT NULL); CREATE TRIGGER foo_trigger after insert ON Basic REFERENCING OLD AS oldrow NEW AS newrow FOR EACH ROW MODE DB2SQL update modified=timestamp(); + +CREATE TRIGGER bar_trigger before insert, update ON Basic REFERENCING OLD AS oldrow NEW AS newrow FOR EACH ROW MODE DB2SQL update modified2=timestamp(); SQL