From 1fcf76616860e8ee92c93f8464d77a314770f6d6 Mon Sep 17 00:00:00 2001 From: chenson42 Date: Thu, 28 Jun 2012 12:16:54 +0000 Subject: [PATCH] working on making dbexport consistent. --- .../symmetric/db/AbstractTriggerTemplate.java | 4 +--- .../db/platform/AbstractDatabasePlatform.java | 16 +++++++--------- .../db/platform/mssql/MsSqlDdlBuilder.java | 2 +- .../db/platform/mssql/MsSqlDdlReader.java | 2 +- 4 files changed, 10 insertions(+), 14 deletions(-) diff --git a/symmetric/symmetric-core/src/main/java/org/jumpmind/symmetric/db/AbstractTriggerTemplate.java b/symmetric/symmetric-core/src/main/java/org/jumpmind/symmetric/db/AbstractTriggerTemplate.java index 20cb0cb346..184163c673 100644 --- a/symmetric/symmetric-core/src/main/java/org/jumpmind/symmetric/db/AbstractTriggerTemplate.java +++ b/symmetric/symmetric-core/src/main/java/org/jumpmind/symmetric/db/AbstractTriggerTemplate.java @@ -585,15 +585,13 @@ protected ColumnString buildColumnString(String origTableAlias, String tableAlia case Types.VARCHAR: templateToUse = stringColumnTemplate; break; - case Types.LONGVARCHAR: - templateToUse = stringColumnTemplate; - break; case ColumnTypes.SQLXML: templateToUse = xmlColumnTemplate; break; case Types.ARRAY: templateToUse = arrayColumnTemplate; break; + case Types.LONGVARCHAR: case Types.CLOB: if (isOld && symmetricDialect.needsToSelectLobData()) { templateToUse = emptyColumnTemplate; diff --git a/symmetric/symmetric-db/src/main/java/org/jumpmind/db/platform/AbstractDatabasePlatform.java b/symmetric/symmetric-db/src/main/java/org/jumpmind/db/platform/AbstractDatabasePlatform.java index 12295683a8..ceada6fe3e 100644 --- a/symmetric/symmetric-db/src/main/java/org/jumpmind/db/platform/AbstractDatabasePlatform.java +++ b/symmetric/symmetric-db/src/main/java/org/jumpmind/db/platform/AbstractDatabasePlatform.java @@ -527,9 +527,15 @@ protected java.util.Date parseDate(int type, String value, boolean useVariableDa throw new RuntimeException(e); } } + + public boolean isLob(int type) { + return isClob(type) || isBlob(type); + } public boolean isClob(int type) { - return type == Types.CLOB || type == Types.LONGVARCHAR; + return type == Types.CLOB || type == Types.LONGVARCHAR || type == ColumnTypes.LONGNVARCHAR|| + // SQL-Server ntext binary type + type == -10; } public boolean isBlob(int type) { @@ -577,14 +583,6 @@ public boolean isStoresUpperCaseIdentifiers() { return storesUpperCaseIdentifiers; } - public boolean isLob(int type) { - return type == Types.CLOB || type == Types.BLOB || type == Types.BINARY - || type == Types.VARBINARY || type == Types.LONGVARBINARY - || type == ColumnTypes.LONGNVARCHAR || - // SQL-Server ntext binary type - type == -10; - } - public Database readDatabaseFromXml(String filePath, boolean alterCaseToMatchDatabaseDefaultCase) { InputStream is = null; File file = new File(filePath); diff --git a/symmetric/symmetric-db/src/main/java/org/jumpmind/db/platform/mssql/MsSqlDdlBuilder.java b/symmetric/symmetric-db/src/main/java/org/jumpmind/db/platform/mssql/MsSqlDdlBuilder.java index c9c0948f13..3bd47626eb 100644 --- a/symmetric/symmetric-db/src/main/java/org/jumpmind/db/platform/mssql/MsSqlDdlBuilder.java +++ b/symmetric/symmetric-db/src/main/java/org/jumpmind/db/platform/mssql/MsSqlDdlBuilder.java @@ -78,7 +78,7 @@ public MsSqlDdlBuilder() { databaseInfo.addNativeTypeMapping(Types.INTEGER, "INT"); databaseInfo.addNativeTypeMapping(Types.JAVA_OBJECT, "IMAGE", Types.LONGVARBINARY); databaseInfo.addNativeTypeMapping(Types.LONGVARBINARY, "IMAGE"); - databaseInfo.addNativeTypeMapping(Types.LONGVARCHAR, "TEXT", Types.CLOB); + databaseInfo.addNativeTypeMapping(Types.LONGVARCHAR, "TEXT", Types.LONGVARCHAR); databaseInfo.addNativeTypeMapping(Types.NULL, "IMAGE", Types.LONGVARBINARY); databaseInfo.addNativeTypeMapping(Types.OTHER, "IMAGE", Types.LONGVARBINARY); databaseInfo.addNativeTypeMapping(Types.REF, "IMAGE", Types.LONGVARBINARY); diff --git a/symmetric/symmetric-jdbc/src/main/java/org/jumpmind/db/platform/mssql/MsSqlDdlReader.java b/symmetric/symmetric-jdbc/src/main/java/org/jumpmind/db/platform/mssql/MsSqlDdlReader.java index 7e4a264e0c..1f165bf5df 100644 --- a/symmetric/symmetric-jdbc/src/main/java/org/jumpmind/db/platform/mssql/MsSqlDdlReader.java +++ b/symmetric/symmetric-jdbc/src/main/java/org/jumpmind/db/platform/mssql/MsSqlDdlReader.java @@ -138,7 +138,7 @@ private boolean existsPKWithName(DatabaseMetaDataWrapper metaData, Table table, protected Integer mapUnknownJdbcTypeForColumn(Map values) { String typeName = (String) values.get("TYPE_NAME"); if (typeName != null && typeName.toLowerCase().startsWith("text")) { - return Types.CLOB; + return Types.LONGVARCHAR; } else { return super.mapUnknownJdbcTypeForColumn(values); }