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) {