[exo-jcr-commits] exo-jcr SVN: r5108 - in jcr/trunk/exo.jcr.component.core/src/main: java/org/exoplatform/services/jcr/impl/util/jdbc and 1 other directories.
do-not-reply at jboss.org
do-not-reply at jboss.org
Thu Oct 27 04:07:04 EDT 2011
Author: tolusha
Date: 2011-10-27 04:07:02 -0400 (Thu, 27 Oct 2011)
New Revision: 5108
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/util/jdbc/DBInitializer.java
jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/jcr-mjdbc.mysql-utf8.sql
jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/jcr-mjdbc.mysql.sql
jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/jcr-sjdbc.mysql-utf8.sql
jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/jcr-sjdbc.mysql.sql
Log:
EXOJCR-1509: restore previous script for table creation for MySQL
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-10-27 06:23:13 UTC (rev 5107)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/clean/rdbms/DBCleanService.java 2011-10-27 08:07:02 UTC (rev 5108)
@@ -183,13 +183,13 @@
ArrayList<String> dbCleanerScripts = new ArrayList<String>();
dbCleanerScripts.addAll(getRenameScripts(isMultiDB, dialect));
- dbCleanerScripts.addAll(prepareInirializationScript(getInitializationDBScript(isMultiDB, dialect), isMultiDB,
+ dbCleanerScripts.addAll(getTableCreationScript(getInitializationDBScript(isMultiDB, dialect), isMultiDB,
dialect));
- dbCleanerScripts.addAll(getPreTablesRestoreScript(isMultiDB, dialect));
+ dbCleanerScripts.addAll(getRemoveIndexesScript(isMultiDB, dialect));
ArrayList<String> afterRestoreScript = new ArrayList<String>();
- afterRestoreScript.addAll(getAfterRestoreScript(isMultiDB, dialect));
- afterRestoreScript.addAll(getPostTablesRestoreScript(isMultiDB, dialect));
+ afterRestoreScript.addAll(getRemoveOldObjectsScript(isMultiDB, dialect));
+ afterRestoreScript.addAll(getRestoreIndexesScript(isMultiDB, dialect));
return new DBCleaner(jdbcConn, dbCleanerScripts, getRollbackRenamedScript(isMultiDB, dialect),
afterRestoreScript);
@@ -198,9 +198,9 @@
ArrayList<String> dbCleanerScripts = new ArrayList<String>();
dbCleanerScripts.addAll(getDropTableScripts(isMultiDB, dialect));
dbCleanerScripts.addAll(getInitializationDBScript(isMultiDB, dialect));
- dbCleanerScripts.addAll(getPreTablesRestoreScript(isMultiDB, dialect));
+ dbCleanerScripts.addAll(getRemoveIndexesScript(isMultiDB, dialect));
- return new DBCleaner(jdbcConn, dbCleanerScripts, new ArrayList<String>(), getPostTablesRestoreScript(isMultiDB,
+ return new DBCleaner(jdbcConn, dbCleanerScripts, new ArrayList<String>(), getRestoreIndexesScript(isMultiDB,
dialect));
}
@@ -216,7 +216,7 @@
* string, dialect of DB
* @return List with database initialization scripts
*/
- private static Collection<? extends String> prepareInirializationScript(List<String> initializationDBScript,
+ private static Collection<? extends String> getTableCreationScript(List<String> initializationDBScript,
boolean isMultiDB, String dialect)
{
if (dialect.equals(DBConstants.DB_DIALECT_MYSQL) || dialect.equals(DBConstants.DB_DIALECT_MYSQL_UTF8))
@@ -226,12 +226,26 @@
for (int i = 0; i < initializationDBScript.size(); i++)
{
String query = initializationDBScript.get(i);
- if (query.contains("JCR_FK_" + multiDb + "ITEM_PARENT")
- || query.contains("JCR_FK_" + multiDb + "VALUE_PROPERTY"))
+ if (query.contains("JCR_PK_" + multiDb + "ITEM PRIMARY KEY(ID),"))
{
- initializationDBScript.remove(i);
- i--;
+ query =
+ query.replace("JCR_PK_" + multiDb + "ITEM PRIMARY KEY(ID),", "JCR_PK_" + multiDb
+ + "ITEM PRIMARY KEY(ID)");
+ query =
+ query.replace("CONSTRAINT JCR_FK_" + multiDb + "ITEM_PARENT FOREIGN KEY(PARENT_ID) REFERENCES JCR_"
+ + multiDb + "ITEM(ID)", "");
+ initializationDBScript.set(i, query);
}
+ else if (query.contains("CONSTRAINT JCR_PK_" + multiDb + "VALUE PRIMARY KEY(ID),"))
+ {
+ query =
+ query.replace("CONSTRAINT JCR_PK_" + multiDb + "VALUE PRIMARY KEY(ID),", "CONSTRAINT JCR_PK_"
+ + multiDb + "VALUE PRIMARY KEY(ID)");
+ query =
+ query.replace("CONSTRAINT JCR_FK_" + multiDb
+ + "VALUE_PROPERTY FOREIGN KEY(PROPERTY_ID) REFERENCES JCR_" + multiDb + "ITEM(ID)", "");
+ initializationDBScript.set(i, query);
+ }
}
}
else if (dialect.equals(DBConstants.DB_DIALECT_SYBASE))
@@ -264,13 +278,12 @@
* @param dialect
* String, dialect of DB
*/
- private static List<String> getPreTablesRestoreScript(boolean isMultiDB, String dialect)
+ private static List<String> getRemoveIndexesScript(boolean isMultiDB, String dialect)
{
ArrayList<String> dropScript = new ArrayList<String>();
String multiDb = isMultiDB ? "M" : "S";
String constraintName;
- String constraint;
if (dialect.equals(DBConstants.DB_DIALECT_MYSQL) || dialect.equals(DBConstants.DB_DIALECT_MYSQL))
{
@@ -278,29 +291,23 @@
}
constraintName = validateConstraintName("JCR_FK_" + multiDb + "ITEM_PARENT", dialect);
- constraint = "CONSTRAINT " + constraintName + " FOREIGN KEY(PARENT_ID) REFERENCES JCR_" + multiDb + "ITEM(ID)";
dropScript.add("ALTER TABLE JCR_" + multiDb + "ITEM " + dropCommand(false, constraintName, dialect));
if (dialect.equals(DBConstants.DB_DIALECT_ORACLE) || dialect.equals(DBConstants.DB_DIALECT_ORACLEOCI))
{
constraintName = validateConstraintName("JCR_PK_" + multiDb + "VALUE", dialect);
- constraint = "CONSTRAINT " + constraintName + " PRIMARY KEY(ID)";
dropScript.add("ALTER TABLE JCR_" + multiDb + "VALUE " + dropCommand(true, constraintName, dialect));
constraintName = validateConstraintName("JCR_FK_" + multiDb + "VALUE_PROPERTY", dialect);
- constraint =
- "CONSTRAINT " + constraintName + " FOREIGN KEY(PROPERTY_ID) REFERENCES JCR_" + multiDb + "ITEM(ID)";
dropScript.add("ALTER TABLE JCR_" + multiDb + "VALUE " + dropCommand(false, constraintName, dialect));
constraintName = validateConstraintName("JCR_PK_" + multiDb + "ITEM", dialect);
dropScript.add("ALTER TABLE JCR_" + multiDb + "ITEM " + dropCommand(true, constraintName, dialect));
constraintName = validateConstraintName("JCR_PK_" + multiDb + "REF", dialect);
- constraint = "CONSTRAINT " + constraintName + " PRIMARY KEY(NODE_ID, PROPERTY_ID, ORDER_NUM)";
dropScript.add("ALTER TABLE JCR_" + multiDb + "REF " + dropCommand(true, constraintName, dialect));
constraintName = validateConstraintName("JCR_PK_" + multiDb + "CONTAINER", dialect);
- constraint = "CONSTRAINT " + constraintName + " PRIMARY KEY(VERSION)";
dropScript.add("ALTER TABLE JCR_" + multiDb + "CONTAINER " + dropCommand(true, constraintName, dialect));
dropScript.add("DROP INDEX JCR_IDX_" + multiDb + "ITEM_PARENT_FK");
@@ -328,7 +335,7 @@
* @param dialect
* String, dialect of DB
*/
- private static List<String> getPostTablesRestoreScript(boolean isMultiDB, String dialect)
+ private static List<String> getRestoreIndexesScript(boolean isMultiDB, String dialect)
throws RepositoryConfigurationException
{
ArrayList<String> addScript = new ArrayList<String>();
@@ -707,17 +714,10 @@
rollbackScripts.add("ALTER TABLE JCR_" + isMultiDB + "ITEM" + OLD_OBJECT_SUFFIX + " RENAME TO JCR_"
+ isMultiDB + "ITEM");
- rollbackScripts.add("ALTER TABLE JCR_" + isMultiDB + "ITEM ADD CONSTRAINT JCR_FK_" + isMultiDB
- + "ITEM_PARENT FOREIGN KEY(PARENT_ID) REFERENCES JCR_" + isMultiDB + "ITEM(ID)");
-
rollbackScripts.add("ALTER TABLE JCR_" + isMultiDB + "VALUE" + OLD_OBJECT_SUFFIX + " RENAME TO JCR_"
+ isMultiDB + "VALUE");
- rollbackScripts.add("ALTER TABLE JCR_" + isMultiDB + "VALUE ADD CONSTRAINT JCR_FK_" + isMultiDB
- + "VALUE_PROPERTY FOREIGN KEY(PROPERTY_ID) REFERENCES JCR_" + isMultiDB + "ITEM(ID)");
-
rollbackScripts.add("ALTER TABLE JCR_" + isMultiDB + "CONTAINER" + OLD_OBJECT_SUFFIX + " RENAME TO JCR_"
+ isMultiDB + "CONTAINER");
-
rollbackScripts.add("ALTER TABLE JCR_" + isMultiDB + "REF" + OLD_OBJECT_SUFFIX + " RENAME TO JCR_" + isMultiDB
+ "REF");
}
@@ -794,7 +794,7 @@
* @return List
* return list with query
*/
- protected static List<String> getAfterRestoreScript(boolean multiDb, String dialect)
+ protected static List<String> getRemoveOldObjectsScript(boolean multiDb, String dialect)
{
List<String> afterRetoreScripts = new ArrayList<String>();
@@ -878,18 +878,18 @@
jdbcConn.setAutoCommit(false);
}
- ArrayList<String> dbCleanerScripts = new ArrayList<String>();
- dbCleanerScripts.addAll(getRenameScripts(isMultiDB, dialect));
- dbCleanerScripts.addAll(prepareInirializationScript(getInitializationDBScript(isMultiDB, dialect), isMultiDB,
+ ArrayList<String> cleanScripts = new ArrayList<String>();
+ cleanScripts.addAll(getRenameScripts(isMultiDB, dialect));
+ cleanScripts.addAll(getTableCreationScript(getInitializationDBScript(isMultiDB, dialect), isMultiDB,
dialect));
- dbCleanerScripts.addAll(getPreTablesRestoreScript(isMultiDB, dialect));
+ cleanScripts.addAll(getRemoveIndexesScript(isMultiDB, dialect));
- ArrayList<String> afterRestoreScript = new ArrayList<String>();
- afterRestoreScript.addAll(getAfterRestoreScript(isMultiDB, dialect));
- afterRestoreScript.addAll(getPostTablesRestoreScript(isMultiDB, dialect));
+ ArrayList<String> commitScript = new ArrayList<String>();
+ commitScript.addAll(getRemoveOldObjectsScript(isMultiDB, dialect));
+ commitScript.addAll(getRestoreIndexesScript(isMultiDB, dialect));
- return new DBCleaner(jdbcConn, dbCleanerScripts, getRollbackRenamedScript(isMultiDB, dialect),
- afterRestoreScript);
+ return new DBCleaner(jdbcConn, cleanScripts, getRollbackRenamedScript(isMultiDB, dialect),
+ commitScript);
}
else
{
@@ -897,9 +897,9 @@
cleanScripts.addAll(getDropTableScripts(isMultiDB, dialect));
cleanScripts.addAll(getInitializationDBScript(isMultiDB, dialect));
- cleanScripts.addAll(getPreTablesRestoreScript(isMultiDB, dialect));
+ cleanScripts.addAll(getRemoveIndexesScript(isMultiDB, dialect));
- return new DBCleaner(jdbcConn, cleanScripts, new ArrayList<String>(), getPostTablesRestoreScript(
+ return new DBCleaner(jdbcConn, cleanScripts, new ArrayList<String>(), getRestoreIndexesScript(
isMultiDB, dialect));
}
}
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/DBInitializer.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/DBInitializer.java 2011-10-27 06:23:13 UTC (rev 5107)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/jdbc/DBInitializer.java 2011-10-27 08:07:02 UTC (rev 5108)
@@ -47,8 +47,6 @@
static public String SQL_CREATETABLE = "^(CREATE(\\s)+TABLE(\\s)+(IF(\\s)+NOT(\\s)+EXISTS(\\s)+)*){1}";
- static public String SQL_ALTERTABLE = "^(ALTER(\\s)+TABLE(\\s)+(IF(\\s)+NOT(\\s)+EXISTS(\\s)+)*){1}";
-
static public String SQL_CREATEVIEW = "^(CREATE(\\s)+VIEW(\\s)+(IF(\\s)+NOT(\\s)+EXISTS(\\s)+)*){1}";
static public String SQL_OBJECTNAME = "((JCR_[A-Z_]+){1}(\\s*?|(\\(\\))*?)+)+?";
@@ -73,8 +71,6 @@
protected final Pattern creatTablePattern;
- protected final Pattern alterTablePattern;
-
protected final Pattern creatViewPattern;
protected final Pattern dbObjectNamePattern;
@@ -96,7 +92,6 @@
this.script = script(scriptPath);
this.creatTablePattern = Pattern.compile(SQL_CREATETABLE, Pattern.CASE_INSENSITIVE);
- this.alterTablePattern = Pattern.compile(SQL_ALTERTABLE, Pattern.CASE_INSENSITIVE);
this.creatViewPattern = Pattern.compile(SQL_CREATEVIEW, Pattern.CASE_INSENSITIVE);
this.dbObjectNamePattern = Pattern.compile(SQL_OBJECTNAME, Pattern.CASE_INSENSITIVE);
this.creatIndexPattern = Pattern.compile(SQL_CREATEINDEX, Pattern.CASE_INSENSITIVE);
@@ -149,25 +144,6 @@
}
}
}
- else if ((tMatcher = alterTablePattern.matcher(sql)).find())
- {
- // CREATE TABLE
- tMatcher = dbObjectNamePattern.matcher(sql);
- if (tMatcher.find())
- {
- // got table name
- String tableName = sql.substring(tMatcher.start(), tMatcher.end());
- if (isTableExists(conn, tableName))
- {
- if (LOG.isDebugEnabled())
- {
- LOG.debug("Table is already exists " + tableName);
- }
- existingTables.add(tableName);
- return true;
- }
- }
- }
else if ((tMatcher = creatViewPattern.matcher(sql)).find())
{
// CREATE VIEW
Modified: jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/jcr-mjdbc.mysql-utf8.sql
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/jcr-mjdbc.mysql-utf8.sql 2011-10-27 06:23:13 UTC (rev 5107)
+++ jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/jcr-mjdbc.mysql-utf8.sql 2011-10-27 08:07:02 UTC (rev 5108)
@@ -12,9 +12,9 @@
N_ORDER_NUM INTEGER,
P_TYPE INTEGER,
P_MULTIVALUED BOOLEAN,
- CONSTRAINT JCR_PK_MITEM PRIMARY KEY(ID)
+ CONSTRAINT JCR_PK_MITEM PRIMARY KEY(ID),
+ CONSTRAINT JCR_FK_MITEM_PARENT FOREIGN KEY(PARENT_ID) REFERENCES JCR_MITEM(ID)
) ENGINE=InnoDB;
-ALTER TABLE JCR_MITEM ADD CONSTRAINT JCR_FK_MITEM_PARENT FOREIGN KEY(PARENT_ID) REFERENCES JCR_MITEM(ID);
CREATE UNIQUE INDEX JCR_IDX_MITEM_PARENT ON JCR_MITEM(PARENT_ID, NAME(255), I_INDEX, I_CLASS, VERSION DESC);
CREATE UNIQUE INDEX JCR_IDX_MITEM_PARENT_NAME ON JCR_MITEM(I_CLASS, PARENT_ID, NAME(255), I_INDEX, VERSION DESC);
CREATE UNIQUE INDEX JCR_IDX_MITEM_PARENT_ID ON JCR_MITEM(I_CLASS, PARENT_ID, ID, VERSION DESC);
@@ -25,9 +25,9 @@
ORDER_NUM INTEGER NOT NULL,
PROPERTY_ID VARCHAR(56) NOT NULL,
STORAGE_DESC VARCHAR(512),
- CONSTRAINT JCR_PK_MVALUE PRIMARY KEY(ID)
+ CONSTRAINT JCR_PK_MVALUE PRIMARY KEY(ID),
+ CONSTRAINT JCR_FK_MVALUE_PROPERTY FOREIGN KEY(PROPERTY_ID) REFERENCES JCR_MITEM(ID)
) ENGINE=InnoDB;
-ALTER TABLE JCR_MVALUE ADD CONSTRAINT JCR_FK_MVALUE_PROPERTY FOREIGN KEY(PROPERTY_ID) REFERENCES JCR_MITEM(ID);
CREATE UNIQUE INDEX JCR_IDX_MVALUE_PROPERTY ON JCR_MVALUE(PROPERTY_ID, ORDER_NUM);
CREATE INDEX JCR_IDX_MVALUE_STORAGE_DESC ON JCR_MVALUE(PROPERTY_ID, STORAGE_DESC);
CREATE TABLE JCR_MREF(
Modified: jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/jcr-mjdbc.mysql.sql
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/jcr-mjdbc.mysql.sql 2011-10-27 06:23:13 UTC (rev 5107)
+++ jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/jcr-mjdbc.mysql.sql 2011-10-27 08:07:02 UTC (rev 5108)
@@ -12,9 +12,9 @@
N_ORDER_NUM INTEGER,
P_TYPE INTEGER,
P_MULTIVALUED BOOLEAN,
- CONSTRAINT JCR_PK_MITEM PRIMARY KEY(ID)
+ CONSTRAINT JCR_PK_MITEM PRIMARY KEY(ID),
+ CONSTRAINT JCR_FK_MITEM_PARENT FOREIGN KEY(PARENT_ID) REFERENCES JCR_MITEM(ID)
) ENGINE=InnoDB;
-ALTER TABLE JCR_MITEM ADD CONSTRAINT JCR_FK_MITEM_PARENT FOREIGN KEY(PARENT_ID) REFERENCES JCR_MITEM(ID);
CREATE UNIQUE INDEX JCR_IDX_MITEM_PARENT ON JCR_MITEM(PARENT_ID, NAME, I_INDEX, I_CLASS, VERSION DESC);
CREATE UNIQUE INDEX JCR_IDX_MITEM_PARENT_NAME ON JCR_MITEM(I_CLASS, PARENT_ID, NAME, I_INDEX, VERSION DESC);
CREATE UNIQUE INDEX JCR_IDX_MITEM_PARENT_ID ON JCR_MITEM(I_CLASS, PARENT_ID, ID, VERSION DESC);
@@ -25,9 +25,9 @@
ORDER_NUM INTEGER NOT NULL,
PROPERTY_ID VARCHAR(96) NOT NULL,
STORAGE_DESC VARCHAR(512),
- CONSTRAINT JCR_PK_MVALUE PRIMARY KEY(ID)
+ CONSTRAINT JCR_PK_MVALUE PRIMARY KEY(ID),
+ CONSTRAINT JCR_FK_MVALUE_PROPERTY FOREIGN KEY(PROPERTY_ID) REFERENCES JCR_MITEM(ID)
) ENGINE=InnoDB;
-ALTER TABLE JCR_MVALUE ADD CONSTRAINT JCR_FK_MVALUE_PROPERTY FOREIGN KEY(PROPERTY_ID) REFERENCES JCR_MITEM(ID);
CREATE UNIQUE INDEX JCR_IDX_MVALUE_PROPERTY ON JCR_MVALUE(PROPERTY_ID, ORDER_NUM);
CREATE INDEX JCR_IDX_MVALUE_STORAGE_DESC ON JCR_MVALUE(PROPERTY_ID, STORAGE_DESC);
CREATE TABLE JCR_MREF(
Modified: jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/jcr-sjdbc.mysql-utf8.sql
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/jcr-sjdbc.mysql-utf8.sql 2011-10-27 06:23:13 UTC (rev 5107)
+++ jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/jcr-sjdbc.mysql-utf8.sql 2011-10-27 08:07:02 UTC (rev 5108)
@@ -14,8 +14,8 @@
P_TYPE INTEGER,
P_MULTIVALUED BOOLEAN,
CONSTRAINT JCR_PK_SITEM PRIMARY KEY(ID)
+ CONSTRAINT JCR_FK_SITEM_PARENT FOREIGN KEY(PARENT_ID) REFERENCES JCR_SITEM(ID)
) ENGINE=InnoDB;
-ALTER TABLE JCR_SITEM ADD CONSTRAINT JCR_FK_SITEM_PARENT FOREIGN KEY(PARENT_ID) REFERENCES JCR_SITEM(ID);
CREATE UNIQUE INDEX JCR_IDX_SITEM_PARENT ON JCR_SITEM(CONTAINER_NAME, PARENT_ID, NAME(255), I_INDEX, I_CLASS, VERSION DESC);
CREATE UNIQUE INDEX JCR_IDX_SITEM_PARENT_NAME ON JCR_SITEM(I_CLASS, CONTAINER_NAME, PARENT_ID, NAME(255), I_INDEX, VERSION DESC);
CREATE UNIQUE INDEX JCR_IDX_SITEM_PARENT_ID ON JCR_SITEM(I_CLASS, CONTAINER_NAME, PARENT_ID, ID, VERSION DESC);
@@ -27,8 +27,8 @@
PROPERTY_ID VARCHAR(56) NOT NULL,
STORAGE_DESC VARCHAR(512),
CONSTRAINT JCR_PK_SVALUE PRIMARY KEY(ID)
+ CONSTRAINT JCR_FK_SVALUE_PROPERTY FOREIGN KEY(PROPERTY_ID) REFERENCES JCR_SITEM(ID)
) ENGINE=InnoDB;
-ALTER TABLE JCR_SVALUE ADD CONSTRAINT JCR_FK_SVALUE_PROPERTY FOREIGN KEY(PROPERTY_ID) REFERENCES JCR_SITEM(ID);
CREATE UNIQUE INDEX JCR_IDX_SVALUE_PROPERTY ON JCR_SVALUE(PROPERTY_ID, ORDER_NUM);
CREATE INDEX JCR_IDX_SVALUE_STORAGE_DESC ON JCR_SVALUE(PROPERTY_ID, STORAGE_DESC);
CREATE TABLE JCR_SREF(
Modified: jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/jcr-sjdbc.mysql.sql
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/jcr-sjdbc.mysql.sql 2011-10-27 06:23:13 UTC (rev 5107)
+++ jcr/trunk/exo.jcr.component.core/src/main/resources/conf/storage/jcr-sjdbc.mysql.sql 2011-10-27 08:07:02 UTC (rev 5108)
@@ -13,9 +13,9 @@
N_ORDER_NUM INTEGER,
P_TYPE INTEGER,
P_MULTIVALUED BOOLEAN,
- CONSTRAINT JCR_PK_SITEM PRIMARY KEY(ID)
+ CONSTRAINT JCR_PK_SITEM PRIMARY KEY(ID),
+ CONSTRAINT JCR_FK_SITEM_PARENT FOREIGN KEY(PARENT_ID) REFERENCES JCR_SITEM(ID)
) ENGINE=InnoDB;
-ALTER TABLE JCR_SITEM ADD CONSTRAINT JCR_FK_SITEM_PARENT FOREIGN KEY(PARENT_ID) REFERENCES JCR_SITEM(ID);
CREATE UNIQUE INDEX JCR_IDX_SITEM_PARENT ON JCR_SITEM(CONTAINER_NAME, PARENT_ID, NAME, I_INDEX, I_CLASS, VERSION DESC);
CREATE UNIQUE INDEX JCR_IDX_SITEM_PARENT_NAME ON JCR_SITEM(I_CLASS, CONTAINER_NAME, PARENT_ID, NAME, I_INDEX, VERSION DESC);
CREATE UNIQUE INDEX JCR_IDX_SITEM_PARENT_ID ON JCR_SITEM(I_CLASS, CONTAINER_NAME, PARENT_ID, ID, VERSION DESC);
@@ -26,9 +26,9 @@
ORDER_NUM INTEGER NOT NULL,
PROPERTY_ID VARCHAR(96) NOT NULL,
STORAGE_DESC VARCHAR(512),
- CONSTRAINT JCR_PK_SVALUE PRIMARY KEY(ID)
+ CONSTRAINT JCR_PK_SVALUE PRIMARY KEY(ID),
+ CONSTRAINT JCR_FK_SVALUE_PROPERTY FOREIGN KEY(PROPERTY_ID) REFERENCES JCR_SITEM(ID)
) ENGINE=InnoDB;
-ALTER TABLE JCR_SVALUE ADD CONSTRAINT JCR_FK_SVALUE_PROPERTY FOREIGN KEY(PROPERTY_ID) REFERENCES JCR_SITEM(ID);
CREATE UNIQUE INDEX JCR_IDX_SVALUE_PROPERTY ON JCR_SVALUE(PROPERTY_ID, ORDER_NUM);
CREATE INDEX JCR_IDX_SVALUE_STORAGE_DESC ON JCR_SVALUE(PROPERTY_ID, STORAGE_DESC);
CREATE TABLE JCR_SREF(
More information about the exo-jcr-commits
mailing list