You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ddlutils-dev@db.apache.org by to...@apache.org on 2006/05/13 14:33:50 UTC

svn commit: r406085 - in /db/ddlutils/trunk/src: java/org/apache/ddlutils/platform/postgresql/PostgreSqlModelReader.java java/org/apache/ddlutils/platform/postgresql/PostgreSqlPlatform.java test/org/apache/ddlutils/dynabean/TestDynaSqlQueries.java

Author: tomdz
Date: Sat May 13 05:33:48 2006
New Revision: 406085

URL: http://svn.apache.org/viewcvs?rev=406085&view=rev
Log:
Fixed postgresql platform, esp. BYTEA and TEXT handling
Fixed query tests

Modified:
    db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/postgresql/PostgreSqlModelReader.java
    db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/postgresql/PostgreSqlPlatform.java
    db/ddlutils/trunk/src/test/org/apache/ddlutils/dynabean/TestDynaSqlQueries.java

Modified: db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/postgresql/PostgreSqlModelReader.java
URL: http://svn.apache.org/viewcvs/db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/postgresql/PostgreSqlModelReader.java?rev=406085&r1=406084&r2=406085&view=diff
==============================================================================
--- db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/postgresql/PostgreSqlModelReader.java (original)
+++ db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/postgresql/PostgreSqlModelReader.java Sat May 13 05:33:48 2006
@@ -103,13 +103,15 @@
             {
                 column.setSize(null);
                 // PostgreSQL reports BYTEA and TEXT as BINARY(-1) and VARCHAR(-1) respectively
+                // Since we cannot currently use the Blob/Clob interface with BYTEA, we instead
+                // map them to LONGVARBINARY/LONGVARCHAR
                 if (column.getTypeCode() == Types.BINARY)
                 {
-                    column.setTypeCode(Types.BLOB);
+                    column.setTypeCode(Types.LONGVARBINARY);
                 }
                 else if (column.getTypeCode() == Types.VARCHAR)
                 {
-                    column.setTypeCode(Types.CLOB);
+                    column.setTypeCode(Types.LONGVARCHAR);
                 }
             }
         }
@@ -139,6 +141,7 @@
                         break;
                     case Types.CHAR:
                     case Types.VARCHAR:
+                    case Types.LONGVARCHAR:
                     case Types.DATE:
                     case Types.TIME:
                     case Types.TIMESTAMP:

Modified: db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/postgresql/PostgreSqlPlatform.java
URL: http://svn.apache.org/viewcvs/db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/postgresql/PostgreSqlPlatform.java?rev=406085&r1=406084&r2=406085&view=diff
==============================================================================
--- db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/postgresql/PostgreSqlPlatform.java (original)
+++ db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/postgresql/PostgreSqlPlatform.java Sat May 13 05:33:48 2006
@@ -61,29 +61,33 @@
         info.setForeignKeysEmbedded(false);
         info.setIndicesEmbedded(false);
 
-        info.addNativeTypeMapping(Types.ARRAY,         "BYTEA",            Types.BINARY);
-        info.addNativeTypeMapping(Types.BINARY,        "BYTEA",            Types.BINARY);
+        info.addNativeTypeMapping(Types.ARRAY,         "BYTEA",            Types.LONGVARBINARY);
+        info.addNativeTypeMapping(Types.BINARY,        "BYTEA",            Types.LONGVARBINARY);
         info.addNativeTypeMapping(Types.BIT,           "BOOLEAN");
-        info.addNativeTypeMapping(Types.BLOB,          "BYTEA",            Types.BINARY);
-        info.addNativeTypeMapping(Types.CLOB,          "TEXT",             Types.VARCHAR);
+        info.addNativeTypeMapping(Types.BLOB,          "BYTEA",            Types.LONGVARBINARY);
+        info.addNativeTypeMapping(Types.CLOB,          "TEXT",             Types.LONGVARCHAR);
         info.addNativeTypeMapping(Types.DECIMAL,       "NUMERIC",          Types.NUMERIC);
