Forgot to add PRIMARY KEY for Entities, Types and Mixin tables and CREATE INDEX 
for _ASSOCS tables.
ALso check that entities named "ENTITIES" and "TYPES" is handled correctly 
(counter suffix).


Project: http://git-wip-us.apache.org/repos/asf/polygene-java/repo
Commit: http://git-wip-us.apache.org/repos/asf/polygene-java/commit/f6a5b338
Tree: http://git-wip-us.apache.org/repos/asf/polygene-java/tree/f6a5b338
Diff: http://git-wip-us.apache.org/repos/asf/polygene-java/diff/f6a5b338

Branch: refs/heads/develop
Commit: f6a5b3384163e9be2fafce022c6ce2b5c984a420
Parents: 0de78c4
Author: niclas <[email protected]>
Authored: Thu Oct 26 19:22:06 2017 +0800
Committer: niclas <[email protected]>
Committed: Thu Oct 26 19:23:21 2017 +0800

----------------------------------------------------------------------
 .../java/org/apache/polygene/entitystore/sql/MixinTable.java | 4 ++++
 .../java/org/apache/polygene/entitystore/sql/SqlTable.java   | 2 ++
 .../java/org/apache/polygene/entitystore/sql/TypesTable.java | 8 +++++++-
 3 files changed, 13 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/polygene-java/blob/f6a5b338/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/MixinTable.java
----------------------------------------------------------------------
diff --git 
a/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/MixinTable.java
 
b/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/MixinTable.java
index c55e793..70d13b9 100644
--- 
a/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/MixinTable.java
+++ 
b/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/MixinTable.java
@@ -42,6 +42,7 @@ import org.jooq.InsertSetStep;
 import org.jooq.Record;
 import org.jooq.Table;
 import org.jooq.UpdateSetMoreStep;
+import org.jooq.impl.DSL;
 
 class MixinTable
     implements TableFields
@@ -248,6 +249,9 @@ class MixinTable
                              .column( indexColumn )
                              .column( referenceColumn )
                              .execute();
+            dsl.createIndex( DSL.name( "IDX_" + table.getName() ) )
+               .on( table, identityColumn )
+               .execute();
             return table;
         }
         else

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/f6a5b338/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/SqlTable.java
----------------------------------------------------------------------
diff --git 
a/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/SqlTable.java
 
b/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/SqlTable.java
index 36fc983..1d8018e 100644
--- 
a/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/SqlTable.java
+++ 
b/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/SqlTable.java
@@ -224,6 +224,7 @@ public interface SqlTable extends ServiceActivation
                        .column( tableNameColumn )
                        .column( createdColumn )
                        .column( modifiedColumn )
+                       .constraint( DSL.primaryKey( identityColumn ) )
                        .execute();
 
                     dsl.createTableIfNotExists( dsl.tableNameOf( 
entitiesTableName ) )
@@ -234,6 +235,7 @@ public interface SqlTable extends ServiceActivation
                        .column( typeNameColumn )
                        .column( modifiedColumn )
                        .column( createdColumn )
+                       .constraint( DSL.primaryKey( identityColumn ) )
                        .execute();
                 } );
             }

http://git-wip-us.apache.org/repos/asf/polygene-java/blob/f6a5b338/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/TypesTable.java
----------------------------------------------------------------------
diff --git 
a/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/TypesTable.java
 
b/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/TypesTable.java
index 4c4b6ea..9082302 100644
--- 
a/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/TypesTable.java
+++ 
b/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/TypesTable.java
@@ -121,6 +121,8 @@ public class TypesTable
                     primaryTable.column( fieldOf( assoc ) );
                 }
             } );
+        primaryTable.constraint( DSL.primaryKey( identityColumn ) );
+
         int result1 = primaryTable.execute();
         int result3 = dsl.insertInto( typesTable )
                          .set( identityColumn, mixinTypeName )
@@ -135,7 +137,7 @@ public class TypesTable
     {
         String typeName = mixinType.getSimpleName();
         String postFix = "";
-        int counter = 0;
+        int counter = 1;
         boolean found = false;
         do
         {
@@ -147,6 +149,10 @@ public class TypesTable
 
     private boolean checkForTableNamed( String tableName )
     {
+        if( tableName.equalsIgnoreCase( "entities" ) || 
tableName.equalsIgnoreCase( "types" ))
+        {
+            return true;
+        }
         return dsl.select()
                   .from( typesTable )
                   .where( tableNameColumn.eq( tableName ) )

Reply via email to