You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by jo...@apache.org on 2013/08/07 23:39:22 UTC
svn commit: r1511508 - in /cayenne/main/trunk:
docs/doc/src/main/resources/RELEASE-NOTES.txt
framework/cayenne-core-unpublished/src/main/java/org/apache/cayenne/dba/mysql/MySQLAdapter.java
Author: johnthuss
Date: Wed Aug 7 21:39:22 2013
New Revision: 1511508
URL: http://svn.apache.org/r1511508
Log:
CAY-1862 MySQL - allow specifying a length for TIMESTAMP and TIME columns
Modified:
cayenne/main/trunk/docs/doc/src/main/resources/RELEASE-NOTES.txt
cayenne/main/trunk/framework/cayenne-core-unpublished/src/main/java/org/apache/cayenne/dba/mysql/MySQLAdapter.java
Modified: cayenne/main/trunk/docs/doc/src/main/resources/RELEASE-NOTES.txt
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/docs/doc/src/main/resources/RELEASE-NOTES.txt?rev=1511508&r1=1511507&r2=1511508&view=diff
==============================================================================
--- cayenne/main/trunk/docs/doc/src/main/resources/RELEASE-NOTES.txt (original)
+++ cayenne/main/trunk/docs/doc/src/main/resources/RELEASE-NOTES.txt Wed Aug 7 21:39:22 2013
@@ -86,6 +86,7 @@ CAY-1836 Firebird Adapter
CAY-1838 Deprecate EntityResolver.indexedByClassProperty
CAY-1840 Conditionally log slow / long-running queries
CAY-1844 Configuration for maximum time to wait for an available DB connection
+CAY-1862 MySQL - allow specifying a length for TIMESTAMP and TIME columns
Bug Fixes:
Modified: cayenne/main/trunk/framework/cayenne-core-unpublished/src/main/java/org/apache/cayenne/dba/mysql/MySQLAdapter.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-core-unpublished/src/main/java/org/apache/cayenne/dba/mysql/MySQLAdapter.java?rev=1511508&r1=1511507&r2=1511508&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-core-unpublished/src/main/java/org/apache/cayenne/dba/mysql/MySQLAdapter.java (original)
+++ cayenne/main/trunk/framework/cayenne-core-unpublished/src/main/java/org/apache/cayenne/dba/mysql/MySQLAdapter.java Wed Aug 7 21:39:22 2013
@@ -315,7 +315,7 @@ public class MySQLAdapter extends JdbcAd
sqlBuffer.append(' ').append(type);
// append size and precision (if applicable)s
- if (TypesMapping.supportsLength(column.getType())) {
+ if (typeSupportsLength(column.getType())) {
int len = column.getMaxLength();
int scale = TypesMapping.isDecimal(column.getType()) ? column.getScale() : -1;
@@ -343,6 +343,18 @@ public class MySQLAdapter extends JdbcAd
}
}
+ private boolean typeSupportsLength(int type) {
+ // As of MySQL 5.6.4 the "TIMESTAMP" and "TIME" types support length, which is the number of decimal places for fractional seconds
+ // http://dev.mysql.com/doc/refman/5.6/en/fractional-seconds.html
+ switch (type) {
+ case Types.TIMESTAMP:
+ case Types.TIME:
+ return true;
+ default:
+ return TypesMapping.supportsLength(type);
+ }
+ }
+
@Override
public MergerFactory mergerFactory() {
return new MySQLMergerFactory();