MultiVersionIndex

A multi-version index is a combination of a regular index, and a in-memory tree index that contains uncommitted changes. Uncommitted changes can include new rows, and deleted rows.

Methods
void add(Session session, Row row)
void add(Session session, Row row)
boolean canFindNext()
boolean canFindNext()
boolean canGetFirstOrLast()
boolean canGetFirstOrLast()
boolean canScan()
boolean canScan()
void checkRename()
void checkRename()
void close(Session session)
void close(Session session)
void commit(int operation, Row row)
void commit(int operation, Row row)
int compareRows(SearchRow rowData, SearchRow compare)
int compareRows(SearchRow rowData, SearchRow compare)
IndexLookupBatch createLookupBatch(TableFilter[] filters, int filter)
IndexLookupBatch createLookupBatch(TableFilter[] filters, int filter)
Cursor find(TableFilter filter, SearchRow first, SearchRow last)
Cursor find(TableFilter filter, SearchRow first, SearchRow last)
Cursor find(Session session, SearchRow first, SearchRow last)
Cursor find(Session session, SearchRow first, SearchRow last)
Cursor findFirstOrLast(Session session, boolean first)
Cursor findFirstOrLast(Session session, boolean first)
Cursor findNext(Session session, SearchRow first, SearchRow last)
Cursor findNext(Session session, SearchRow first, SearchRow last)
Index getBaseIndex()
Index getBaseIndex()
ArrayList getChildren()
ArrayList getChildren()
int getColumnIndex(Column col)
int getColumnIndex(Column col)
Column[] getColumns()
Column[] getColumns()
String getComment()
String getComment()
double getCost(Session session, int[] masks, TableFilter[] filters, int filter, SortOrder sortOrder, HashSet allColumnsSet)
double getCost(Session session, int[] masks, TableFilter[] filters, int filter, SortOrder sortOrder, HashSet allColumnsSet)
String getCreateSQL()
String getCreateSQL()
String getCreateSQLForCopy(Table forTable, String quotedName)
String getCreateSQLForCopy(Table forTable, String quotedName)
Database getDatabase()
Database getDatabase()
long getDiskSpaceUsed()
long getDiskSpaceUsed()
String getDropSQL()
String getDropSQL()
int getId()
int getId()
IndexColumn[] getIndexColumns()
IndexColumn[] getIndexColumns()
IndexType getIndexType()
IndexType getIndexType()
String getName()
String getName()
String getPlanSQL()
String getPlanSQL()
Row getRow(Session session, long key)
Row getRow(Session session, long key)
long getRowCount(Session session)
long getRowCount(Session session)
long getRowCountApproximation()
long getRowCountApproximation()
String getSQL()
String getSQL()
Schema getSchema()
Schema getSchema()
Table getTable()
Table getTable()
int getType()
int getType()
boolean isFindUsingFullTableScan()
boolean isFindUsingFullTableScan()
boolean isFirstColumn(Column column)
boolean isFirstColumn(Column column)
boolean isHidden()
boolean isHidden()
boolean isRowIdIndex()
boolean isRowIdIndex()
boolean isTemporary()
boolean isTemporary()
boolean isUncommittedFromOtherSession(Session session, Row row)
Check if there is an uncommitted row with the given key within a different session.
boolean isUncommittedFromOtherSession(Session session, Row row)
Check if there is an uncommitted row with the given key within a different session.
Parameters:
session - the original session
row - the row (only the key is checked)
Returns:
true if there is an uncommitted row
boolean needRebuild()
boolean needRebuild()
void remove(Session session, Row row)
void remove(Session session, Row row)
void remove(Session session)
void remove(Session session)
void removeChildrenAndResources(Session session)
void removeChildrenAndResources(Session session)
void rename(String newName)
void rename(String newName)
void setComment(String comment)
void setComment(String comment)
void setSortedInsertMode(boolean sortedInsertMode)
void setSortedInsertMode(boolean sortedInsertMode)
void setTemporary(boolean temporary)
void setTemporary(boolean temporary)
void truncate(Session session)
void truncate(Session session)