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| 构造器和说明 |
|---|
MVPrimaryIndex(Database db,
MVTable table,
int id,
IndexColumn[] columns,
IndexType indexType) |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
add(SessionLocal session,
Row row)
Add a row to the index.
|
void |
addBufferedRows(List<String> bufferNames)
Add all the index data from the buffers to the index.
|
void |
addRowsToBuffer(List<Row> rows,
String bufferName)
Add the rows to a temporary storage (not to the index yet).
|
boolean |
canGetFirstOrLast()
Check if the index can directly look up the lowest or highest value of a
column.
|
void |
close(SessionLocal session)
Close this index.
|
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.
|
int |
getColumnIndex(Column col)
Get the index of a column in the list of index columns
|
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.
|
String |
getCreateSQL()
Construct the CREATE ...
|
long |
getDiskSpaceUsed()
Get the used disk space for this index.
|
int |
getMainIndexColumn() |
String |
getMapName() |
MVMap<Long,VersionedValue<SearchRow>> |
getMVMap() |
String |
getPlanSQL()
Get the message to show in a EXPLAIN statement.
|
Row |
getRow(SessionLocal session,
long key)
Get the row with the given key.
|
long |
getRowCount(SessionLocal session)
Get the row count of this table, for the given session.
|
long |
getRowCountApproximation(SessionLocal session)
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 |
isFirstColumn(Column column)
Check if the given column is the first for this index
|
boolean |
isRowIdIndex()
Does this index support lookup by row id?
|
boolean |
needRebuild()
Check if the index needs to be rebuilt.
|
void |
remove(SessionLocal session)
Remove the index.
|
void |
remove(SessionLocal session,
Row row)
Remove a row from the index.
|
void |
setMainIndexColumn(int mainIndexColumn) |
void |
truncate(SessionLocal session)
Remove all rows from the index.
|
void |
update(SessionLocal session,
Row oldRow,
Row newRow)
Update index after row change.
|
canFindNext, canScan, checkIndexColumnTypes, compareRows, findNext, getColumns, getCostRangeIndex, getCreateSQLForCopy, getDuplicateKeyException, getDuplicatePrimaryKeyMessage, getIndexColumns, getIndexType, getRowFactory, getType, getUniqueColumnCount, getUniqueRowFactory, isFindUsingFullTableScan, isHidden, mayHaveNullDuplicates, removeChildrenAndResourcesgetSchema, getSQL, getSQLcheckRename, getChildren, 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 MVPrimaryIndex(Database db, MVTable table, int id, IndexColumn[] columns, IndexType indexType)
public String getCreateSQL()
DbObjectgetCreateSQL 在类中 Indexpublic String getPlanSQL()
IndexgetPlanSQL 在类中 Indexpublic void setMainIndexColumn(int mainIndexColumn)
public int getMainIndexColumn()
public void close(SessionLocal session)
Indexpublic void add(SessionLocal session, Row row)
Indexpublic void remove(SessionLocal session, Row row)
Indexpublic void update(SessionLocal session, Row oldRow, Row newRow)
Indexpublic Cursor find(SessionLocal session, SearchRow first, SearchRow last)
Indexpublic Row getRow(SessionLocal session, long key)
Indexpublic double getCost(SessionLocal session, int[] masks, TableFilter[] filters, int filter, SortOrder sortOrder, AllColumnsForPlan allColumnsSet)
IndexgetCost 在类中 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 在类中 Indexcol - the columnpublic boolean isFirstColumn(Column column)
IndexisFirstColumn 在类中 Indexcolumn - the columnpublic void remove(SessionLocal session)
Indexpublic void truncate(SessionLocal session)
Indexpublic boolean canGetFirstOrLast()
IndexcanGetFirstOrLast 在类中 Indexpublic Cursor findFirstOrLast(SessionLocal session, boolean first)
IndexfindFirstOrLast 在类中 Indexsession - the sessionfirst - true if the first (lowest for ascending indexes) or last
value should be returnedpublic boolean needRebuild()
IndexneedRebuild 在类中 Indexpublic long getRowCount(SessionLocal session)
IndexgetRowCount 在类中 Indexsession - the sessionpublic long getRowCountMax()
public long getRowCountApproximation(SessionLocal session)
IndexgetRowCountApproximation 在类中 Indexsession - the sessionpublic long getDiskSpaceUsed()
IndexgetDiskSpaceUsed 在类中 Indexpublic String getMapName()
public void addRowsToBuffer(List<Row> rows, String bufferName)
MVIndexaddRowsToBuffer 在类中 MVIndex<Long,SearchRow>rows - the rowsbufferName - the name of the temporary storagepublic void addBufferedRows(List<String> bufferNames)
MVIndexaddBufferedRows 在类中 MVIndex<Long,SearchRow>bufferNames - the names of the temporary storagepublic boolean isRowIdIndex()
IndexisRowIdIndex 在类中 IndexCopyright © 2022. All rights reserved.