You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2012/11/09 16:12:58 UTC
svn commit: r1407484 - in /cayenne/main/trunk: docs/doc/src/main/resources/
framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/
framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/
Author: aadamchik
Date: Fri Nov 9 15:12:57 2012
New Revision: 1407484
URL: http://svn.apache.org/viewvc?rev=1407484&view=rev
Log:
CAY-1761 cdbimport improvements: DbLoader must reverse engineer PK auto-increment state
Modified:
cayenne/main/trunk/docs/doc/src/main/resources/RELEASE-NOTES.txt
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DbLoader.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/DbLoaderTest.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=1407484&r1=1407483&r2=1407484&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 Fri Nov 9 15:12:57 2012
@@ -25,6 +25,7 @@ CAY-1753 remove light-superclass.vm clas
CAY-1754 Modeler suggested URL for SQLServer should start with 'jdbc:sqlserver:' instead of 'jdbc:microsoft:sqlserver:'
CAY-1759 cdbimport improvements: add 'catalog', rename 'schemaName' to 'schema'
CAY-1760 cdbimport improvements: Default adapter (if none specified) must be AutoAdapter, not JdbcAdapter
+CAY-1761 cdbimport improvements: DbLoader must reverse engineer PK auto-increment state.
Bug Fixes:
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DbLoader.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DbLoader.java?rev=1407484&r1=1407483&r2=1407484&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DbLoader.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DbLoader.java Fri Nov 9 15:12:57 2012
@@ -427,6 +427,18 @@ public class DbLoader {
DbAttribute attr = adapter.buildAttribute(columnName,
typeName, columnType, columnSize, decimalDigits,
allowNulls);
+
+ if (adapter.supportsGeneratedKeys()) {
+
+ // TODO: this actually throws on some drivers... need to
+ // ensure that 'supportsGeneratedKeys' check is enough
+ // to prevent an exception here.
+ String autoIncrement = rs.getString("IS_AUTOINCREMENT");
+ if ("YES".equals(autoIncrement)) {
+ attr.setGenerated(true);
+ }
+ }
+
attr.setEntity(dbEntity);
dbEntity.addAttribute(attr);
}
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/DbLoaderTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/DbLoaderTest.java?rev=1407484&r1=1407483&r2=1407484&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/DbLoaderTest.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/DbLoaderTest.java Fri Nov 9 15:12:57 2012
@@ -248,6 +248,14 @@ public class DbLoaderTest extends Server
DbAttribute a = getDbAttribute(dae, "ARTIST_ID");
assertNotNull(a);
assertTrue(a.isPrimaryKey());
+ assertFalse(a.isGenerated());
+
+ if (adapter.supportsGeneratedKeys()) {
+ DbEntity bag = getDbEntity(map, "BAG");
+ DbAttribute id = (DbAttribute) bag.getAttribute("ID");
+ assertTrue(id.isPrimaryKey());
+ assertTrue(id.isGenerated());
+ }
}
private void assertLobDbEntities(DataMap map) {