columnIds, columns, indexColumns, indexType, table, uniqueColumnColumnAGGREGATE, comment, COMMENT, CONSTANT, CONSTRAINT, database, DOMAIN, FUNCTION_ALIAS, INDEX, RIGHT, ROLE, SCHEMA, SEQUENCE, SETTING, SYNONYM, TABLE_OR_VIEW, trace, TRIGGER, USERADD_PLAN_INFORMATION, DEFAULT_SQL_FLAGS, NO_CASTS, QUOTE_ONLY_WHEN_REQUIRED, REPLACE_LOBS_FOR_TRACE, TRACE_SQL_FLAGS| Constructor and Description |
|---|
MetaIndex(MetaTable meta,
IndexColumn[] columns,
boolean scan) |
| Modifier and Type | Method and Description |
|---|---|
void |
add(SessionLocal session,
Row row)
Add a row to the index.
|
void |
checkRename()
Check if renaming is allowed.
|
void |
close(SessionLocal session)
Close this index.
|
Cursor |
find(SessionLocal session,
SearchRow first,
SearchRow last)
Find a row or a list of rows 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
|
double |
getCost(SessionLocal session,
int[] masks,
TableFilter[] filters,
int filter,
SortOrder sortOrder,
AllColumnsForPlan allColumnsSet)
Estimate the cost to search for rows given the search mask.
|
java.lang.String |
getCreateSQL()
Construct the CREATE ...
|
long |
getDiskSpaceUsed()
Get the used disk space for this index.
|
java.lang.String |
getPlanSQL()
Get the message to show in a EXPLAIN statement.
|
long |
getRowCount(SessionLocal session)
Get the row count of this table, for the given session.
|
long |
getRowCountApproximation(SessionLocal session)
Get the approximated row count for this table.
|
boolean |
isFirstColumn(Column column)
Check if the given column is the first for this index
|
boolean |
needRebuild()
Check if the index needs to be rebuilt.
|
void |
remove(SessionLocal session)
Remove the index.
|
void |
remove(SessionLocal session,
Row row)
Remove a row from the index.
|
void |
truncate(SessionLocal session)
Remove all rows from the index.
|
canFindNext, canGetFirstOrLast, canScan, checkIndexColumnTypes, compareRows, findFirstOrLast, findNext, getColumns, getCostRangeIndex, getCreateSQLForCopy, getDuplicateKeyException, getDuplicatePrimaryKeyMessage, getIndexColumns, getIndexType, getRow, getRowFactory, getTable, getType, getUniqueColumnCount, getUniqueRowFactory, isFindUsingFullTableScan, isHidden, isRowIdIndex, needsUniqueCheck, removeChildrenAndResources, updategetSchema, getSQL, getSQLgetChildren, getComment, getCreateSQLForMeta, getDatabase, getDropSQL, getId, getModificationId, getName, invalidate, isTemporary, isValid, rename, setComment, setModified, setObjectName, setTemporary, toStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetTraceSQLpublic MetaIndex(MetaTable meta, IndexColumn[] columns, boolean scan)
public void close(SessionLocal session)
Indexpublic void add(SessionLocal session, Row row)
Indexpublic void remove(SessionLocal session, Row row)
Indexpublic Cursor find(SessionLocal session, SearchRow first, SearchRow last)
Indexpublic double getCost(SessionLocal session, int[] masks, TableFilter[] filters, int filter, SortOrder sortOrder, AllColumnsForPlan allColumnsSet)
IndexgetCost in class Indexsession - the sessionmasks - per-column comparison bit masks, null means 'always false',
see constants in IndexConditionfilters - all joined table filtersfilter - the current table filter indexsortOrder - the sort orderallColumnsSet - the set of all columnspublic void truncate(SessionLocal session)
Indexpublic void remove(SessionLocal session)
Indexpublic int getColumnIndex(Column col)
IndexgetColumnIndex in class Indexcol - the columnpublic boolean isFirstColumn(Column column)
IndexisFirstColumn in class Indexcolumn - the columnpublic void checkRename()
DbObjectcheckRename in class DbObjectpublic boolean needRebuild()
IndexneedRebuild in class Indexpublic java.lang.String getCreateSQL()
DbObjectgetCreateSQL in class Indexpublic long getRowCount(SessionLocal session)
IndexgetRowCount in class Indexsession - the sessionpublic long getRowCountApproximation(SessionLocal session)
IndexgetRowCountApproximation in class Indexsession - the sessionpublic long getDiskSpaceUsed()
IndexgetDiskSpaceUsed in class Indexpublic java.lang.String getPlanSQL()
IndexgetPlanSQL in class Index