public abstract class BaseIndex extends SchemaObjectBase implements Index
| Modifier and Type | Field and Description |
|---|---|
protected int[] |
columnIds |
protected Column[] |
columns |
protected IndexColumn[] |
indexColumns |
protected IndexType |
indexType |
protected boolean |
isMultiVersion |
protected Table |
table |
comment, database, traceAGGREGATE, COMMENT, CONSTANT, CONSTRAINT, FUNCTION_ALIAS, INDEX, RIGHT, ROLE, SCHEMA, SEQUENCE, SETTING, TABLE_OR_VIEW, TRIGGER, USER, USER_DATATYPE| Constructor and Description |
|---|
BaseIndex() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
canFindNext()
Check if the index can get the next higher value.
|
boolean |
canScan()
Can this index iterate over all rows?
|
void |
commit(int operation,
Row row)
Commit the operation for a row.
|
int |
compareRows(SearchRow rowData,
SearchRow compare)
Compare two rows.
|
Cursor |
find(TableFilter filter,
SearchRow first,
SearchRow last)
Find a row or a list of rows and create a cursor to iterate over the result.
|
Cursor |
findNext(Session session,
SearchRow higherThan,
SearchRow last)
Find a row or a list of rows that is larger and create a cursor to
iterate over the result.
|
int |
getColumnIndex(Column col)
Get the index of a column in the list of index columns
|
Column[] |
getColumns()
Get the indexed columns.
|
String |
getCreateSQL()
Build a SQL statement to re-create this object.
|
String |
getCreateSQLForCopy(Table targetTable,
String quotedName)
Build a SQL statement to re-create the object, or to create a copy of the
object with a different name or referencing a different table
|
String |
getDropSQL()
Build a SQL statement to drop this object.
|
IndexColumn[] |
getIndexColumns()
Get the indexed columns as index columns (with ordering information).
|
IndexType |
getIndexType()
Get the index type.
|
String |
getPlanSQL()
Get the message to show in a EXPLAIN statement.
|
Row |
getRow(Session session,
long key)
Get the row with the given key.
|
Table |
getTable()
Get the table on which this index is based.
|
int |
getType()
Get the object type.
|
protected void |
initBaseIndex(Table newTable,
int id,
String name,
IndexColumn[] newIndexColumns,
IndexType newIndexType)
Initialize the base index.
|
boolean |
isHidden()
Check whether this is a hidden object that doesn't appear in the meta
data and in the script, and is not dropped on DROP ALL OBJECTS.
|
boolean |
isRowIdIndex()
Does this index support lookup by row id?
|
void |
removeChildrenAndResources(Session session)
Remove all dependent objects and free all resources (files, blocks in
files) of this object.
|
void |
setSortedInsertMode(boolean sortedInsertMode)
Enable or disable the 'sorted insert' optimizations (rows are inserted in
ascending or descending order) if applicable for this index
implementation.
|
getSchema, getSQL, initSchemaObjectBasecheckRename, getChildren, getComment, getDatabase, getId, getModificationId, getName, initDbObjectBase, invalidate, isTemporary, rename, setComment, setModified, setObjectName, setTemporary, toStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitadd, canGetFirstOrLast, close, find, findFirstOrLast, getCost, getRowCount, getRowCountApproximation, needRebuild, remove, remove, truncategetSchemacheckRename, getChildren, getComment, getDatabase, getId, getName, getSQL, isTemporary, rename, setComment, setTemporaryprotected IndexColumn[] indexColumns
protected Column[] columns
protected int[] columnIds
protected Table table
protected IndexType indexType
protected boolean isMultiVersion
protected void initBaseIndex(Table newTable, int id, String name, IndexColumn[] newIndexColumns, IndexType newIndexType)
newTable - the tableid - the object idname - the index namenewIndexColumns - the columns that are indexed or null if this is
not yet knownnewIndexType - the index typepublic String getDropSQL()
DbObjectBasegetDropSQL in interface DbObjectgetDropSQL in class DbObjectBasepublic String getPlanSQL()
IndexgetPlanSQL in interface Indexpublic void removeChildrenAndResources(Session session)
DbObjectBaseremoveChildrenAndResources in interface DbObjectremoveChildrenAndResources in class DbObjectBasesession - the sessionpublic boolean canFindNext()
IndexcanFindNext in interface Indexpublic Cursor find(TableFilter filter, SearchRow first, SearchRow last)
Indexpublic Cursor findNext(Session session, SearchRow higherThan, SearchRow last)
findNext in interface Indexsession - the sessionhigherThan - the lower limit (excluding)last - the last row, or null for no limitDbException - alwayspublic int compareRows(SearchRow rowData, SearchRow compare)
IndexcompareRows in interface IndexrowData - the first rowcompare - the second rowpublic int getColumnIndex(Column col)
IndexgetColumnIndex in interface Indexcol - the columnpublic String getCreateSQLForCopy(Table targetTable, String quotedName)
DbObjectgetCreateSQLForCopy in interface DbObjecttargetTable - the new tablequotedName - the quoted namepublic String getCreateSQL()
DbObjectBasegetCreateSQL in interface DbObjectgetCreateSQL in class DbObjectBasepublic IndexColumn[] getIndexColumns()
IndexgetIndexColumns in interface Indexpublic Column[] getColumns()
IndexgetColumns in interface Indexpublic IndexType getIndexType()
IndexgetIndexType in interface Indexpublic int getType()
DbObjectpublic Table getTable()
Indexpublic void commit(int operation,
Row row)
Indexpublic Row getRow(Session session, long key)
Indexpublic boolean isHidden()
SchemaObjectisHidden in interface SchemaObjectisHidden in class SchemaObjectBasepublic boolean isRowIdIndex()
IndexisRowIdIndex in interface Indexpublic boolean canScan()
Indexpublic void setSortedInsertMode(boolean sortedInsertMode)
IndexsetSortedInsertMode in interface IndexsortedInsertMode - the new valueCopyright © 2012 JBoss by Red Hat. All Rights Reserved.