[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