Fix NULL timestamps on MySQL 5.0
We need to declare a nullable TIMESTAMP column as:
removed_on TIMESTAMP NULL DEFAULT NULL
as this is a "feature" of MySQL, per [1].
[1] http://dev.mysql.com/doc/refman/5.0/en/timestamp.html
Change-Id: I6008657c641764d2c7f1873be5f9d5c9c82431f0
Signed-off-by: Shawn O. Pearce <sop@google.com>
diff --git a/src/main/java/com/google/gwtorm/schema/sql/DialectMySQL.java b/src/main/java/com/google/gwtorm/schema/sql/DialectMySQL.java
index d3b77d6..98cf63e 100644
--- a/src/main/java/com/google/gwtorm/schema/sql/DialectMySQL.java
+++ b/src/main/java/com/google/gwtorm/schema/sql/DialectMySQL.java
@@ -25,6 +25,7 @@
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
+import java.sql.Timestamp;
import java.sql.Types;
import java.util.HashSet;
import java.util.Set;
@@ -60,6 +61,19 @@
return r.toString();
}
});
+ types.put(Timestamp.class, new SqlTimestampTypeInfo() {
+ @Override
+ public String getSqlType(ColumnModel col, SqlDialect dialect) {
+ final StringBuilder r = new StringBuilder();
+ r.append(dialect.getSqlTypeName(getSqlTypeConstant()));
+ if (col.isNotNull()) {
+ r.append(" NOT NULL");
+ } else {
+ r.append(" NULL DEFAULT NULL");
+ }
+ return r.toString();
+ }
+ });
}
@Override