public class RangeIndex extends VirtualTableIndex
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 |
|---|
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(SessionLocal session,
SearchRow first,
SearchRow last)
Find a row or a list of rows and create a cursor to iterate over the
result.
|
Cursor |
findFirstOrLast(SessionLocal session,
boolean first)
Find the first (or last) value of this index.
|
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 ...
|
java.lang.String |
getPlanSQL()
Get the message to show in a EXPLAIN statement.
|
add, checkRename, close, getRowCount, getRowCountApproximation, needRebuild, remove, remove, truncatecanFindNext, canScan, checkIndexColumnTypes, compareRows, findNext, getColumnIndex, getColumns, getCostRangeIndex, getCreateSQLForCopy, getDiskSpaceUsed, getDuplicateKeyException, getDuplicatePrimaryKeyMessage, getIndexColumns, getIndexType, 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 RangeIndex(RangeTable table, IndexColumn[] columns)
public 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 getCreateSQL()
DbObjectgetCreateSQL in class Indexpublic boolean canGetFirstOrLast()
IndexcanGetFirstOrLast in class Indexpublic Cursor findFirstOrLast(SessionLocal session, boolean first)
IndexfindFirstOrLast in class Indexsession - the sessionfirst - true if the first (lowest for ascending indexes) or last
value should be returnedpublic java.lang.String getPlanSQL()
IndexgetPlanSQL in class Index