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 |
|---|
LinkedIndex(TableLink table,
int id,
IndexColumn[] columns,
int uniqueColumnCount,
IndexType indexType) |
| 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.
|
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 |
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 |
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.
|
void |
update(Row oldRow,
Row newRow,
SessionLocal session)
Update a row using a UPDATE statement.
|
canFindNext, canGetFirstOrLast, canScan, checkIndexColumnTypes, compareRows, findFirstOrLast, findNext, getColumnIndex, getColumns, getCostRangeIndex, getCreateSQLForCopy, getDiskSpaceUsed, getDuplicateKeyException, getDuplicatePrimaryKeyMessage, getIndexColumns, getIndexType, getPlanSQL, getRow, getRowFactory, getTable, getType, getUniqueColumnCount, getUniqueRowFactory, isFindUsingFullTableScan, isFirstColumn, 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 LinkedIndex(TableLink table, int id, IndexColumn[] columns, int uniqueColumnCount, IndexType indexType)
public java.lang.String getCreateSQL()
DbObjectgetCreateSQL in class Indexpublic void close(SessionLocal session)
Indexpublic void add(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 remove(SessionLocal session)
Indexpublic void truncate(SessionLocal session)
Indexpublic void checkRename()
DbObjectcheckRename in class DbObjectpublic boolean needRebuild()
IndexneedRebuild in class Indexpublic void remove(SessionLocal session, Row row)
Indexpublic void update(Row oldRow, Row newRow, SessionLocal session)
oldRow - the old datanewRow - the new datasession - the sessionpublic long getRowCount(SessionLocal session)
IndexgetRowCount in class Indexsession - the sessionpublic long getRowCountApproximation(SessionLocal session)
IndexgetRowCountApproximation in class Indexsession - the session