Package com.im.df.api.capabilities
Interface DBIndexCapability
-
- All Superinterfaces:
DFCapability
public interface DBIndexCapability extends DFCapability
Capability for managing indexes in the database.Changes in indexes can be observed as model changes notified from
DFSchema.- Author:
- svata
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description booleancanBeDropped(com.im.commons.db.ddl.DBIndexInfo index)Can the specified index be dropped?booleancanBeRebuilded(com.im.commons.db.ddl.DBIndexInfo index)Can the specified index be rebuild?voidcreateIndex(java.lang.String index, java.lang.String indexType, com.im.commons.db.ddl.DBTableInfo table, java.util.List<java.lang.String> columns, java.util.List<java.lang.Boolean> order, com.im.commons.progress.DFEnvironmentRW env)Creates an index over the specified table of the given type.voiddropIndex(com.im.commons.db.ddl.DBIndexInfo index, com.im.commons.progress.DFEnvironmentRW env)Drops the specified index.com.im.commons.db.ddl.DBIndexInfofindIndex(com.im.commons.db.ddl.DBTableInfo table, java.util.List<java.lang.String> columns)Will try to find and return indexes for the columns provided.voidrebuildIndex(com.im.commons.db.ddl.DBIndexInfo index, com.im.commons.progress.DFEnvironmentRW env)Rebuild the specified index.
-
-
-
Method Detail
-
createIndex
void createIndex(java.lang.String index, java.lang.String indexType, com.im.commons.db.ddl.DBTableInfo table, java.util.List<java.lang.String> columns, java.util.List<java.lang.Boolean> order, com.im.commons.progress.DFEnvironmentRW env)Creates an index over the specified table of the given type. The passed columns will form the index, in the exact specified order. The ascending/descending order is specified by the 'order' parameter. If 'order' is null, all columns are indexed ascending.TODO API - we must add some proxy method to API to delegate to DatabasePlatform. Contact us if you need it.
- Parameters:
index- The name of the new index. The name must not be already used by an index.indexType- The type of the index. Consult implementation class com.im.df.core.DatabasePlatform.supportedIndexTypes in DIF Impl module for valid values.table- The table that will be indexedcolumns- The list of columns to index. The order is significantorder- The ascending/descending specification for the sort order
-
dropIndex
void dropIndex(com.im.commons.db.ddl.DBIndexInfo index, com.im.commons.progress.DFEnvironmentRW env)Drops the specified index. The index name must exist, otherwise an SQLException will be thrown.- Parameters:
index- The index to drop
-
rebuildIndex
void rebuildIndex(com.im.commons.db.ddl.DBIndexInfo index, com.im.commons.progress.DFEnvironmentRW env)Rebuild the specified index. The index name must exist, otherwise an SQLException will be thrown.- Parameters:
index- The index to rebuild
-
canBeDropped
boolean canBeDropped(com.im.commons.db.ddl.DBIndexInfo index)
Can the specified index be dropped?- Parameters:
index- The index to drop
-
canBeRebuilded
boolean canBeRebuilded(com.im.commons.db.ddl.DBIndexInfo index)
Can the specified index be rebuild?- Parameters:
index- The index to rebuild
-
findIndex
com.im.commons.db.ddl.DBIndexInfo findIndex(com.im.commons.db.ddl.DBTableInfo table, java.util.List<java.lang.String> columns)Will try to find and return indexes for the columns provided. Column order is important- Parameters:
table- The table whose columns are indexedcolumns- The list of indexed columns- Returns:
- DFIndexInfo for the index found, or
nullif no such index exists.
-
-