From: James Moger Date: Sat, 14 Jul 2012 20:09:52 +0000 (-0400) Subject: Use the upgrade check to skip unnecessary table create statements X-Git-Tag: v1.0.0~3 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=9e4799babb53626ccfea78bae9a3d58ceef9d258;p=iciql.git Use the upgrade check to skip unnecessary table create statements --- diff --git a/src/com/iciql/Db.java b/src/com/iciql/Db.java index 16cf386..6187aba 100644 --- a/src/com/iciql/Db.java +++ b/src/com/iciql/Db.java @@ -279,6 +279,8 @@ public class Db { } // remove this model class from the table definition cache classMap.remove(modelClass); + // remove this model class from the upgrade checked cache + upgradeChecked.remove(modelClass); return rc; } @@ -395,6 +397,10 @@ public class Db { } return def; } + + boolean hasCreated(Class clazz) { + return upgradeChecked.contains(clazz); + } public synchronized void setDbUpgrader(DbUpgrader upgrader) { if (!upgrader.getClass().isAnnotationPresent(IQVersion.class)) { diff --git a/src/com/iciql/TableDefinition.java b/src/com/iciql/TableDefinition.java index 1d9a98a..b6a670b 100644 --- a/src/com/iciql/TableDefinition.java +++ b/src/com/iciql/TableDefinition.java @@ -650,6 +650,9 @@ public class TableDefinition { db.upgradeTable(this); return this; } + if (db.hasCreated(clazz)) { + return this; + } SQLStatement stat = new SQLStatement(db); db.getDialect().prepareCreateTable(stat, this); IciqlLogger.create(stat.getSQL());