-        info.addNativeTypeMapping(Types.DISTINCT,      "BYTEA",            Types.BINARY);
+        info.addNativeTypeMapping(Types.DISTINCT,      "BYTEA",            Types.LONGVARBINARY);
         info.addNativeTypeMapping(Types.DOUBLE,        "DOUBLE PRECISION");
         info.addNativeTypeMapping(Types.FLOAT,         "DOUBLE PRECISION", Types.DOUBLE);
-        info.addNativeTypeMapping(Types.JAVA_OBJECT,   "BYTEA",            Types.BINARY);
-        info.addNativeTypeMapping(Types.LONGVARBINARY, "BYTEA",            Types.BINARY);
-        info.addNativeTypeMapping(Types.LONGVARCHAR,   "TEXT",             Types.VARCHAR);
-        info.addNativeTypeMapping(Types.NULL,          "BYTEA",            Types.BINARY);
-        info.addNativeTypeMapping(Types.OTHER,         "BYTEA",            Types.BINARY);
-        info.addNativeTypeMapping(Types.REF,           "BYTEA",            Types.BINARY);
-        info.addNativeTypeMapping(Types.STRUCT,        "BYTEA",            Types.BINARY);
+        info.addNativeTypeMapping(Types.JAVA_OBJECT,   "BYTEA",            Types.LONGVARBINARY);
+        info.addNativeTypeMapping(Types.LONGVARBINARY, "BYTEA");
+        info.addNativeTypeMapping(Types.LONGVARCHAR,   "TEXT",             Types.LONGVARCHAR);
+        info.addNativeTypeMapping(Types.NULL,          "BYTEA",            Types.LONGVARBINARY);
+        info.addNativeTypeMapping(Types.OTHER,         "BYTEA",            Types.LONGVARBINARY);
+        info.addNativeTypeMapping(Types.REF,           "BYTEA",            Types.LONGVARBINARY);
+        info.addNativeTypeMapping(Types.STRUCT,        "BYTEA",            Types.LONGVARBINARY);
         info.addNativeTypeMapping(Types.TINYINT,       "SMALLINT",         Types.SMALLINT);
-        info.addNativeTypeMapping(Types.VARBINARY,     "BYTEA",            Types.BINARY);
+        info.addNativeTypeMapping(Types.VARBINARY,     "BYTEA",            Types.LONGVARBINARY);
         info.addNativeTypeMapping("BOOLEAN",  "BOOLEAN", "BIT");
-        info.addNativeTypeMapping("DATALINK", "BYTEA",   "BINARY");
+        info.addNativeTypeMapping("DATALINK", "BYTEA",   "LONGVARBINARY");
 
-        // no support for specifying the size for these types
-        info.setHasSize(Types.BINARY, false);
+        info.setDefaultSize(Types.CHAR,    254);
+        info.setDefaultSize(Types.VARCHAR, 254);
+
+        // no support for specifying the size for these types (because they are mapped
+        // to BYTEA which back-maps to BLOB)
+        info.setHasSize(Types.BINARY,    false);
         info.setHasSize(Types.VARBINARY, false);
 
         setSqlBuilder(new PostgreSqlBuilder(this));

Modified: db/ddlutils/trunk/src/test/org/apache/ddlutils/dynabean/TestDynaSqlQueries.java
URL: http://svn.apache.org/viewcvs/db/ddlutils/trunk/src/test/org/apache/ddlutils/dynabean/TestDynaSqlQueries.java?rev=406085&r1=406084&r2=406085&view=diff
==============================================================================
--- db/ddlutils/trunk/src/test/org/apache/ddlutils/dynabean/TestDynaSqlQueries.java (original)
+++ db/ddlutils/trunk/src/test/org/apache/ddlutils/dynabean/TestDynaSqlQueries.java Sat May 13 05:33:48 2006
@@ -31,6 +31,15 @@
 public class TestDynaSqlQueries extends TestDatabaseWriterBase
 {
     /**
+     * {@inheritDoc}
+     */
+    protected void setUp() throws Exception
+    {
+        super.setUp();
+        getPlatform().setDelimitedIdentifierModeOn(false);
+    }
+
+    /**
      * Tests a simple SELECT query.
      */
     public void testSimpleQuery() throws Exception