[exo-jcr-commits] exo-jcr SVN: r5262 - 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
Mon Dec 5 05:38:30 EST 2011


Author: tolusha
Date: 2011-12-05 05:38:30 -0500 (Mon, 05 Dec 2011)
New Revision: 5262

Modified:
   jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/clean/rdbms/DBCleanService.java
Log:
EXOJCR-1603:  some refactoring, drop indexes for Sybase have been moved to getRemoveIndexesScripts()

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-05 10:00:55 UTC (rev 5261)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/clean/rdbms/DBCleanService.java	2011-12-05 10:38:30 UTC (rev 5262)
@@ -261,6 +261,11 @@
          dropScript.add("ALTER TABLE  JCR_" + multiDb + "VALUE DROP CONSTRAINT JCR_FK_" + multiDb + "VALUE_PROPERTY");
          dropScript.add("ALTER TABLE  JCR_" + multiDb + "ITEM DROP CONSTRAINT JCR_PK_" + multiDb + "ITEM");
          dropScript.add("ALTER TABLE  JCR_" + multiDb + "VALUE DROP CONSTRAINT JCR_PK_" + multiDb + "VALUE");
+         dropScript.add("DROP INDEX JCR_" + multiDb + "ITEM.JCR_IDX_" + multiDb + "ITEM_PARENT");
+         dropScript.add("DROP INDEX JCR_" + multiDb + "ITEM.JCR_IDX_" + multiDb + "ITEM_PARENT_NAME");
+         dropScript.add("DROP INDEX JCR_" + multiDb + "ITEM.JCR_IDX_" + multiDb + "ITEM_PARENT_ID");
+         dropScript.add("DROP INDEX JCR_" + multiDb + "VALUE.JCR_IDX_" + multiDb + "VALUE_PROPERTY");
+         dropScript.add("DROP INDEX JCR_" + multiDb + "REF.JCR_IDX_" + multiDb + "REF_PROPERTY");
       }
 
       return dropScript;
@@ -773,6 +778,9 @@
             String query = scripts.get(i);
             if (query.contains("JCR_PK_" + multiDb + "ITEM PRIMARY KEY(ID),"))
             {
+               // removing foreign key creation from initialization scripts for table JCR_S(M)ITEM
+               // it is not possible to create table with such foreign key if the same key exists in
+               // another table of database
                query =
                   query.replace("JCR_PK_" + multiDb + "ITEM PRIMARY KEY(ID),", "JCR_PK_" + multiDb
                      + "ITEM PRIMARY KEY(ID)");
@@ -783,6 +791,9 @@
             }
             else if (query.contains("CONSTRAINT JCR_PK_" + multiDb + "VALUE PRIMARY KEY(ID),"))
             {
+               // removing foreign key creation for table JCR_S(M)VALUE
+               // it is not possible to create table with such foreign key if the same key exists in
+               // another table of database
                query =
                   query.replace("CONSTRAINT JCR_PK_" + multiDb + "VALUE PRIMARY KEY(ID),", "CONSTRAINT JCR_PK_"
                      + multiDb + "VALUE PRIMARY KEY(ID)");
@@ -793,22 +804,6 @@
             }
          }
       }
-      else if (dialect.equalsIgnoreCase(DBConstants.DB_DIALECT_SYBASE))
-      {
-         for (int i = 0; i < scripts.size(); i++)
-         {
-            String query = scripts.get(i);
-            if (query.contains("JCR_IDX_" + multiDb + "ITEM_PARENT")
-               || query.contains("JCR_IDX_" + multiDb + "ITEM_PARENT_NAME")
-               || query.contains("JCR_IDX_" + multiDb + "ITEM_PARENT_ID")
-               || query.contains("JCR_IDX_" + multiDb + "VALUE_PROPERTY")
-               || query.contains("JCR_IDX_" + multiDb + "REF_PROPERTY"))
-            {
-               scripts.remove(i);
-               i--;
-            }
-         }
-      }
 
       return scripts;
    }



More information about the exo-jcr-commits mailing list