public NSArray foreignKeyConstraintStatementsForRelationship(EORelationship relationship) {
NSArray superResults;
NSMutableArray results;
int count;
int i;
EOSQLExpression expression;
results = new NSMutableArray();
superResults = super.foreignKeyConstraintStatementsForRelationship(relationship);
count = superResults.count();
for (i = 0; i < count; i++) {
expression = (EOSQLExpression) superResults.objectAtIndex(i);
String s = expression.statement();
s = replaceStringByStringInString(") INITIALLY DEFERRED", ") ENFORCED", s);
expression.setStatement(s);
results.addObject(expression);
// timc 2006-11-06 check for enableIdentifierQuoting
String tableName = expression.sqlStringForSchemaObjectName(expression.entity().externalName());
NSArray columnNames = ((NSArray) relationship.sourceAttributes().valueForKey("columnName"));
StringBuilder sbColumnNames = new StringBuilder();
for (int j = 0; j < columnNames.count(); j++) {
sbColumnNames.append((j == 0 ? "" : ", ") + expression.sqlStringForSchemaObjectName((String) columnNames.objectAtIndex(j)));
}
String indexName = externalNameForEntityWithoutSchema(relationship.entity()) + "_" + columnNames.componentsJoinedByString("_") + "_idx";
results.addObject(createExpression(expression.entity(), "CREATE INDEX " + indexName + " ON " + tableName + "( " + sbColumnNames.toString() + " )"));
}
return results;
}