public class VirtualConstructedTableIndex extends VirtualTableIndex
columnIds, columns, indexColumns, indexType, 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 |
|---|
VirtualConstructedTableIndex(VirtualConstructedTable table,
IndexColumn[] columns) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
canScan()
Can this index iterate over all rows?
|
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 |
getPlanSQL()
Get the message to show in a EXPLAIN statement.
|
boolean |
isFindUsingFullTableScan()
Returns
true if find() implementation performs scan over all
index, false if find() performs the fast lookup. |
add, checkRename, close, getRowCount, getRowCountApproximation, needRebuild, remove, remove, truncatecanFindNext, canGetFirstOrLast, checkIndexColumnTypes, compareRows, findFirstOrLast, findNext, getColumnIndex, getColumns, getCostRangeIndex, getCreateSQL, getCreateSQLForCopy, getDiskSpaceUsed, getDuplicateKeyException, getDuplicatePrimaryKeyMessage, getIndexColumns, getIndexType, getRow, getRowFactory, getTable, getType, getUniqueColumnCount, getUniqueRowFactory, isFirstColumn, isHidden, isRowIdIndex, mayHaveNullDuplicates, 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 VirtualConstructedTableIndex(VirtualConstructedTable table, IndexColumn[] columns)
public boolean isFindUsingFullTableScan()
Indextrue if find() implementation performs scan over all
index, false if find() performs the fast lookup.isFindUsingFullTableScan in class Indextrue if find() implementation performs scan over all
index, false if find() performs the fast lookuppublic 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 java.lang.String getPlanSQL()
IndexgetPlanSQL in class Index