columnIds, columns, indexColumns, indexType, isMultiVersion, table
comment, database, trace
AGGREGATE, COMMENT, CONSTANT, CONSTRAINT, FUNCTION_ALIAS, INDEX, RIGHT, ROLE, SCHEMA, SEQUENCE, SETTING, SYNONYM, TABLE_OR_VIEW, TRIGGER, USER, USER_DATATYPE
Constructor and Description |
---|
MVDelegateIndex(MVTable table,
int id,
String name,
MVPrimaryIndex mainIndex,
IndexType indexType) |
Modifier and Type | Method and Description |
---|---|
void |
add(Session 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 |
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.
|
long |
getDiskSpaceUsed()
Get the used disk space for this index.
|
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.
|
boolean |
isFirstColumn(Column column)
Check if the given column is the first for this index
|
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 |
truncate(Session session)
Remove all rows from the index.
|
canFindNext, canScan, checkIndexColumnTypes, commit, compareRows, createLookupBatch, find, findNext, getColumns, getCostRangeIndex, getCreateSQL, getCreateSQLForCopy, getDropSQL, getDuplicateKeyException, getIndexColumns, getIndexType, getPlanSQL, getRow, getTable, getType, initBaseIndex, isFindUsingFullTableScan, isHidden, isRowIdIndex, mayHaveNullDuplicates, removeChildrenAndResources, setSortedInsertMode
getSchema, getSQL, initSchemaObjectBase
getChildren, getComment, getDatabase, getId, getModificationId, getName, initDbObjectBase, invalidate, isTemporary, isValid, rename, setComment, setModified, setObjectName, setTemporary, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
canFindNext, canScan, commit, compareRows, createLookupBatch, find, findNext, getColumns, getIndexColumns, getIndexType, getPlanSQL, getRow, getTable, isFindUsingFullTableScan, isRowIdIndex, setSortedInsertMode
getSchema, isHidden
getChildren, getComment, getCreateSQL, getCreateSQLForCopy, getDatabase, getDropSQL, getId, getName, getSQL, getType, isTemporary, removeChildrenAndResources, rename, setComment, setTemporary
public MVDelegateIndex(MVTable table, int id, String name, MVPrimaryIndex mainIndex, IndexType indexType)
public void addRowsToBuffer(List<Row> rows, String bufferName)
MVIndex
addRowsToBuffer
in interface MVIndex
rows
- the rowsbufferName
- the name of the temporary storagepublic void addBufferedRows(List<String> bufferNames)
MVIndex
addBufferedRows
in interface MVIndex
bufferNames
- the names of the temporary storagepublic void add(Session session, Row row)
Index
public boolean canGetFirstOrLast()
Index
canGetFirstOrLast
in interface Index
public Cursor find(Session session, SearchRow first, SearchRow last)
Index
public Cursor findFirstOrLast(Session session, boolean first)
Index
findFirstOrLast
in interface Index
session
- the sessionfirst
- true if the first (lowest for ascending indexes) or last
value should be returnedpublic int getColumnIndex(Column col)
Index
getColumnIndex
in interface Index
getColumnIndex
in class BaseIndex
col
- the columnpublic boolean isFirstColumn(Column column)
Index
isFirstColumn
in interface Index
isFirstColumn
in class BaseIndex
column
- the columnpublic double getCost(Session session, int[] masks, TableFilter[] filters, int filter, SortOrder sortOrder, HashSet<Column> allColumnsSet)
Index
getCost
in interface Index
session
- 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 boolean needRebuild()
Index
needRebuild
in interface Index
public void remove(Session session, Row row)
Index
public void remove(Session session)
Index
public void truncate(Session session)
Index
public void checkRename()
DbObjectBase
checkRename
in interface DbObject
checkRename
in class DbObjectBase
public long getRowCount(Session session)
Index
getRowCount
in interface Index
session
- the sessionpublic long getRowCountApproximation()
Index
getRowCountApproximation
in interface Index
public long getDiskSpaceUsed()
Index
getDiskSpaceUsed
in interface Index
Copyright © 2020 JBoss by Red Hat. All rights reserved.