Return-Path: Delivered-To: apmail-db-ddlutils-dev-archive@www.apache.org Received: (qmail 19205 invoked from network); 3 Nov 2008 22:49:28 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 3 Nov 2008 22:49:28 -0000 Received: (qmail 72511 invoked by uid 500); 3 Nov 2008 22:49:34 -0000 Delivered-To: apmail-db-ddlutils-dev-archive@db.apache.org Received: (qmail 72495 invoked by uid 500); 3 Nov 2008 22:49:34 -0000 Mailing-List: contact ddlutils-dev-help@db.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: ddlutils-dev@db.apache.org Delivered-To: mailing list ddlutils-dev@db.apache.org Received: (qmail 72468 invoked by uid 500); 3 Nov 2008 22:49:33 -0000 Delivered-To: apmail-db-ddlutils-commits@db.apache.org Received: (qmail 72462 invoked by uid 99); 3 Nov 2008 22:49:33 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 03 Nov 2008 14:49:33 -0800 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 03 Nov 2008 22:48:25 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id BE206238889D; Mon, 3 Nov 2008 14:48:36 -0800 (PST) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r710206 - in /db/ddlutils/trunk/src: main/java/org/apache/ddlutils/platform/postgresql/PostgreSqlBuilder.java test/java/org/apache/ddlutils/io/TestConstraints.java test/java/org/apache/ddlutils/platform/TestPostgresqlPlatform.java Date: Mon, 03 Nov 2008 22:48:36 -0000 To: ddlutils-commits@db.apache.org From: tomdz@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20081103224836.BE206238889D@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: tomdz Date: Mon Nov 3 14:48:36 2008 New Revision: 710206 URL: http://svn.apache.org/viewvc?rev=710206&view=rev Log: Fix for DDLUTILS-199: Postgress AutoIncrement fails Modified: db/ddlutils/trunk/src/main/java/org/apache/ddlutils/platform/postgresql/PostgreSqlBuilder.java db/ddlutils/trunk/src/test/java/org/apache/ddlutils/io/TestConstraints.java db/ddlutils/trunk/src/test/java/org/apache/ddlutils/platform/TestPostgresqlPlatform.java Modified: db/ddlutils/trunk/src/main/java/org/apache/ddlutils/platform/postgresql/PostgreSqlBuilder.java URL: http://svn.apache.org/viewvc/db/ddlutils/trunk/src/main/java/org/apache/ddlutils/platform/postgresql/PostgreSqlBuilder.java?rev=710206&r1=710205&r2=710206&view=diff ============================================================================== --- db/ddlutils/trunk/src/main/java/org/apache/ddlutils/platform/postgresql/PostgreSqlBuilder.java (original) +++ db/ddlutils/trunk/src/main/java/org/apache/ddlutils/platform/postgresql/PostgreSqlBuilder.java Mon Nov 3 14:48:36 2008 @@ -133,7 +133,13 @@ protected void writeColumnAutoIncrementStmt(Table table, Column column) throws IOException { print("UNIQUE DEFAULT nextval('"); + if (getPlatform().isDelimitedIdentifierModeOn()) { + print("\""); + } print(getConstraintName(null, table, column.getName(), "seq")); + if (getPlatform().isDelimitedIdentifierModeOn()) { + print("\""); + } print("')"); } @@ -160,7 +166,13 @@ result.append(", "); } result.append("currval('"); + if (getPlatform().isDelimitedIdentifierModeOn()) { + result.append("\""); + } result.append(getConstraintName(null, table, columns[idx].getName(), "seq")); + if (getPlatform().isDelimitedIdentifierModeOn()) { + result.append("\""); + } result.append("') AS "); result.append(getDelimitedIdentifier(columns[idx].getName())); } Modified: db/ddlutils/trunk/src/test/java/org/apache/ddlutils/io/TestConstraints.java URL: http://svn.apache.org/viewvc/db/ddlutils/trunk/src/test/java/org/apache/ddlutils/io/TestConstraints.java?rev=710206&r1=710205&r2=710206&view=diff ============================================================================== --- db/ddlutils/trunk/src/test/java/org/apache/ddlutils/io/TestConstraints.java (original) +++ db/ddlutils/trunk/src/test/java/org/apache/ddlutils/io/TestConstraints.java Mon Nov 3 14:48:36 2008 @@ -284,6 +284,37 @@ } /** + * Test for DDLUTILS-199. + */ + public void testAutoIncrementPrimaryKeyWithUnderscoreInName() + { + // we need special catering for Sybase which does not support identity for INTEGER columns + final String modelXml; + + if (SybasePlatform.DATABASENAME.equals(getPlatform().getName())) + { + modelXml = "\n"+ + "\n"+ + " \n"+ + " \n"+ + "
\n"+ + "
"; + } + else + { + modelXml = "\n"+ + "\n"+ + " \n"+ + " \n"+ + "
\n"+ + "
"; + } + + performConstraintsTest(modelXml, + getPlatformInfo().getIdentityStatusReadingSupported()); + } + + /** * Tests a simple index. */ public void testIndex() Modified: db/ddlutils/trunk/src/test/java/org/apache/ddlutils/platform/TestPostgresqlPlatform.java URL: http://svn.apache.org/viewvc/db/ddlutils/trunk/src/test/java/org/apache/ddlutils/platform/TestPostgresqlPlatform.java?rev=710206&r1=710205&r2=710206&view=diff ============================================================================== --- db/ddlutils/trunk/src/test/java/org/apache/ddlutils/platform/TestPostgresqlPlatform.java (original) +++ db/ddlutils/trunk/src/test/java/org/apache/ddlutils/platform/TestPostgresqlPlatform.java Mon Nov 3 14:48:36 2008 @@ -96,11 +96,11 @@ "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_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"+ + " \"COL_AUTO_INCR\" BIGINT UNIQUE DEFAULT nextval('\"constraints_COL_AUTO_INCR_seq\"'),\n"+ " PRIMARY KEY (\"COL_PK\", \"COL_PK_AUTO_INCR\")\n"+ ");\n", getConstraintTestDatabaseCreationSql());