public class RangeIndex extends VirtualTableIndex
columnIds, columns, indexColumns, indexType, tablecomment, database, trace| Constructor and Description |
|---|
RangeIndex(RangeTable 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.
|
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.
|
Cursor |
findFirstOrLast(Session session,
boolean first)
Find the first (or last) value of this index.
|
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 |
getCreateSQL()
Build a SQL statement to re-create this object.
|
java.lang.String |
getPlanSQL()
Get the message to show in a EXPLAIN statement.
|
add, checkRename, close, getDiskSpaceUsed, getRowCount, getRowCountApproximation, needRebuild, remove, remove, truncatecanFindNext, canScan, checkIndexColumnTypes, compareKeys, compareRows, createLookupBatch, find, findNext, getColumnIndex, getColumns, getCostRangeIndex, getCreateSQLForCopy, getDropSQL, getDuplicateKeyException, getDuplicatePrimaryKeyMessage, getIndexColumns, getIndexType, getRow, getTable, getType, isFindUsingFullTableScan, 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 RangeIndex(RangeTable table, IndexColumn[] columns)
public 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 java.lang.String getCreateSQL()
DbObjectBasegetCreateSQL in interface DbObjectgetCreateSQL in class BaseIndexpublic boolean canGetFirstOrLast()
Indexpublic Cursor findFirstOrLast(Session session, boolean first)
IndexfindFirstOrLast in interface IndexfindFirstOrLast in class VirtualTableIndexsession - the sessionfirst - true if the first (lowest for ascending indexes) or last
value should be returnedpublic java.lang.String getPlanSQL()
IndexgetPlanSQL in interface IndexgetPlanSQL in class BaseIndex