コード例 #1
0
 private Index createIndex(Table t, IndexColumn[] cols, boolean unique) {
   int indexId = getObjectId();
   IndexType indexType;
   if (unique) {
     // for unique constraints
     indexType = IndexType.createUnique(t.isPersistIndexes(), false);
   } else {
     // constraints
     indexType = IndexType.createNonUnique(t.isPersistIndexes());
   }
   indexType.setBelongsToConstraint(true);
   String prefix = constraintName == null ? "CONSTRAINT" : constraintName;
   String indexName = t.getSchema().getUniqueIndexName(session, t, prefix + "_INDEX_");
   try {
     return t.addIndex(session, indexName, indexId, cols, indexType, true, null);
   } finally {
     getSchema().freeUniqueName(indexName);
   }
 }