public class MVPrimaryIndex extends BaseIndex
columnIds, columns, indexColumns, indexType, isMultiVersion, tablecomment, database, traceAGGREGATE, COMMENT, CONSTANT, CONSTRAINT, FUNCTION_ALIAS, INDEX, RIGHT, ROLE, SCHEMA, SEQUENCE, SETTING, TABLE_OR_VIEW, TRIGGER, USER, USER_DATATYPE| 构造器和说明 |
|---|
MVPrimaryIndex(Database db,
MVTable table,
int id,
IndexColumn[] columns,
IndexType indexType) |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
add(Session session,
Row row)
Add a row to the index.
|
boolean |
canGetFirstOrLast()
Check if the index can directly look up the lowest or highest value of a
column.
|
void |
checkRename()
Check if this object can be renamed.
|
void |
close(Session session)
Close this index.
|
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.
|
int |
getColumnIndex(Column col)
Get the index of a column in the list of index columns
|
double |
getCost(Session session,
int[] masks,
TableFilter[] filters,
int filter,
SortOrder sortOrder,
HashSet<Column> allColumnsSet)
Estimate the cost to search for rows given the search mask.
|
String |
getCreateSQL()
Build a SQL statement to re-create this object.
|
long |
getDiskSpaceUsed()
Get the used disk space for this index.
|
int |
getMainIndexColumn() |
String |
getMapName() |
String |
getPlanSQL()
Get the message to show in a EXPLAIN statement.
|
Row |
getRow(Session session,
long key)
Get the row with the given key.
|
long |
getRowCount(Session session)
Get the row count of this table, for the given session.
|
long |
getRowCountApproximation()
Get the approximated row count for this table.
|
long |
getRowCountMax()
The maximum number of rows, including uncommitted rows of any session.
|
MVTable |
getTable()
Get the table on which this index is based.
|
boolean |
isRowIdIndex()
Does this index support lookup by row id?
|
boolean |
needRebuild()
Check if the index needs to be rebuilt.
|
void |
remove(Session session)
Remove the index.
|
void |
remove(Session session,
Row row)
Remove a row from the index.
|
void |
setMainIndexColumn(int mainIndexColumn) |
void |
truncate(Session session)
Remove all rows from the index.
|
canFindNext, canScan, checkIndexColumnTypes, commit, compareRows, containsNullAndAllowMultipleNull, createLookupBatch, find, findNext, getColumns, getCostRangeIndex, getCreateSQLForCopy, getDropSQL, getDuplicateKeyException, getIndexColumns, getIndexType, getType, initBaseIndex, isHidden, removeChildrenAndResources, setSortedInsertModegetSchema, getSQL, initSchemaObjectBasegetChildren, getComment, getDatabase, getId, getModificationId, getName, initDbObjectBase, invalidate, isTemporary, isValid, rename, setComment, setModified, setObjectName, setTemporary, toStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetSchemagetChildren, getComment, getDatabase, getId, getName, getSQL, isTemporary, rename, setComment, setTemporarypublic MVPrimaryIndex(Database db, MVTable table, int id, IndexColumn[] columns, IndexType indexType)
public String getCreateSQL()
DbObjectBasegetCreateSQL 在接口中 DbObjectgetCreateSQL 在类中 BaseIndexpublic String getPlanSQL()
IndexgetPlanSQL 在接口中 IndexgetPlanSQL 在类中 BaseIndexpublic void setMainIndexColumn(int mainIndexColumn)
public int getMainIndexColumn()
public void close(Session session)
Indexsession - the session used to write datapublic void add(Session session, Row row)
Indexsession - the session to userow - the row to addpublic void remove(Session session, Row row)
Indexsession - the sessionrow - the rowpublic 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, HashSet<Column> 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 int getColumnIndex(Column col)
IndexgetColumnIndex 在接口中 IndexgetColumnIndex 在类中 BaseIndexcol - the columnpublic void remove(Session session)
Indexsession - the sessionpublic void truncate(Session session)
Indexsession - the sessionpublic boolean canGetFirstOrLast()
Indexpublic Cursor findFirstOrLast(Session session, boolean first)
Indexsession - the sessionfirst - true if the first (lowest for ascending indexes) or last
value should be returnedpublic boolean needRebuild()
Indexpublic long getRowCount(Session session)
Indexsession - the sessionpublic long getRowCountMax()
public long getRowCountApproximation()
Indexpublic long getDiskSpaceUsed()
Indexpublic String getMapName()
public void checkRename()
DbObjectBasecheckRename 在接口中 DbObjectcheckRename 在类中 DbObjectBasepublic boolean isRowIdIndex()
IndexisRowIdIndex 在接口中 IndexisRowIdIndex 在类中 BaseIndexCopyright © 2017. All rights reserved.