[exo-jcr-commits] exo-jcr SVN: r5258 - jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/clean/rdbms.
do-not-reply at jboss.org
do-not-reply at jboss.org
Fri Dec 2 10:43:25 EST 2011
Author: tolusha
Date: 2011-12-02 10:43:25 -0500 (Fri, 02 Dec 2011)
New Revision: 5258
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/clean/rdbms/DBCleanService.java
Log:
EXOJCR-1603: use rename approach for HSQLDB
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/clean/rdbms/DBCleanService.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/clean/rdbms/DBCleanService.java 2011-12-02 13:48:01 UTC (rev 5257)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/clean/rdbms/DBCleanService.java 2011-12-02 15:43:25 UTC (rev 5258)
@@ -881,7 +881,7 @@
"CONSTRAINT " + constraintName + " FOREIGN KEY(PARENT_ID) REFERENCES JCR_" + multiDb + "ITEM(ID)";
commitScripts.add("ALTER TABLE JCR_" + multiDb + "ITEM ADD " + constraint);
- // PostgreSQL, DB2 on connection.rollback() restore all removed constrains
+ // PostgreSQL, DB2 and MSSQL on connection.rollback() will restore all removed constrains
if (!dialect.equalsIgnoreCase(DBConstants.DB_DIALECT_PGSQL)
&& !dialect.equalsIgnoreCase(DBConstants.DB_DIALECT_DB2)
&& !dialect.equalsIgnoreCase(DBConstants.DB_DIALECT_DB2V8)
@@ -915,14 +915,23 @@
}
else
{
- if (dialect.equalsIgnoreCase(DBConstants.DB_DIALECT_ORACLE)
- || dialect.equalsIgnoreCase(DBConstants.DB_DIALECT_ORACLEOCI)
- || dialect.equalsIgnoreCase(DBConstants.DB_DIALECT_MYSQL)
- || dialect.equalsIgnoreCase(DBConstants.DB_DIALECT_MYSQL_UTF8)
- || dialect.equalsIgnoreCase(DBConstants.DB_DIALECT_MYSQL_MYISAM)
- || dialect.equalsIgnoreCase(DBConstants.DB_DIALECT_MYSQL_MYISAM_UTF8)
- || dialect.equalsIgnoreCase(DBConstants.DB_DIALECT_SYBASE))
+ // PostgreSQL, DB2 and MSSQL on connection.rollback() will restore all removed tables
+ if (dialect.equalsIgnoreCase(DBConstants.DB_DIALECT_DB2)
+ || dialect.equalsIgnoreCase(DBConstants.DB_DIALECT_DB2V8)
+ || dialect.equalsIgnoreCase(DBConstants.DB_DIALECT_MSSQL)
+ || dialect.equalsIgnoreCase(DBConstants.DB_DIALECT_PGSQL))
{
+ List<String> cleanScripts = new ArrayList<String>();
+
+ cleanScripts.addAll(getDropTableScripts(isMultiDB, dialect));
+ cleanScripts.addAll(getInitializationDBScripts(isMultiDB, dialect));
+ cleanScripts.addAll(getRemoveIndexesScripts(isMultiDB, dialect));
+
+ return new DBCleaner(jdbcConn, cleanScripts, new ArrayList<String>(), getRestoreIndexesScripts(isMultiDB,
+ dialect), false);
+ }
+ else
+ {
ArrayList<String> cleanScripts = new ArrayList<String>();
cleanScripts.addAll(getRenameScripts(isMultiDB, dialect));
cleanScripts.addAll(getInitializationDBScripts(isMultiDB, dialect));
@@ -935,17 +944,6 @@
return new DBCleaner(jdbcConn, cleanScripts, getRollbackScripts(isMultiDB, dialect), commitScript,
dialect.equalsIgnoreCase(DBConstants.DB_DIALECT_SYBASE));
}
- else
- {
- List<String> cleanScripts = new ArrayList<String>();
-
- cleanScripts.addAll(getDropTableScripts(isMultiDB, dialect));
- cleanScripts.addAll(getInitializationDBScripts(isMultiDB, dialect));
- cleanScripts.addAll(getRemoveIndexesScripts(isMultiDB, dialect));
-
- return new DBCleaner(jdbcConn, cleanScripts, new ArrayList<String>(), getRestoreIndexesScripts(isMultiDB,
- dialect), dialect.equalsIgnoreCase(DBConstants.DB_DIALECT_SYBASE));
- }
}
}
}
More information about the exo-jcr-commits
mailing list