You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by do...@apache.org on 2010/05/31 00:08:35 UTC
svn commit: r949624 -
/ofbiz/trunk/framework/entity/src/org/ofbiz/entity/jdbc/DatabaseUtil.java
Author: doogie
Date: Sun May 30 22:08:35 2010
New Revision: 949624
URL: http://svn.apache.org/viewvc?rev=949624&view=rev
Log:
Start refactoring fkIndex creation and declared index creation.
Modified:
ofbiz/trunk/framework/entity/src/org/ofbiz/entity/jdbc/DatabaseUtil.java
Modified: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/jdbc/DatabaseUtil.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/src/org/ofbiz/entity/jdbc/DatabaseUtil.java?rev=949624&r1=949623&r2=949624&view=diff
==============================================================================
--- ofbiz/trunk/framework/entity/src/org/ofbiz/entity/jdbc/DatabaseUtil.java (original)
+++ ofbiz/trunk/framework/entity/src/org/ofbiz/entity/jdbc/DatabaseUtil.java Sun May 30 22:08:35 2010
@@ -514,7 +514,7 @@ public class DatabaseUtil {
}
// make sure each one-relation has an index
- if (checkFkIdx) {
+ if (checkFkIdx || datasourceInfo.checkIndicesOnStart) {
//if (!justColumns && datasourceInfo.useFkIndices && datasourceInfo.checkFkIndicesOnStart) {
int numIndicesCreated = 0;
// TODO: check each key-map to make sure it exists in the index, if any differences warn and then remove the index and recreate it
@@ -545,21 +545,28 @@ public class DatabaseUtil {
if (tableIndexList == null) {
// evidently no indexes in the database for this table, do the create all
- this.createForeignKeyIndices(entity, datasourceInfo.constraintNameClipLength, messages);
- } else {
- // go through each relation to see if an FK already exists
- boolean createdConstraints = false;
- Iterator<ModelRelation> relations = entity.getRelationsIterator();
- while (relations.hasNext()) {
- ModelRelation modelRelation = relations.next();
- if (!"one".equals(modelRelation.getType())) {
- continue;
- }
+ if (checkFkIdx) {
+ this.createForeignKeyIndices(entity, datasourceInfo.constraintNameClipLength, messages);
+ }
+ if (datasourceInfo.checkIndicesOnStart) {
+ this.createDeclaredIndices(entity, messages);
+ }
+ continue;
+ }
+ // go through each relation to see if an FK already exists
+ boolean createdConstraints = false;
+ Iterator<ModelRelation> relations = entity.getRelationsIterator();
+ while (relations.hasNext()) {
+ ModelRelation modelRelation = relations.next();
+ if (!"one".equals(modelRelation.getType())) {
+ continue;
+ }
- String relConstraintName = makeFkConstraintName(modelRelation, datasourceInfo.constraintNameClipLength);
- if (tableIndexList.contains(relConstraintName)) {
- tableIndexList.remove(relConstraintName);
- } else {
+ String relConstraintName = makeFkConstraintName(modelRelation, datasourceInfo.constraintNameClipLength);
+ if (tableIndexList.contains(relConstraintName)) {
+ tableIndexList.remove(relConstraintName);
+ } else {
+ if (checkFkIdx) {
// if not, create one
String noIdxMessage = "No Index [" + relConstraintName + "] found for entity [" + entityName + "]";
if (messages != null) messages.add(noIdxMessage);
@@ -581,68 +588,24 @@ public class DatabaseUtil {
}
}
}
- if (createdConstraints) {
- String message = "Created foreign key index/indices for entity [" + entity.getEntityName() + "]";
- Debug.logImportant(message, module);
- if (messages != null) messages.add(message);
- }
- }
-
- // show foreign key references that exist but are unknown
- if (tableIndexList != null) {
- for (String indexLeft: tableIndexList) {
- String message = "Unknown Index " + indexLeft + " found in table " + entity.getTableName(datasourceInfo);
- Debug.logImportant(message, module);
- if (messages != null) messages.add(message);
- }
}
- }
- }
- if (Debug.infoOn()) Debug.logInfo("Created " + numIndicesCreated + " indices", module);
- }
-
- if (datasourceInfo.checkIndicesOnStart) {
- int numIndicesCreated = 0;
- // TODO: check each key-map to make sure it exists in the index, if any differences warn and then remove the index and recreate it
-
- // get ALL column info, put into hashmap by table name
- Map<String, Set<String>> tableIndexListMap = this.getIndexInfo(indexTableNames, messages);
- // Debug.logVerbose("Ref Info Map: " + refTableInfoMap, module);
-
- if (tableIndexListMap == null) {
- // uh oh, something happened while getting info...
- if (Debug.verboseOn()) Debug.logVerbose("Ref Table Info Map is null", module);
- } else {
- for (ModelEntity entity: modelEntityList) {
- String entityName = entity.getEntityName();
- // if this is a view entity, do not check it...
- if (entity instanceof ModelViewEntity) {
- String entMessage = "NOT Checking View Entity " + entity.getEntityName();
- Debug.logVerbose(entMessage, module);
- if (messages != null) messages.add(entMessage);
- continue;
+ if (createdConstraints) {
+ String message = "Created foreign key index/indices for entity [" + entity.getEntityName() + "]";
+ Debug.logImportant(message, module);
+ if (messages != null) messages.add(message);
}
-
- // get existing index list for this table
- Set<String> tableIndexList = tableIndexListMap.get(entity.getTableName(datasourceInfo));
-
- // Debug.logVerbose("Got ind info for table " + entity.getTableName(datasourceInfo) + ": " + tableIndexList, module);
-
- if (tableIndexList == null) {
- // evidently no indexes in the database for this table, do the create all
- this.createDeclaredIndices(entity, messages);
- } else {
- // go through each indice to see if an indice already exists
- boolean createdIndexes = false;
- Iterator<ModelIndex> indexes = entity.getIndexesIterator();
- while (indexes.hasNext()) {
- ModelIndex modelIndex = indexes.next();
-
- String relIndexName = makeIndexName(modelIndex, datasourceInfo.constraintNameClipLength);
- if (tableIndexList.contains(relIndexName)) {
- tableIndexList.remove(relIndexName);
- } else {
+ // go through each indice to see if an indice already exists
+ boolean createdIndexes = false;
+ Iterator<ModelIndex> indexes = entity.getIndexesIterator();
+ while (indexes.hasNext()) {
+ ModelIndex modelIndex = indexes.next();
+
+ String relIndexName = makeIndexName(modelIndex, datasourceInfo.constraintNameClipLength);
+ if (tableIndexList.contains(relIndexName)) {
+ tableIndexList.remove(relIndexName);
+ } else {
+ if (datasourceInfo.checkIndicesOnStart) {
// if not, create one
String noIdxMessage = "No Index [" + relIndexName + "] found for entity [" + entityName + "]";
if (messages != null) messages.add(noIdxMessage);
@@ -664,11 +627,11 @@ public class DatabaseUtil {
}
}
}
- if (createdIndexes) {
- String message = "Created declared index/indices for entity [" + entity.getEntityName() + "]";
- Debug.logImportant(message, module);
- if (messages != null) messages.add(message);
- }
+ }
+ if (createdIndexes) {
+ String message = "Created declared index/indices for entity [" + entity.getEntityName() + "]";
+ Debug.logImportant(message, module);
+ if (messages != null) messages.add(message);
}
// show Indexe key references that exist but are unknown