public class VirtualConstructedTableIndex extends VirtualTableIndex
columnIds, columns, indexColumns, indexTypecomment, database, trace| Constructor and Description |
|---|
VirtualConstructedTableIndex(VirtualConstructedTable table,
IndexColumn[] columns) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
canGetFirstOrLast()
Check if the index can directly look up the lowest or highest value of a
column.
|
boolean |
canScan()
Can this index iterate over all rows?
|
Cursor |
find(Session session,
SearchRow first,
SearchRow last)
Find a row or a list of rows and create a cursor to iterate over the
result.
|
double |
getCost(Session 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, findFirstOrLast, getDiskSpaceUsed, getRowCount, getRowCountApproximation, needRebuild, remove, remove, truncatecanFindNext, checkIndexColumnTypes, compareKeys, compareRows, createLookupBatch, find, findNext, getColumnIndex, getColumns, getCostRangeIndex, getCreateSQL, getCreateSQLForCopy, getDropSQL, getDuplicateKeyException, getDuplicatePrimaryKeyMessage, getIndexColumns, getIndexType, getRow, getTable, getType, isFirstColumn, isHidden, isRowIdIndex, mayHaveNullDuplicates, removeChildrenAndResources, setSortedInsertMode, updategetSchema, getSQL, getSQLgetChildren, getComment, getDatabase, getId, getModificationId, getName, invalidate, isTemporary, isValid, rename, setComment, setModified, setObjectName, setTemporary, toStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetSchemagetChildren, getComment, getDatabase, getId, getName, getSQL, getSQL, isTemporary, rename, setComment, setTemporarypublic 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 interface IndexisFindUsingFullTableScan in class BaseIndextrue if find() implementation performs scan over all
index, false if find() performs the fast lookuppublic Cursor find(Session session, SearchRow first, SearchRow last)
Indexsession - the sessionfirst - the first row, or null for no limitlast - the last row, or null for no limitpublic double getCost(Session session, int[] masks, TableFilter[] filters, int filter, SortOrder sortOrder, AllColumnsForPlan allColumnsSet)
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 boolean canGetFirstOrLast()
Indexpublic java.lang.String getPlanSQL()
IndexgetPlanSQL in interface IndexgetPlanSQL in class BaseIndex