Modified:
db/ddlutils/trunk/src/test/org/apache/ddlutils/platform/TestOracle8Platform.java
URL:
http://svn.apache.org/viewcvs/db/ddlutils/trunk/src/test/org/apache/ddlutils/platform/TestOracle8Platform.java?rev=289996&r1=289995&r2=289996&view=diff
==============================================================================
---
db/ddlutils/trunk/src/test/org/apache/ddlutils/platform/TestOracle8Platform.java
(original)
+++
db/ddlutils/trunk/src/test/org/apache/ddlutils/platform/TestOracle8Platform.java
Sun Sep 18 16:00:38 2005
@@ -41,41 +41,113 @@
public void testColumnTypes() throws Exception
{
assertEqualsIgnoringWhitespaces(
- "DROP TABLE coltype CASCADE CONSTRAINTS;\n"+
- "CREATE TABLE coltype\n"+
+ "DROP TABLE \"coltype\" CASCADE CONSTRAINTS;\n"+
+ "CREATE TABLE \"coltype\"\n"+
"(\n"+
- " COL_ARRAY BLOB,\n"+
- " COL_BIGINT NUMBER(38,0),\n"+
- " COL_BINARY RAW(254),\n"+
- " COL_BIT NUMBER(1,0),\n"+
- " COL_BLOB BLOB,\n"+
- " COL_BOOLEAN NUMBER(1,0),\n"+
- " COL_CHAR CHAR(15),\n"+
- " COL_CLOB CLOB,\n"+
- " COL_DATALINK BLOB,\n"+
- " COL_DATE DATE,\n"+
- " COL_DECIMAL NUMBER(15,3),\n"+
- " COL_DECIMAL_NOSCALE NUMBER(15,0),\n"+
- " COL_DISTINCT BLOB,\n"+
- " COL_DOUBLE NUMBER(38),\n"+
- " COL_FLOAT NUMBER(38),\n"+
- " COL_INTEGER NUMBER(20,0),\n"+
- " COL_JAVA_OBJECT BLOB,\n"+
- " COL_LONGVARBINARY BLOB,\n"+
- " COL_LONGVARCHAR CLOB,\n"+
- " COL_NULL BLOB,\n"+
- " COL_NUMERIC NUMBER(15,0),\n"+
- " COL_OTHER BLOB,\n"+
- " COL_REAL NUMBER(18),\n"+
- " COL_REF BLOB,\n"+
- " COL_SMALLINT NUMBER(5,0),\n"+
- " COL_STRUCT BLOB,\n"+
- " COL_TIME DATE,\n"+
- " COL_TIMESTAMP DATE,\n"+
- " COL_TINYINT NUMBER(3,0),\n"+
- " COL_VARBINARY RAW(15),\n"+
- " COL_VARCHAR VARCHAR2(15)\n"+
+ " \"COL_ARRAY\" BLOB,\n"+
+ " \"COL_BIGINT\" NUMBER(38,0),\n"+
+ " \"COL_BINARY\" RAW(254),\n"+
+ " \"COL_BIT\" NUMBER(1,0),\n"+
+ " \"COL_BLOB\" BLOB,\n"+
+ " \"COL_BOOLEAN\" NUMBER(1,0),\n"+
+ " \"COL_CHAR\" CHAR(15),\n"+
+ " \"COL_CLOB\" CLOB,\n"+
+ " \"COL_DATALINK\" BLOB,\n"+
+ " \"COL_DATE\" DATE,\n"+
+ " \"COL_DECIMAL\" NUMBER(15,3),\n"+
+ " \"COL_DECIMAL_NOSCALE\" NUMBER(15,0),\n"+
+ " \"COL_DISTINCT\" BLOB,\n"+
+ " \"COL_DOUBLE\" NUMBER(38),\n"+
+ " \"COL_FLOAT\" NUMBER(38),\n"+
+ " \"COL_INTEGER\" NUMBER(20,0),\n"+
+ " \"COL_JAVA_OBJECT\" BLOB,\n"+
+ " \"COL_LONGVARBINARY\" BLOB,\n"+
+ " \"COL_LONGVARCHAR\" CLOB,\n"+
+ " \"COL_NULL\" BLOB,\n"+
+ " \"COL_NUMERIC\" NUMBER(15,0),\n"+
+ " \"COL_OTHER\" BLOB,\n"+
+ " \"COL_REAL\" NUMBER(18),\n"+
+ " \"COL_REF\" BLOB,\n"+
+ " \"COL_SMALLINT\" NUMBER(5,0),\n"+
+ " \"COL_STRUCT\" BLOB,\n"+
+ " \"COL_TIME\" DATE,\n"+
+ " \"COL_TIMESTAMP\" DATE,\n"+
+ " \"COL_TINYINT\" NUMBER(3,0),\n"+
+ " \"COL_VARBINARY\" RAW(15),\n"+
+ " \"COL_VARCHAR\" VARCHAR2(15)\n"+
");\n",
- createTestDatabase());
+ createTestDatabase(COLUMN_TEST_SCHEMA));
+ }
+
+ /**
+ * Tests the column constraints.
+ */
+ public void testColumnConstraints() throws Exception
+ {
+ assertEqualsIgnoringWhitespaces(
+ "DROP TABLE \"constraints\" CASCADE CONSTRAINTS;\n" +
+ "DROP TRIGGER \"trg_constraints_L_PK_AUTO_INCR\";\n"+
+ "DROP SEQUENCE \"seq_constraints_L_PK_AUTO_INCR\";\n" +
+ "DROP TRIGGER \"trg_constraints_COL_AUTO_INCR\";\n"+
+ "DROP SEQUENCE \"seq_constraints_COL_AUTO_INCR\";\n" +
+ "CREATE SEQUENCE \"seq_constraints_L_PK_AUTO_INCR\";\n" +
+ "CREATE SEQUENCE \"seq_constraints_COL_AUTO_INCR\";\n" +
+ "CREATE TABLE \"constraints\"\n"+
+ "(\n"+
+ " \"COL_PK\" VARCHAR2(32),\n"+
+ " \"COL_PK_AUTO_INCR\" NUMBER(20,0),\n"+
+ " \"COL_NOT_NULL\" RAW(100) NOT NULL,\n"+
+ " \"COL_NOT_NULL_DEFAULT\" NUMBER(38) DEFAULT '-2.0' NOT
NULL,\n"+
+ " \"COL_DEFAULT\" CHAR(4) DEFAULT 'test',\n"+
+ " \"COL_AUTO_INCR\" NUMBER(38,0),\n"+
+ " PRIMARY KEY (\"COL_PK\", \"COL_PK_AUTO_INCR\")\n"+
+ ");\n"+
+ "CREATE OR REPLACE TRIGGER \"trg_constraints_L_PK_AUTO_INCR\"
BEFORE INSERT ON \"constraints\" FOR EACH ROW\n"+
+ "BEGIN\n"+
+ " SELECT \"seq_constraints_L_PK_AUTO_INCR\".nextval INTO
:new.\"COL_PK_AUTO_INCR\" FROM dual;\n"+
+ "END;\n"+
+ "CREATE OR REPLACE TRIGGER \"trg_constraints_COL_AUTO_INCR\"
BEFORE INSERT ON \"constraints\" FOR EACH ROW\n"+
+ "BEGIN\n"+
+ " SELECT \"seq_constraints_COL_AUTO_INCR\".nextval INTO
:new.\"COL_AUTO_INCR\" FROM dual;\n"+
+ "END;\n",
+ createTestDatabase(COLUMN_CONSTRAINT_TEST_SCHEMA));
+ }
+
+ /**
+ * Tests the table constraints.
+ */
+ public void testTableConstraints() throws Exception
+ {
+ assertEqualsIgnoringWhitespaces(
+ "DROP TABLE \"table3\" CASCADE CONSTRAINTS;\n"+
+ "DROP TABLE \"table2\" CASCADE CONSTRAINTS;\n"+
+ "DROP TABLE \"table1\" CASCADE CONSTRAINTS;\n"+
+ "CREATE TABLE \"table1\"\n"+
+ "(\n"+
+ " \"COL_PK_1\" VARCHAR2(32) NOT NULL,\n"+
+ " \"COL_PK_2\" NUMBER(20,0),\n"+
+ " \"COL_INDEX_1\" RAW(100) NOT NULL,\n"+
+ " \"COL_INDEX_2\" NUMBER(38) NOT NULL,\n"+
+ " \"COL_INDEX_3\" CHAR(4),\n"+
+ " PRIMARY KEY (\"COL_PK_1\", \"COL_PK_2\")\n"+
+ ");\n"+
+ "CREATE INDEX \"testindex1\" ON \"table1\" (\"COL_INDEX_2\");\n"+
+ "CREATE UNIQUE INDEX \"testindex2\" ON \"table1\"
(\"COL_INDEX_3\", \"COL_INDEX_1\");\n"+
+ "CREATE TABLE \"table2\"\n"+
+ "(\n"+
+ " \"COL_PK\" NUMBER(20,0),\n"+
+ " \"COL_FK_1\" NUMBER(20,0),\n"+
+ " \"COL_FK_2\" VARCHAR2(32) NOT NULL,\n"+
+ " PRIMARY KEY (\"COL_PK\")\n"+
+ ");\n"+
+ "CREATE TABLE \"table3\"\n"+
+ "(\n"+
+ " \"COL_PK\" VARCHAR2(16),\n"+
+ " \"COL_FK\" NUMBER(20,0) NOT NULL,\n"+
+ " PRIMARY KEY (\"COL_PK\")\n"+
+ ");\n"+
+ "ALTER TABLE \"table2\" ADD CONSTRAINT
\"table2_FK_COL_F_OL_FK_2_table1\" FOREIGN KEY (\"COL_FK_1\", \"COL_FK_2\")
REFERENCES \"table1\" (\"COL_PK_2\", \"COL_PK_1\");\n"+
+ "ALTER TABLE \"table3\" ADD CONSTRAINT \"testfk\" FOREIGN KEY
(\"COL_FK\") REFERENCES \"table2\" (\"COL_PK\");\n",
+ createTestDatabase(TABLE_CONSTRAINT_TEST_SCHEMA));
}
}
Modified:
db/ddlutils/trunk/src/test/org/apache/ddlutils/platform/TestOracle9Platform.java
URL:
http://svn.apache.org/viewcvs/db/ddlutils/trunk/src/test/org/apache/ddlutils/platform/TestOracle9Platform.java?rev=289996&r1=289995&r2=289996&view=diff
==============================================================================
---
db/ddlutils/trunk/src/test/org/apache/ddlutils/platform/TestOracle9Platform.java
(original)
+++
db/ddlutils/trunk/src/test/org/apache/ddlutils/platform/TestOracle9Platform.java
Sun Sep 18 16:00:38 2005
@@ -41,41 +41,113 @@
public void testColumnTypes() throws Exception
{
assertEqualsIgnoringWhitespaces(
- "DROP TABLE coltype CASCADE CONSTRAINTS;\n"+
- "CREATE TABLE coltype\n"+
+ "DROP TABLE \"coltype\" CASCADE CONSTRAINTS;\n"+
+ "CREATE TABLE \"coltype\"\n"+
"(\n"+
- " COL_ARRAY BLOB,\n"+
- " COL_BIGINT NUMBER(38,0),\n"+
- " COL_BINARY RAW(254),\n"+
- " COL_BIT NUMBER(1,0),\n"+
- " COL_BLOB BLOB,\n"+
- " COL_BOOLEAN NUMBER(1,0),\n"+
- " COL_CHAR CHAR(15),\n"+
- " COL_CLOB CLOB,\n"+
- " COL_DATALINK BLOB,\n"+
- " COL_DATE DATE,\n"+
- " COL_DECIMAL NUMBER(15,3),\n"+
- " COL_DECIMAL_NOSCALE NUMBER(15,0),\n"+
- " COL_DISTINCT BLOB,\n"+
- " COL_DOUBLE NUMBER(38),\n"+
- " COL_FLOAT NUMBER(38),\n"+
- " COL_INTEGER NUMBER(20,0),\n"+
- " COL_JAVA_OBJECT BLOB,\n"+
- " COL_LONGVARBINARY BLOB,\n"+
- " COL_LONGVARCHAR CLOB,\n"+
- " COL_NULL BLOB,\n"+
- " COL_NUMERIC NUMBER(15,0),\n"+
- " COL_OTHER BLOB,\n"+
- " COL_REAL NUMBER(18),\n"+
- " COL_REF BLOB,\n"+
- " COL_SMALLINT NUMBER(5,0),\n"+
- " COL_STRUCT BLOB,\n"+
- " COL_TIME DATE,\n"+
- " COL_TIMESTAMP TIMESTAMP,\n"+
- " COL_TINYINT NUMBER(3,0),\n"+
- " COL_VARBINARY RAW(15),\n"+
- " COL_VARCHAR VARCHAR2(15)\n"+
+ " \"COL_ARRAY\" BLOB,\n"+
+ " \"COL_BIGINT\" NUMBER(38,0),\n"+
+ " \"COL_BINARY\" RAW(254),\n"+
+ " \"COL_BIT\" NUMBER(1,0),\n"+
+ " \"COL_BLOB\" BLOB,\n"+
+ " \"COL_BOOLEAN\" NUMBER(1,0),\n"+
+ " \"COL_CHAR\" CHAR(15),\n"+
+ " \"COL_CLOB\" CLOB,\n"+
+ " \"COL_DATALINK\" BLOB,\n"+
+ " \"COL_DATE\" DATE,\n"+
+ " \"COL_DECIMAL\" NUMBER(15,3),\n"+
+ " \"COL_DECIMAL_NOSCALE\" NUMBER(15,0),\n"+
+ " \"COL_DISTINCT\" BLOB,\n"+
+ " \"COL_DOUBLE\" NUMBER(38),\n"+
+ " \"COL_FLOAT\" NUMBER(38),\n"+
+ " \"COL_INTEGER\" NUMBER(20,0),\n"+
+ " \"COL_JAVA_OBJECT\" BLOB,\n"+
+ " \"COL_LONGVARBINARY\" BLOB,\n"+
+ " \"COL_LONGVARCHAR\" CLOB,\n"+
+ " \"COL_NULL\" BLOB,\n"+
+ " \"COL_NUMERIC\" NUMBER(15,0),\n"+
+ " \"COL_OTHER\" BLOB,\n"+
+ " \"COL_REAL\" NUMBER(18),\n"+
+ " \"COL_REF\" BLOB,\n"+
+ " \"COL_SMALLINT\" NUMBER(5,0),\n"+
+ " \"COL_STRUCT\" BLOB,\n"+
+ " \"COL_TIME\" DATE,\n"+
+ " \"COL_TIMESTAMP\" TIMESTAMP,\n"+
+ " \"COL_TINYINT\" NUMBER(3,0),\n"+
+ " \"COL_VARBINARY\" RAW(15),\n"+
+ " \"COL_VARCHAR\" VARCHAR2(15)\n"+
");\n",
- createTestDatabase());
+ createTestDatabase(COLUMN_TEST_SCHEMA));
+ }
+
+ /**
+ * Tests the column constraints.
+ */
+ public void testColumnConstraints() throws Exception
+ {
+ assertEqualsIgnoringWhitespaces(
+ "DROP TABLE \"constraints\" CASCADE CONSTRAINTS;\n" +
+ "DROP TRIGGER \"trg_constraints_L_PK_AUTO_INCR\";\n"+
+ "DROP SEQUENCE \"seq_constraints_L_PK_AUTO_INCR\";\n" +
+ "DROP TRIGGER \"trg_constraints_COL_AUTO_INCR\";\n"+
+ "DROP SEQUENCE \"seq_constraints_COL_AUTO_INCR\";\n" +
+ "CREATE SEQUENCE \"seq_constraints_L_PK_AUTO_INCR\";\n" +
+ "CREATE SEQUENCE \"seq_constraints_COL_AUTO_INCR\";\n" +
+ "CREATE TABLE \"constraints\"\n"+
+ "(\n"+
+ " \"COL_PK\" VARCHAR2(32),\n"+
+ " \"COL_PK_AUTO_INCR\" NUMBER(20,0),\n"+
+ " \"COL_NOT_NULL\" RAW(100) NOT NULL,\n"+
+ " \"COL_NOT_NULL_DEFAULT\" NUMBER(38) DEFAULT '-2.0' NOT
NULL,\n"+
+ " \"COL_DEFAULT\" CHAR(4) DEFAULT 'test',\n"+
+ " \"COL_AUTO_INCR\" NUMBER(38,0),\n"+
+ " PRIMARY KEY (\"COL_PK\", \"COL_PK_AUTO_INCR\")\n"+
+ ");\n"+
+ "CREATE OR REPLACE TRIGGER \"trg_constraints_L_PK_AUTO_INCR\"
BEFORE INSERT ON \"constraints\" FOR EACH ROW\n"+
+ "BEGIN\n"+
+ " SELECT \"seq_constraints_L_PK_AUTO_INCR\".nextval INTO
:new.\"COL_PK_AUTO_INCR\" FROM dual;\n"+
+ "END;\n"+
+ "CREATE OR REPLACE TRIGGER \"trg_constraints_COL_AUTO_INCR\"
BEFORE INSERT ON \"constraints\" FOR EACH ROW\n"+
+ "BEGIN\n"+
+ " SELECT \"seq_constraints_COL_AUTO_INCR\".nextval INTO
:new.\"COL_AUTO_INCR\" FROM dual;\n"+
+ "END;\n",
+ createTestDatabase(COLUMN_CONSTRAINT_TEST_SCHEMA));
+ }
+
+ /**
+ * Tests the table constraints.
+ */
+ public void testTableConstraints() throws Exception
+ {
+ assertEqualsIgnoringWhitespaces(
+ "DROP TABLE \"table3\" CASCADE CONSTRAINTS;\n"+
+ "DROP TABLE \"table2\" CASCADE CONSTRAINTS;\n"+
+ "DROP TABLE \"table1\" CASCADE CONSTRAINTS;\n"+
+ "CREATE TABLE \"table1\"\n"+
+ "(\n"+
+ " \"COL_PK_1\" VARCHAR2(32) NOT NULL,\n"+
+ " \"COL_PK_2\" NUMBER(20,0),\n"+
+ " \"COL_INDEX_1\" RAW(100) NOT NULL,\n"+
+ " \"COL_INDEX_2\" NUMBER(38) NOT NULL,\n"+
+ " \"COL_INDEX_3\" CHAR(4),\n"+
+ " PRIMARY KEY (\"COL_PK_1\", \"COL_PK_2\")\n"+
+ ");\n"+
+ "CREATE INDEX \"testindex1\" ON \"table1\" (\"COL_INDEX_2\");\n"+
+ "CREATE UNIQUE INDEX \"testindex2\" ON \"table1\"
(\"COL_INDEX_3\", \"COL_INDEX_1\");\n"+
+ "CREATE TABLE \"table2\"\n"+
+ "(\n"+
+ " \"COL_PK\" NUMBER(20,0),\n"+
+ " \"COL_FK_1\" NUMBER(20,0),\n"+
+ " \"COL_FK_2\" VARCHAR2(32) NOT NULL,\n"+
+ " PRIMARY KEY (\"COL_PK\")\n"+
+ ");\n"+
+ "CREATE TABLE \"table3\"\n"+
+ "(\n"+
+ " \"COL_PK\" VARCHAR2(16),\n"+
+ " \"COL_FK\" NUMBER(20,0) NOT NULL,\n"+
+ " PRIMARY KEY (\"COL_PK\")\n"+
+ ");\n"+
+ "ALTER TABLE \"table2\" ADD CONSTRAINT
\"table2_FK_COL_F_OL_FK_2_table1\" FOREIGN KEY (\"COL_FK_1\", \"COL_FK_2\")
REFERENCES \"table1\" (\"COL_PK_2\", \"COL_PK_1\");\n"+
+ "ALTER TABLE \"table3\" ADD CONSTRAINT \"testfk\" FOREIGN KEY
(\"COL_FK\") REFERENCES \"table2\" (\"COL_PK\");\n",
+ createTestDatabase(TABLE_CONSTRAINT_TEST_SCHEMA));
}
}
Modified:
db/ddlutils/trunk/src/test/org/apache/ddlutils/platform/TestPostgresqlPlatform.java
URL:
http://svn.apache.org/viewcvs/db/ddlutils/trunk/src/test/org/apache/ddlutils/platform/TestPostgresqlPlatform.java?rev=289996&r1=289995&r2=289996&view=diff
==============================================================================
---
db/ddlutils/trunk/src/test/org/apache/ddlutils/platform/TestPostgresqlPlatform.java
(original)
+++
db/ddlutils/trunk/src/test/org/apache/ddlutils/platform/TestPostgresqlPlatform.java
Sun Sep 18 16:00:38 2005
@@ -41,41 +41,105 @@
public void testColumnTypes() throws Exception
{
assertEqualsIgnoringWhitespaces(
- "DROP TABLE coltype CASCADE;\n"+
- "CREATE TABLE coltype\n"+
+ "DROP TABLE \"coltype\" CASCADE;\n"+
+ "CREATE TABLE \"coltype\"\n"+
"(\n"+
- " COL_ARRAY BYTEA,\n"+
- " COL_BIGINT BIGINT,\n"+
- " COL_BINARY BYTEA,\n"+
- " COL_BIT BOOLEAN,\n"+
- " COL_BLOB BYTEA,\n"+
- " COL_BOOLEAN BOOLEAN,\n"+
- " COL_CHAR CHAR(15),\n"+
- " COL_CLOB TEXT,\n"+
- " COL_DATALINK BYTEA,\n"+
- " COL_DATE DATE,\n"+
- " COL_DECIMAL NUMERIC(15,3),\n"+
- " COL_DECIMAL_NOSCALE NUMERIC(15,0),\n"+
- " COL_DISTINCT BYTEA,\n"+
- " COL_DOUBLE DOUBLE PRECISION,\n"+
- " COL_FLOAT DOUBLE PRECISION,\n"+
- " COL_INTEGER INTEGER,\n"+
- " COL_JAVA_OBJECT BYTEA,\n"+
- " COL_LONGVARBINARY BYTEA,\n"+
- " COL_LONGVARCHAR TEXT,\n"+
- " COL_NULL BYTEA,\n"+
- " COL_NUMERIC NUMERIC(15,0),\n"+
- " COL_OTHER BYTEA,\n"+
- " COL_REAL REAL,\n"+
- " COL_REF BYTEA,\n"+
- " COL_SMALLINT SMALLINT,\n"+
- " COL_STRUCT BYTEA,\n"+
- " COL_TIME TIME,\n"+
- " COL_TIMESTAMP TIMESTAMP,\n"+
- " COL_TINYINT SMALLINT,\n"+
- " COL_VARBINARY BYTEA,\n"+
- " COL_VARCHAR VARCHAR(15)\n"+
+ " \"COL_ARRAY\" BYTEA,\n"+
+ " \"COL_BIGINT\" BIGINT,\n"+
+ " \"COL_BINARY\" BYTEA,\n"+
+ " \"COL_BIT\" BOOLEAN,\n"+
+ " \"COL_BLOB\" BYTEA,\n"+
+ " \"COL_BOOLEAN\" BOOLEAN,\n"+
+ " \"COL_CHAR\" CHAR(15),\n"+
+ " \"COL_CLOB\" TEXT,\n"+
+ " \"COL_DATALINK\" BYTEA,\n"+
+ " \"COL_DATE\" DATE,\n"+
+ " \"COL_DECIMAL\" NUMERIC(15,3),\n"+
+ " \"COL_DECIMAL_NOSCALE\" NUMERIC(15,0),\n"+
+ " \"COL_DISTINCT\" BYTEA,\n"+
+ " \"COL_DOUBLE\" DOUBLE PRECISION,\n"+
+ " \"COL_FLOAT\" DOUBLE PRECISION,\n"+
+ " \"COL_INTEGER\" INTEGER,\n"+
+ " \"COL_JAVA_OBJECT\" BYTEA,\n"+
+ " \"COL_LONGVARBINARY\" BYTEA,\n"+
+ " \"COL_LONGVARCHAR\" TEXT,\n"+
+ " \"COL_NULL\" BYTEA,\n"+
+ " \"COL_NUMERIC\" NUMERIC(15,0),\n"+
+ " \"COL_OTHER\" BYTEA,\n"+
+ " \"COL_REAL\" REAL,\n"+
+ " \"COL_REF\" BYTEA,\n"+
+ " \"COL_SMALLINT\" SMALLINT,\n"+
+ " \"COL_STRUCT\" BYTEA,\n"+
+ " \"COL_TIME\" TIME,\n"+
+ " \"COL_TIMESTAMP\" TIMESTAMP,\n"+
+ " \"COL_TINYINT\" SMALLINT,\n"+
+ " \"COL_VARBINARY\" BYTEA,\n"+
+ " \"COL_VARCHAR\" VARCHAR(15)\n"+
");\n",
- createTestDatabase());
+ createTestDatabase(COLUMN_TEST_SCHEMA));
+ }
+
+ /**
+ * Tests the column constraints.
+ */
+ public void testColumnConstraints() throws Exception
+ {
+ assertEqualsIgnoringWhitespaces(
+ "DROP TABLE \"constraints\" CASCADE;\n" +
+ "DROP SEQUENCE \"constraints_COL_K_AUTO_INCR_seq\";\n" +
+ "DROP SEQUENCE \"constraints_COL_AUTO_INCR_seq\";\n" +
+ "CREATE SEQUENCE \"constraints_COL_K_AUTO_INCR_seq\";\n" +
+ "CREATE SEQUENCE \"constraints_COL_AUTO_INCR_seq\";\n" +
+ "CREATE TABLE \"constraints\"\n"+
+ "(\n"+
+ " \"COL_PK\" VARCHAR(32),\n"+
+ " \"COL_PK_AUTO_INCR\" INTEGER UNIQUE DEFAULT
nextval(\"constraints_COL_K_AUTO_INCR_seq\"),\n"+
+ " \"COL_NOT_NULL\" BYTEA NOT NULL,\n"+
+ " \"COL_NOT_NULL_DEFAULT\" DOUBLE PRECISION DEFAULT '-2.0' NOT
NULL,\n"+
+ " \"COL_DEFAULT\" CHAR(4) DEFAULT 'test',\n"+
+ " \"COL_AUTO_INCR\" BIGINT UNIQUE DEFAULT
nextval(\"constraints_COL_AUTO_INCR_seq\"),\n"+
+ " PRIMARY KEY (\"COL_PK\", \"COL_PK_AUTO_INCR\")\n"+
+ ");\n",
+ createTestDatabase(COLUMN_CONSTRAINT_TEST_SCHEMA));
+ }
+
+ /**
+ * Tests the table constraints.
+ */
+ public void testTableConstraints() throws Exception
+ {
+ assertEqualsIgnoringWhitespaces(
+ "ALTER TABLE \"table3\" DROP CONSTRAINT \"testfk\";\n"+
+ "ALTER TABLE \"table2\" DROP CONSTRAINT
\"table2_FK_COL_F_COL_FK_2_table1\";\n"+
+ "DROP TABLE \"table3\" CASCADE;\n"+
+ "DROP TABLE \"table2\" CASCADE;\n"+
+ "DROP TABLE \"table1\" CASCADE;\n"+
+ "CREATE TABLE \"table1\"\n"+
+ "(\n"+
+ " \"COL_PK_1\" VARCHAR(32) NOT NULL,\n"+
+ " \"COL_PK_2\" INTEGER,\n"+
+ " \"COL_INDEX_1\" BYTEA NOT NULL,\n"+
+ " \"COL_INDEX_2\" DOUBLE PRECISION NOT NULL,\n"+
+ " \"COL_INDEX_3\" CHAR(4),\n"+
+ " PRIMARY KEY (\"COL_PK_1\", \"COL_PK_2\")\n"+
+ ");\n"+
+ "CREATE INDEX \"testindex1\" ON \"table1\" (\"COL_INDEX_2\");\n"+
+ "CREATE UNIQUE INDEX \"testindex2\" ON \"table1\"
(\"COL_INDEX_3\", \"COL_INDEX_1\");\n"+
+ "CREATE TABLE \"table2\"\n"+
+ "(\n"+
+ " \"COL_PK\" INTEGER,\n"+
+ " \"COL_FK_1\" INTEGER,\n"+
+ " \"COL_FK_2\" VARCHAR(32) NOT NULL,\n"+
+ " PRIMARY KEY (\"COL_PK\")\n"+
+ ");\n"+
+ "CREATE TABLE \"table3\"\n"+
+ "(\n"+
+ " \"COL_PK\" VARCHAR(16),\n"+
+ " \"COL_FK\" INTEGER NOT NULL,\n"+
+ " PRIMARY KEY (\"COL_PK\")\n"+
+ ");\n"+
+ "ALTER TABLE \"table2\" ADD CONSTRAINT
\"table2_FK_COL_F_COL_FK_2_table1\" FOREIGN KEY (\"COL_FK_1\", \"COL_FK_2\")
REFERENCES \"table1\" (\"COL_PK_2\", \"COL_PK_1\");\n"+
+ "ALTER TABLE \"table3\" ADD CONSTRAINT \"testfk\" FOREIGN KEY
(\"COL_FK\") REFERENCES \"table2\" (\"COL_PK\");\n",
+ createTestDatabase(TABLE_CONSTRAINT_TEST_SCHEMA));
}
}
Modified:
db/ddlutils/trunk/src/test/org/apache/ddlutils/platform/TestSapDbPlatform.java
URL:
http://svn.apache.org/viewcvs/db/ddlutils/trunk/src/test/org/apache/ddlutils/platform/TestSapDbPlatform.java?rev=289996&r1=289995&r2=289996&view=diff
==============================================================================
---
db/ddlutils/trunk/src/test/org/apache/ddlutils/platform/TestSapDbPlatform.java
(original)
+++
db/ddlutils/trunk/src/test/org/apache/ddlutils/platform/TestSapDbPlatform.java
Sun Sep 18 16:00:38 2005
@@ -41,41 +41,101 @@
public void testColumnTypes() throws Exception
{
assertEqualsIgnoringWhitespaces(
- "DROP TABLE coltype CASCADE;\n"+
- "CREATE TABLE coltype\n"+
+ "DROP TABLE \"coltype\" CASCADE;\n"+
+ "CREATE TABLE \"coltype\"\n"+
"(\n"+
- " COL_ARRAY LONG BYTE,\n"+
- " COL_BIGINT FIXED(38,0),\n"+
- " COL_BINARY LONG BYTE,\n"+
- " COL_BIT BOOLEAN,\n"+
- " COL_BLOB LONG BYTE,\n"+
- " COL_BOOLEAN BOOLEAN,\n"+
- " COL_CHAR CHAR(15),\n"+
- " COL_CLOB LONG,\n"+
- " COL_DATALINK LONG BYTE,\n"+
- " COL_DATE DATE,\n"+
- " COL_DECIMAL DECIMAL(15,3),\n"+
- " COL_DECIMAL_NOSCALE DECIMAL(15,0),\n"+
- " COL_DISTINCT LONG BYTE,\n"+
- " COL_DOUBLE DOUBLE PRECISION,\n"+
- " COL_FLOAT DOUBLE PRECISION,\n"+
- " COL_INTEGER INTEGER,\n"+
- " COL_JAVA_OBJECT LONG BYTE,\n"+
- " COL_LONGVARBINARY LONG BYTE,\n"+
- " COL_LONGVARCHAR LONG VARCHAR,\n"+
- " COL_NULL LONG BYTE,\n"+
- " COL_NUMERIC DECIMAL(15,0),\n"+
- " COL_OTHER LONG BYTE,\n"+
- " COL_REAL REAL,\n"+
- " COL_REF LONG BYTE,\n"+
- " COL_SMALLINT SMALLINT,\n"+
- " COL_STRUCT LONG BYTE,\n"+
- " COL_TIME TIME,\n"+
- " COL_TIMESTAMP TIMESTAMP,\n"+
- " COL_TINYINT SMALLINT,\n"+
- " COL_VARBINARY LONG BYTE,\n"+
- " COL_VARCHAR VARCHAR(15)\n"+
+ " \"COL_ARRAY\" LONG BYTE,\n"+
+ " \"COL_BIGINT\" FIXED(38,0),\n"+
+ " \"COL_BINARY\" LONG BYTE,\n"+
+ " \"COL_BIT\" BOOLEAN,\n"+
+ " \"COL_BLOB\" LONG BYTE,\n"+
+ " \"COL_BOOLEAN\" BOOLEAN,\n"+
+ " \"COL_CHAR\" CHAR(15),\n"+
+ " \"COL_CLOB\" LONG,\n"+
+ " \"COL_DATALINK\" LONG BYTE,\n"+
+ " \"COL_DATE\" DATE,\n"+
+ " \"COL_DECIMAL\" DECIMAL(15,3),\n"+
+ " \"COL_DECIMAL_NOSCALE\" DECIMAL(15,0),\n"+
+ " \"COL_DISTINCT\" LONG BYTE,\n"+
+ " \"COL_DOUBLE\" DOUBLE PRECISION,\n"+
+ " \"COL_FLOAT\" DOUBLE PRECISION,\n"+
+ " \"COL_INTEGER\" INTEGER,\n"+
+ " \"COL_JAVA_OBJECT\" LONG BYTE,\n"+
+ " \"COL_LONGVARBINARY\" LONG BYTE,\n"+
+ " \"COL_LONGVARCHAR\" LONG VARCHAR,\n"+
+ " \"COL_NULL\" LONG BYTE,\n"+
+ " \"COL_NUMERIC\" DECIMAL(15,0),\n"+
+ " \"COL_OTHER\" LONG BYTE,\n"+
+ " \"COL_REAL\" REAL,\n"+
+ " \"COL_REF\" LONG BYTE,\n"+
+ " \"COL_SMALLINT\" SMALLINT,\n"+
+ " \"COL_STRUCT\" LONG BYTE,\n"+
+ " \"COL_TIME\" TIME,\n"+
+ " \"COL_TIMESTAMP\" TIMESTAMP,\n"+
+ " \"COL_TINYINT\" SMALLINT,\n"+
+ " \"COL_VARBINARY\" LONG BYTE,\n"+
+ " \"COL_VARCHAR\" VARCHAR(15)\n"+
");\n",
- createTestDatabase());
+ createTestDatabase(COLUMN_TEST_SCHEMA));
+ }
+
+ /**
+ * Tests the column constraints.
+ */
+ public void testColumnConstraints() throws Exception
+ {
+ assertEqualsIgnoringWhitespaces(
+ "DROP TABLE \"constraints\" CASCADE;\n" +
+ "CREATE TABLE \"constraints\"\n"+
+ "(\n"+
+ " \"COL_PK\" VARCHAR(32),\n"+
+ " \"COL_PK_AUTO_INCR\" INTEGER DEFAULT SERIAL(1),\n"+
+ " \"COL_NOT_NULL\" LONG BYTE NOT NULL,\n"+
+ " \"COL_NOT_NULL_DEFAULT\" DOUBLE PRECISION DEFAULT '-2.0' NOT
NULL,\n"+
+ " \"COL_DEFAULT\" CHAR(4) DEFAULT 'test',\n"+
+ " \"COL_AUTO_INCR\" FIXED(38,0) DEFAULT SERIAL(1),\n"+
+ " PRIMARY KEY (\"COL_PK\", \"COL_PK_AUTO_INCR\")\n"+
+ ");\n",
+ createTestDatabase(COLUMN_CONSTRAINT_TEST_SCHEMA));
+ }
+
+ /**
+ * Tests the table constraints.
+ */
+ public void testTableConstraints() throws Exception
+ {
+ assertEqualsIgnoringWhitespaces(
+ "ALTER TABLE \"table3\" DROP CONSTRAINT \"testfk\";\n"+
+ "ALTER TABLE \"table2\" DROP CONSTRAINT
\"table2_FK_COL_FK_COL_FK_2_table1\";\n"+
+ "DROP TABLE \"table3\" CASCADE;\n"+
+ "DROP TABLE \"table2\" CASCADE;\n"+
+ "DROP TABLE \"table1\" CASCADE;\n"+
+ "CREATE TABLE \"table1\"\n"+
+ "(\n"+
+ " \"COL_PK_1\" VARCHAR(32) NOT NULL,\n"+
+ " \"COL_PK_2\" INTEGER,\n"+
+ " \"COL_INDEX_1\" LONG BYTE NOT NULL,\n"+
+ " \"COL_INDEX_2\" DOUBLE PRECISION NOT NULL,\n"+
+ " \"COL_INDEX_3\" CHAR(4),\n"+
+ " PRIMARY KEY (\"COL_PK_1\", \"COL_PK_2\")\n"+
+ ");\n"+
+ "CREATE INDEX \"testindex1\" ON \"table1\" (\"COL_INDEX_2\");\n"+
+ "CREATE UNIQUE INDEX \"testindex2\" ON \"table1\"
(\"COL_INDEX_3\", \"COL_INDEX_1\");\n"+
+ "CREATE TABLE \"table2\"\n"+
+ "(\n"+
+ " \"COL_PK\" INTEGER,\n"+
+ " \"COL_FK_1\" INTEGER,\n"+
+ " \"COL_FK_2\" VARCHAR(32) NOT NULL,\n"+
+ " PRIMARY KEY (\"COL_PK\")\n"+
+ ");\n"+
+ "CREATE TABLE \"table3\"\n"+
+ "(\n"+
+ " \"COL_PK\" VARCHAR(16),\n"+
+ " \"COL_FK\" INTEGER NOT NULL,\n"+
+ " PRIMARY KEY (\"COL_PK\")\n"+
+ ");\n"+
+ "ALTER TABLE \"table2\" ADD CONSTRAINT
\"table2_FK_COL_FK_COL_FK_2_table1\" FOREIGN KEY (\"COL_FK_1\", \"COL_FK_2\")
REFERENCES \"table1\" (\"COL_PK_2\", \"COL_PK_1\");\n"+
+ "ALTER TABLE \"table3\" ADD CONSTRAINT \"testfk\" FOREIGN KEY
(\"COL_FK\") REFERENCES \"table2\" (\"COL_PK\");\n",
+ createTestDatabase(TABLE_CONSTRAINT_TEST_SCHEMA));
}
}
Modified:
db/ddlutils/trunk/src/test/org/apache/ddlutils/platform/TestSybasePlatform.java
URL:
http://svn.apache.org/viewcvs/db/ddlutils/trunk/src/test/org/apache/ddlutils/platform/TestSybasePlatform.java?rev=289996&r1=289995&r2=289996&view=diff
==============================================================================
---
db/ddlutils/trunk/src/test/org/apache/ddlutils/platform/TestSybasePlatform.java
(original)
+++
db/ddlutils/trunk/src/test/org/apache/ddlutils/platform/TestSybasePlatform.java
Sun Sep 18 16:00:38 2005
@@ -41,44 +41,132 @@
public void testColumnTypes() throws Exception
{
assertEqualsIgnoringWhitespaces(
- "IF EXISTS (SELECT 1 FROM sysobjects WHERE type = 'U' AND name =
'coltype')\n"+
+ "SET quoted_identifier on;\n"+
+ "SET quoted_identifier on;\n"+
+ "IF EXISTS (SELECT 1 FROM sysobjects WHERE type = 'U' AND name =
\"coltype\")\n"+
"BEGIN\n"+
- " DROP TABLE coltype\n"+
+ " DROP TABLE \"coltype\"\n"+
"END;\n"+
- "CREATE TABLE coltype\n"+
+ "SET quoted_identifier on;\n"+
+ "CREATE TABLE \"coltype\"\n"+
"(\n"+
- " COL_ARRAY IMAGE,\n"+
- " COL_BIGINT DECIMAL(19,0),\n"+
- " COL_BINARY BINARY,\n"+
- " COL_BIT BIT,\n"+
- " COL_BLOB IMAGE,\n"+
- " COL_BOOLEAN BIT,\n"+
- " COL_CHAR CHAR(15),\n"+
- " COL_CLOB TEXT,\n"+
- " COL_DATALINK IMAGE,\n"+
- " COL_DATE DATETIME,\n"+
- " COL_DECIMAL DECIMAL(15,3),\n"+
- " COL_DECIMAL_NOSCALE DECIMAL(15,0),\n"+
- " COL_DISTINCT IMAGE,\n"+
- " COL_DOUBLE DOUBLE PRECISION,\n"+
- " COL_FLOAT DOUBLE PRECISION,\n"+
- " COL_INTEGER INT,\n"+
- " COL_JAVA_OBJECT IMAGE,\n"+
- " COL_LONGVARBINARY IMAGE,\n"+
- " COL_LONGVARCHAR TEXT,\n"+
- " COL_NULL IMAGE,\n"+
- " COL_NUMERIC NUMERIC(15,0),\n"+
- " COL_OTHER IMAGE,\n"+
- " COL_REAL REAL,\n"+
- " COL_REF IMAGE,\n"+
- " COL_SMALLINT SMALLINT,\n"+
- " COL_STRUCT IMAGE,\n"+
- " COL_TIME DATETIME,\n"+
- " COL_TIMESTAMP DATETIME,\n"+
- " COL_TINYINT SMALLINT,\n"+
- " COL_VARBINARY VARBINARY(15),\n"+
- " COL_VARCHAR VARCHAR(15)\n"+
+ " \"COL_ARRAY\" IMAGE,\n"+
+ " \"COL_BIGINT\" DECIMAL(19,0),\n"+
+ " \"COL_BINARY\" BINARY,\n"+
+ " \"COL_BIT\" BIT,\n"+
+ " \"COL_BLOB\" IMAGE,\n"+
+ " \"COL_BOOLEAN\" BIT,\n"+
+ " \"COL_CHAR\" CHAR(15),\n"+
+ " \"COL_CLOB\" TEXT,\n"+
+ " \"COL_DATALINK\" IMAGE,\n"+
+ " \"COL_DATE\" DATETIME,\n"+
+ " \"COL_DECIMAL\" DECIMAL(15,3),\n"+
+ " \"COL_DECIMAL_NOSCALE\" DECIMAL(15,0),\n"+
+ " \"COL_DISTINCT\" IMAGE,\n"+
+ " \"COL_DOUBLE\" DOUBLE PRECISION,\n"+
+ " \"COL_FLOAT\" DOUBLE PRECISION,\n"+
+ " \"COL_INTEGER\" INT,\n"+
+ " \"COL_JAVA_OBJECT\" IMAGE,\n"+
+ " \"COL_LONGVARBINARY\" IMAGE,\n"+
+ " \"COL_LONGVARCHAR\" TEXT,\n"+
+ " \"COL_NULL\" IMAGE,\n"+
+ " \"COL_NUMERIC\" NUMERIC(15,0),\n"+
+ " \"COL_OTHER\" IMAGE,\n"+
+ " \"COL_REAL\" REAL,\n"+
+ " \"COL_REF\" IMAGE,\n"+
+ " \"COL_SMALLINT\" SMALLINT,\n"+
+ " \"COL_STRUCT\" IMAGE,\n"+
+ " \"COL_TIME\" DATETIME,\n"+
+ " \"COL_TIMESTAMP\" DATETIME,\n"+
+ " \"COL_TINYINT\" SMALLINT,\n"+
+ " \"COL_VARBINARY\" VARBINARY(15),\n"+
+ " \"COL_VARCHAR\" VARCHAR(15)\n"+
");\n",
- createTestDatabase());
+ createTestDatabase(COLUMN_TEST_SCHEMA));
+ }
+
+ /**
+ * Tests the column constraints.
+ */
+ public void testColumnConstraints() throws Exception
+ {
+ // this is not valid sql as a table can have only one identity column
at most
+ assertEqualsIgnoringWhitespaces(
+ "SET quoted_identifier on;\n"+
+ "SET quoted_identifier on;\n"+
+ "IF EXISTS (SELECT 1 FROM sysobjects WHERE type = 'U' AND name =
\"constraints\")\n"+
+ "BEGIN\n"+
+ " DROP TABLE \"constraints\"\n"+
+ "END;\n"+
+ "SET quoted_identifier on;\n"+
+ "CREATE TABLE \"constraints\"\n"+
+ "(\n"+
+ " \"COL_PK\" VARCHAR(32),\n"+
+ " \"COL_PK_AUTO_INCR\" INT IDENTITY,\n"+
+ " \"COL_NOT_NULL\" BINARY(100) NOT NULL,\n"+
+ " \"COL_NOT_NULL_DEFAULT\" DOUBLE PRECISION DEFAULT '-2.0' NOT
NULL,\n"+
+ " \"COL_DEFAULT\" CHAR(4) DEFAULT 'test',\n"+
+ " \"COL_AUTO_INCR\" DECIMAL(19,0) IDENTITY,\n"+
+ " PRIMARY KEY (\"COL_PK\", \"COL_PK_AUTO_INCR\")\n"+
+ ");\n",
+ createTestDatabase(COLUMN_CONSTRAINT_TEST_SCHEMA));
+ }
+
+ /**
+ * Tests the table constraints.
+ */
+ public void testTableConstraints() throws Exception
+ {
+ assertEqualsIgnoringWhitespaces(
+ "SET quoted_identifier on;\n"+
+ "ALTER TABLE \"table3\" DROP CONSTRAINT \"testfk\";\n"+
+ "SET quoted_identifier on;\n"+
+ "ALTER TABLE \"table2\" DROP CONSTRAINT
\"table2_FK_COL_F_OL_FK_2_table1\";\n"+
+ "SET quoted_identifier on;\n"+
+ "SET quoted_identifier on;\n"+
+ "IF EXISTS (SELECT 1 FROM sysobjects WHERE type = 'U' AND name =
\"table3\")\n"+
+ "BEGIN\n"+
+ " DROP TABLE \"table3\"\n"+
+ "END;\n"+
+ "SET quoted_identifier on;\n"+
+ "IF EXISTS (SELECT 1 FROM sysobjects WHERE type = 'U' AND name =
\"table2\")\n"+
+ "BEGIN\n"+
+ " DROP TABLE \"table2\"\n"+
+ "END;\n"+
+ "SET quoted_identifier on;\n"+
+ "IF EXISTS (SELECT 1 FROM sysobjects WHERE type = 'U' AND name =
\"table1\")\n"+
+ "BEGIN\n"+
+ " DROP TABLE \"table1\"\n"+
+ "END;\n"+
+ "SET quoted_identifier on;\n"+
+ "CREATE TABLE \"table1\"\n"+
+ "(\n"+
+ " \"COL_PK_1\" VARCHAR(32) NOT NULL,\n"+
+ " \"COL_PK_2\" INT,\n"+
+ " \"COL_INDEX_1\" BINARY(100) NOT NULL,\n"+
+ " \"COL_INDEX_2\" DOUBLE PRECISION NOT NULL,\n"+
+ " \"COL_INDEX_3\" CHAR(4),\n"+
+ " PRIMARY KEY (\"COL_PK_1\", \"COL_PK_2\")\n"+
+ ");\n"+
+ "CREATE INDEX \"testindex1\" ON \"table1\" (\"COL_INDEX_2\");\n"+
+ "CREATE UNIQUE INDEX \"testindex2\" ON \"table1\"
(\"COL_INDEX_3\", \"COL_INDEX_1\");\n"+
+ "SET quoted_identifier on;\n"+
+ "CREATE TABLE \"table2\"\n"+
+ "(\n"+
+ " \"COL_PK\" INT,\n"+
+ " \"COL_FK_1\" INT,\n"+
+ " \"COL_FK_2\" VARCHAR(32) NOT NULL,\n"+
+ " PRIMARY KEY (\"COL_PK\")\n"+
+ ");\n"+
+ "SET quoted_identifier on;\n"+
+ "CREATE TABLE \"table3\"\n"+
+ "(\n"+
+ " \"COL_PK\" VARCHAR(16),\n"+
+ " \"COL_FK\" INT NOT NULL,\n"+
+ " PRIMARY KEY (\"COL_PK\")\n"+
+ ");\n"+
+ "ALTER TABLE \"table2\" ADD CONSTRAINT
\"table2_FK_COL_F_OL_FK_2_table1\" FOREIGN KEY (\"COL_FK_1\", \"COL_FK_2\")
REFERENCES \"table1\" (\"COL_PK_2\", \"COL_PK_1\");\n"+
+ "ALTER TABLE \"table3\" ADD CONSTRAINT \"testfk\" FOREIGN KEY
(\"COL_FK\") REFERENCES \"table2\" (\"COL_PK\");\n",
+ createTestDatabase(TABLE_CONSTRAINT_TEST_SCHEMA));
}
}