Fix ORA-01442: column to be modified to NOT NULL is already NOT NULL
[dbsrgits/SQL-Translator.git] / t / 44-xml-to-db2-array.t
index d20ba89..37c69cc 100644 (file)
@@ -34,17 +34,28 @@ my @sql = $sqlt->translate(
 
 my $want = [ 'DROP TABLE Basic;',
 q|CREATE TABLE Basic (
-id INTEGER GENERATED BY DEFAULT AS IDENTITY 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 '',
-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(255),
+  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;',
+
+q|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
@@ -53,4 +64,4 @@ 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();'
 ];
 
-is_deeply(\@sql, $want, 'Got correct DB2 statements in list context');
\ No newline at end of file
+is_deeply(\@sql, $want, 'Got correct DB2 statements in list context');