From 8b2ac6c5fb35190603f1e70d0692c48bdf520a0a Mon Sep 17 00:00:00 2001 From: chenson42 Date: Fri, 17 Oct 2014 15:30:32 +0000 Subject: [PATCH] 0002018: Translate sql server's getdate() function to current_timestamp when used as a default value in building ddl for other platforms --- .../db/platform/AbstractJdbcDdlReader.java | 24 ++++++++++++------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/symmetric-jdbc/src/main/java/org/jumpmind/db/platform/AbstractJdbcDdlReader.java b/symmetric-jdbc/src/main/java/org/jumpmind/db/platform/AbstractJdbcDdlReader.java index 2253aa290c..ca092d6ea8 100644 --- a/symmetric-jdbc/src/main/java/org/jumpmind/db/platform/AbstractJdbcDdlReader.java +++ b/symmetric-jdbc/src/main/java/org/jumpmind/db/platform/AbstractJdbcDdlReader.java @@ -868,12 +868,26 @@ protected Collection readColumns(DatabaseMetaDataWrapper metaData, Strin columnNames.add(column.getName()); columns.add(column); } + + generizizeDefaultValuesAndUpdatePlatformColumn(column); } return columns; } finally { close(columnData); } } + + protected void generizizeDefaultValuesAndUpdatePlatformColumn(Column column) { + PlatformColumn platformColumn = column.findPlatformColumn(platform.getName()); + platformColumn.setDefaultValue(column.getDefaultValue()); + + /* + * Translate from platform specific functions to ansi sql functions + */ + if ("getdate()".equalsIgnoreCase(column.getDefaultValue())) { + column.setDefaultValue("CURRENT_TIMESTAMP"); + } + } protected Integer mapUnknownJdbcTypeForColumn(Map values) { return null; @@ -902,15 +916,7 @@ protected Column readColumn(DatabaseMetaDataWrapper metaData, Map