public class VirtualConstructedTableIndex extends VirtualTableIndex
columnIds, columns, indexColumns, indexType, uniqueColumnColumn
AGGREGATE, comment, COMMENT, CONSTANT, CONSTRAINT, database, DOMAIN, FUNCTION_ALIAS, INDEX, RIGHT, ROLE, SCHEMA, SEQUENCE, SETTING, SYNONYM, TABLE_OR_VIEW, trace, TRIGGER, USER
ADD_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, truncate
canFindNext, canGetFirstOrLast, checkIndexColumnTypes, compareRows, findFirstOrLast, findNext, getColumnIndex, getColumns, getCostRangeIndex, getCreateSQL, getCreateSQLForCopy, getDiskSpaceUsed, getDuplicateKeyException, getDuplicatePrimaryKeyMessage, getIndexColumns, getIndexType, getRow, getRowFactory, getTable, getType, getUniqueColumnCount, getUniqueRowFactory, isFirstColumn, isHidden, isRowIdIndex, needsUniqueCheck, removeChildrenAndResources, update
getSchema, getSQL, getSQL
getChildren, getComment, getCreateSQLForMeta, getDatabase, getDropSQL, getId, getModificationId, getName, invalidate, isTemporary, isValid, rename, setComment, setModified, setObjectName, setTemporary, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getTraceSQL
public VirtualConstructedTableIndex(VirtualConstructedTable table, IndexColumn[] columns)
public boolean isFindUsingFullTableScan()
Index
true
if find()
implementation performs scan over all
index, false
if find()
performs the fast lookup.isFindUsingFullTableScan
in class Index
true
if find()
implementation performs scan over all
index, false
if find()
performs the fast lookuppublic Cursor find(SessionLocal session, SearchRow first, SearchRow last)
Index
public double getCost(SessionLocal session, int[] masks, TableFilter[] filters, int filter, SortOrder sortOrder, AllColumnsForPlan allColumnsSet)
Index
getCost
in class Index
session
- 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()
Index
getPlanSQL
in class Index