diff --git a/common-test/src/main/java/org/apache/sqoop/common/test/db/DatabaseProvider.java b/common-test/src/main/java/org/apache/sqoop/common/test/db/DatabaseProvider.java index f3efa924..f21f5889 100644 --- a/common-test/src/main/java/org/apache/sqoop/common/test/db/DatabaseProvider.java +++ b/common-test/src/main/java/org/apache/sqoop/common/test/db/DatabaseProvider.java @@ -513,4 +513,15 @@ public String getTableFragment(TableName tableName) { */ public void dropDatabase(String databaseName) { } + + /** + * Different databases handle datetimes/timestamps in different ways. + * + * This is the type we should use when creating schemas. + * + * @return A string representing a SQL datatype + */ + public String getDateTimeType() { + return "timestamp"; + } } diff --git a/common-test/src/main/java/org/apache/sqoop/common/test/db/MySQLProvider.java b/common-test/src/main/java/org/apache/sqoop/common/test/db/MySQLProvider.java index 229e8c45..5ae02115 100644 --- a/common-test/src/main/java/org/apache/sqoop/common/test/db/MySQLProvider.java +++ b/common-test/src/main/java/org/apache/sqoop/common/test/db/MySQLProvider.java @@ -116,4 +116,9 @@ public String escapeName(String entity) { public String escapeValue(String entity) { return "\'" + entity + "\'"; } + + @Override + public String getDateTimeType() { + return "datetime"; + } } diff --git a/common-test/src/main/java/org/apache/sqoop/common/test/db/SqlServerProvider.java b/common-test/src/main/java/org/apache/sqoop/common/test/db/SqlServerProvider.java index b8d037f1..b501aec9 100644 --- a/common-test/src/main/java/org/apache/sqoop/common/test/db/SqlServerProvider.java +++ b/common-test/src/main/java/org/apache/sqoop/common/test/db/SqlServerProvider.java @@ -90,4 +90,9 @@ public String getJdbcDriver() { public String escape(String entity) { return "[" + entity + "]"; } + + @Override + public String getDateTimeType() { + return "datetime"; + } } diff --git a/test/src/main/java/org/apache/sqoop/test/data/Cities.java b/test/src/main/java/org/apache/sqoop/test/data/Cities.java index 1703397e..f2c69bb4 100644 --- a/test/src/main/java/org/apache/sqoop/test/data/Cities.java +++ b/test/src/main/java/org/apache/sqoop/test/data/Cities.java @@ -38,7 +38,7 @@ public DataSet createTables() { "id", "id", "int", "country", "varchar(50)", - "some_date", "timestamp", + "some_date", provider.getDateTimeType(), "city", "varchar(50)" ); diff --git a/test/src/main/java/org/apache/sqoop/test/data/UbuntuReleases.java b/test/src/main/java/org/apache/sqoop/test/data/UbuntuReleases.java index 9b218e9e..7b5d9e5a 100644 --- a/test/src/main/java/org/apache/sqoop/test/data/UbuntuReleases.java +++ b/test/src/main/java/org/apache/sqoop/test/data/UbuntuReleases.java @@ -41,7 +41,7 @@ public DataSet createTables() { "id", "int", "code_name", "varchar(64)", "version", "numeric(4,2)", - "release_date", "timestamp" + "release_date", provider.getDateTimeType() ); return this;