this.partitionKeyFieldHandlers = new DomainFieldHandlerImpl[numberOfPartitionKeyColumns];
// Process indexes for the table. There might not be a field associated with the index.
// The first entry in indexHandlerImpls is for the mandatory hash primary key,
// which is not really an index but is treated as an index by query.
Index primaryIndex = dictionary.getIndex("PRIMARY$KEY", tableName, "PRIMARY");
IndexHandlerImpl primaryIndexHandler =
new IndexHandlerImpl(this, dictionary, primaryIndex, primaryKeyColumnNames);
indexHandlerImpls.add(primaryIndexHandler);
String[] indexNames = table.getIndexNames();
for (String indexName: indexNames) {
// the index alias is the name as known by the user (without the $unique suffix)
String indexAlias = removeUniqueSuffix(indexName);
Index index = dictionary.getIndex(indexName, tableName, indexAlias);
String[] indexColumnNames = index.getColumnNames();
IndexHandlerImpl imd = new IndexHandlerImpl(this, dictionary, index, indexColumnNames);
indexHandlerImpls.add(imd);
}
// Now iterate the columns in the table, creating a DomainFieldHandler for each column