Author: mvdb Date: Thu Dec 8 15:39:57 2005 New Revision: 355281 URL: http://svn.apache.org/viewcvs?rev=355281&view=rev Log: Improve axion support. - It doesn't support BIGINT yet, so using LONG instead. (in axion cvs BIGINT is supported). Also reflected this in the docs - Axion doesn't seem to be able to use quotes around fields and tables. - When comments are on, axion chokes, so by default it is turned of now - Updated the TestAxionPlatform to reflect the changes in quoting
Modified: db/ddlutils/trunk/src/doc/src/documentation/content/xdocs/database-support.xml db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/AxionBuilder.java db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/AxionPlatform.java db/ddlutils/trunk/src/test/org/apache/ddlutils/io/TestAgainstAxionDb.java db/ddlutils/trunk/src/test/org/apache/ddlutils/platform/TestAxionPlatform.java Modified: db/ddlutils/trunk/src/doc/src/documentation/content/xdocs/database-support.xml URL: http://svn.apache.org/viewcvs/db/ddlutils/trunk/src/doc/src/documentation/content/xdocs/database-support.xml?rev=355281&r1=355280&r2=355281&view=diff ============================================================================== --- db/ddlutils/trunk/src/doc/src/documentation/content/xdocs/database-support.xml (original) +++ db/ddlutils/trunk/src/doc/src/documentation/content/xdocs/database-support.xml Thu Dec 8 15:39:57 2005 @@ -256,7 +256,7 @@ </tr> <tr> <td>BIGINT</td> - <td>BIGINT</td> + <td>LONG (cvs head has support for BIGINT)</td> <td></td> </tr> <tr> Modified: db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/AxionBuilder.java URL: http://svn.apache.org/viewcvs/db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/AxionBuilder.java?rev=355281&r1=355280&r2=355281&view=diff ============================================================================== --- db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/AxionBuilder.java (original) +++ db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/AxionBuilder.java Thu Dec 8 15:39:57 2005 @@ -38,6 +38,8 @@ public AxionBuilder(PlatformInfo info) { super(info); + info.setUseDelimitedIdentifiers(false); + info.setCommentsSupported(false); } /** Modified: db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/AxionPlatform.java URL: http://svn.apache.org/viewcvs/db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/AxionPlatform.java?rev=355281&r1=355280&r2=355281&view=diff ============================================================================== --- db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/AxionPlatform.java (original) +++ db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/AxionPlatform.java Thu Dec 8 15:39:57 2005 @@ -62,6 +62,7 @@ info.addNativeTypeMapping(Types.SMALLINT, "SHORT"); info.addNativeTypeMapping(Types.STRUCT, "VARBINARY"); info.addNativeTypeMapping(Types.TINYINT, "SHORT"); + info.addNativeTypeMapping(Types.BIGINT, "LONG"); info.addNativeTypeMapping("DATALINK", "VARBINARY"); setSqlBuilder(new AxionBuilder(info)); Modified: db/ddlutils/trunk/src/test/org/apache/ddlutils/io/TestAgainstAxionDb.java URL: http://svn.apache.org/viewcvs/db/ddlutils/trunk/src/test/org/apache/ddlutils/io/TestAgainstAxionDb.java?rev=355281&r1=355280&r2=355281&view=diff ============================================================================== --- db/ddlutils/trunk/src/test/org/apache/ddlutils/io/TestAgainstAxionDb.java (original) +++ db/ddlutils/trunk/src/test/org/apache/ddlutils/io/TestAgainstAxionDb.java Thu Dec 8 15:39:57 2005 @@ -17,6 +17,7 @@ */ import org.apache.ddlutils.TestDatabaseWriterBase; +import org.apache.ddlutils.platform.AxionPlatform; /** * Performs tests against Axion. @@ -64,5 +65,13 @@ public void _testCreation() throws Exception { createDatabase(COLUMN_TEST_SCHEMA); + } + + /** + * @see org.apache.ddlutils.TestDatabaseWriterBase#getDatabaseName() + */ + protected String getDatabaseName() + { + return AxionPlatform.DATABASENAME; } } Modified: db/ddlutils/trunk/src/test/org/apache/ddlutils/platform/TestAxionPlatform.java URL: http://svn.apache.org/viewcvs/db/ddlutils/trunk/src/test/org/apache/ddlutils/platform/TestAxionPlatform.java?rev=355281&r1=355280&r2=355281&view=diff ============================================================================== --- db/ddlutils/trunk/src/test/org/apache/ddlutils/platform/TestAxionPlatform.java (original) +++ db/ddlutils/trunk/src/test/org/apache/ddlutils/platform/TestAxionPlatform.java Thu Dec 8 15:39:57 2005 @@ -41,40 +41,40 @@ public void testColumnTypes() throws Exception { assertEqualsIgnoringWhitespaces( - "DROP TABLE IF EXISTS \"coltype\";\n"+ - "CREATE TABLE \"coltype\"\n"+ + "DROP TABLE IF EXISTS coltype;\n"+ + "CREATE TABLE coltype\n"+ "(\n"+ - " \"COL_ARRAY\" BLOB,\n"+ - " \"COL_BIGINT\" BIGINT,\n"+ - " \"COL_BINARY\" VARBINARY,\n"+ - " \"COL_BIT\" BOOLEAN,\n"+ - " \"COL_BLOB\" BLOB,\n"+ - " \"COL_BOOLEAN\" BOOLEAN,\n"+ - " \"COL_CHAR\" CHAR(15),\n"+ - " \"COL_CLOB\" CLOB,\n"+ - " \"COL_DATALINK\" VARBINARY,\n"+ - " \"COL_DATE\" DATE,\n"+ - " \"COL_DECIMAL\" NUMBER(15,3),\n"+ - " \"COL_DECIMAL_NOSCALE\" NUMBER(15,0),\n"+ - " \"COL_DISTINCT\" VARBINARY,\n"+ - " \"COL_DOUBLE\" FLOAT,\n"+ - " \"COL_FLOAT\" FLOAT,\n"+ - " \"COL_INTEGER\" INTEGER,\n"+ - " \"COL_JAVA_OBJECT\" JAVA_OBJECT,\n"+ - " \"COL_LONGVARBINARY\" VARBINARY,\n"+ - " \"COL_LONGVARCHAR\" VARCHAR,\n"+ - " \"COL_NULL\" VARBINARY,\n"+ - " \"COL_NUMERIC\" NUMBER(15,0),\n"+ - " \"COL_OTHER\" BLOB,\n"+ - " \"COL_REAL\" FLOAT,\n"+ - " \"COL_REF\" VARBINARY,\n"+ - " \"COL_SMALLINT\" SHORT,\n"+ - " \"COL_STRUCT\" VARBINARY,\n"+ - " \"COL_TIME\" TIME,\n"+ - " \"COL_TIMESTAMP\" TIMESTAMP,\n"+ - " \"COL_TINYINT\" SHORT,\n"+ - " \"COL_VARBINARY\" VARBINARY(15),\n"+ - " \"COL_VARCHAR\" VARCHAR(15)\n"+ + " COL_ARRAY BLOB,\n"+ + " COL_BIGINT LONG,\n"+ + " COL_BINARY VARBINARY,\n"+ + " COL_BIT BOOLEAN,\n"+ + " COL_BLOB BLOB,\n"+ + " COL_BOOLEAN BOOLEAN,\n"+ + " COL_CHAR CHAR(15),\n"+ + " COL_CLOB CLOB,\n"+ + " COL_DATALINK VARBINARY,\n"+ + " COL_DATE DATE,\n"+ + " COL_DECIMAL NUMBER(15,3),\n"+ + " COL_DECIMAL_NOSCALE NUMBER(15,0),\n"+ + " COL_DISTINCT VARBINARY,\n"+ + " COL_DOUBLE FLOAT,\n"+ + " COL_FLOAT FLOAT,\n"+ + " COL_INTEGER INTEGER,\n"+ + " COL_JAVA_OBJECT JAVA_OBJECT,\n"+ + " COL_LONGVARBINARY VARBINARY,\n"+ + " COL_LONGVARCHAR VARCHAR,\n"+ + " COL_NULL VARBINARY,\n"+ + " COL_NUMERIC NUMBER(15,0),\n"+ + " COL_OTHER BLOB,\n"+ + " COL_REAL FLOAT,\n"+ + " COL_REF VARBINARY,\n"+ + " COL_SMALLINT SHORT,\n"+ + " COL_STRUCT VARBINARY,\n"+ + " COL_TIME TIME,\n"+ + " COL_TIMESTAMP TIMESTAMP,\n"+ + " COL_TINYINT SHORT,\n"+ + " COL_VARBINARY VARBINARY(15),\n"+ + " COL_VARCHAR VARCHAR(15)\n"+ ");\n", createTestDatabase(COLUMN_TEST_SCHEMA)); } @@ -85,16 +85,16 @@ public void testColumnConstraints() throws Exception { assertEqualsIgnoringWhitespaces( - "DROP TABLE IF EXISTS \"constraints\";\n" + - "CREATE TABLE \"constraints\"\n"+ + "DROP TABLE IF EXISTS constraints;\n" + + "CREATE TABLE constraints\n"+ "(\n"+ - " \"COL_PK\" VARCHAR(32),\n"+ - " \"COL_PK_AUTO_INCR\" INTEGER IDENTITY,\n"+ - " \"COL_NOT_NULL\" VARBINARY(100) NOT NULL,\n"+ - " \"COL_NOT_NULL_DEFAULT\" FLOAT DEFAULT '-2.0' NOT NULL,\n"+ - " \"COL_DEFAULT\" CHAR(4) DEFAULT 'test',\n"+ - " \"COL_AUTO_INCR\" BIGINT IDENTITY,\n"+ - " PRIMARY KEY (\"COL_PK\", \"COL_PK_AUTO_INCR\")\n"+ + " COL_PK VARCHAR(32),\n"+ + " COL_PK_AUTO_INCR INTEGER IDENTITY,\n"+ + " COL_NOT_NULL VARBINARY(100) NOT NULL,\n"+ + " COL_NOT_NULL_DEFAULT FLOAT DEFAULT '-2.0' NOT NULL,\n"+ + " COL_DEFAULT CHAR(4) DEFAULT 'test',\n"+ + " COL_AUTO_INCR LONG IDENTITY,\n"+ + " PRIMARY KEY (COL_PK, COL_PK_AUTO_INCR)\n"+ ");\n", createTestDatabase(COLUMN_CONSTRAINT_TEST_SCHEMA)); } @@ -105,37 +105,37 @@ public void testTableConstraints() throws Exception { assertEqualsIgnoringWhitespaces( - "ALTER TABLE \"table3\" DROP CONSTRAINT \"testfk\";\n"+ - "ALTER TABLE \"table2\" DROP CONSTRAINT \"table2_FK_COL_FK_1_COL_FK_2_table1\";\n"+ - "DROP TABLE IF EXISTS \"table3\";\n"+ - "DROP TABLE IF EXISTS \"table2\";\n"+ - "DROP TABLE IF EXISTS \"table1\";\n"+ - "CREATE TABLE \"table1\"\n"+ + "ALTER TABLE table3 DROP CONSTRAINT testfk;\n"+ + "ALTER TABLE table2 DROP CONSTRAINT table2_FK_COL_FK_1_COL_FK_2_table1;\n"+ + "DROP TABLE IF EXISTS table3;\n"+ + "DROP TABLE IF EXISTS table2;\n"+ + "DROP TABLE IF EXISTS table1;\n"+ + "CREATE TABLE table1\n"+ "(\n"+ - " \"COL_PK_1\" VARCHAR(32) NOT NULL,\n"+ - " \"COL_PK_2\" INTEGER,\n"+ - " \"COL_INDEX_1\" VARBINARY(100) NOT NULL,\n"+ - " \"COL_INDEX_2\" FLOAT NOT NULL,\n"+ - " \"COL_INDEX_3\" CHAR(4),\n"+ - " PRIMARY KEY (\"COL_PK_1\", \"COL_PK_2\")\n"+ + " COL_PK_1 VARCHAR(32) NOT NULL,\n"+ + " COL_PK_2 INTEGER,\n"+ + " COL_INDEX_1 VARBINARY(100) NOT NULL,\n"+ + " COL_INDEX_2 FLOAT 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"+ + "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"+ + " 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"+ + "CREATE TABLE table3\n"+ "(\n"+ - " \"COL_PK\" VARCHAR(16),\n"+ - " \"COL_FK\" INTEGER NOT NULL,\n"+ - " PRIMARY KEY (\"COL_PK\")\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_1_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", + "ALTER TABLE table2 ADD CONSTRAINT table2_FK_COL_FK_1_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)); } }