public class PageDataIndex extends PageIndex
rootPageIdcolumnIds, 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| Constructor and Description |
|---|
PageDataIndex(RegularTable table,
int id,
IndexColumn[] columns,
IndexType indexType,
boolean create,
Session session) |
| Modifier and Type | Method and Description |
|---|---|
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.
|
void |
commit(int operation,
Row row)
Commit the operation for a row.
|
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)
Estimate the cost to search for rows given the search mask.
|
String |
getCreateSQL()
Build a SQL statement to re-create this object.
|
DbException |
getDuplicateKeyException()
Create a duplicate key exception with a message that contains the index name
|
int |
getMainIndexColumn() |
DbException |
getNewDuplicateKeyException() |
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.
|
Row |
getRowWithKey(long key)
Get the row with the given key.
|
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) |
String |
toString() |
void |
truncate(Session session)
Remove all rows from the index.
|
void |
writeRowCount()
Write back the row count if it has changed.
|
getRootPageId, setSortedInsertModecanFindNext, canScan, compareRows, find, findNext, getColumns, getCreateSQLForCopy, getDropSQL, getIndexColumns, getIndexType, getTable, getType, initBaseIndex, isHidden, removeChildrenAndResourcesgetSchema, getSQL, initSchemaObjectBasegetChildren, getComment, getDatabase, getId, getModificationId, getName, initDbObjectBase, invalidate, isTemporary, rename, setComment, setModified, setObjectName, setTemporaryclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetSchemagetChildren, getComment, getDatabase, getId, getName, getSQL, isTemporary, rename, setComment, setTemporarypublic PageDataIndex(RegularTable table, int id, IndexColumn[] columns, IndexType indexType, boolean create, Session session)
public DbException getDuplicateKeyException()
BaseIndexpublic void add(Session session, Row row)
Indexsession - the session to userow - the row to addpublic DbException getNewDuplicateKeyException()
public boolean canGetFirstOrLast()
Indexpublic 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 Cursor findFirstOrLast(Session session, boolean first)
Indexsession - the sessionfirst - true if the first (lowest for ascending indexes) or last
value should be returnedpublic double getCost(Session session, int[] masks)
Indexsession - the sessionmasks - the search maskpublic boolean needRebuild()
Indexpublic void remove(Session session, Row row)
Indexsession - the sessionrow - the rowpublic void remove(Session session)
Indexsession - the sessionpublic void truncate(Session session)
Indexsession - the sessionpublic void checkRename()
DbObjectBasecheckRename in interface DbObjectcheckRename in class DbObjectBasepublic Row getRow(Session session, long key)
Indexpublic Row getRowWithKey(long key)
key - the keypublic long getRowCountApproximation()
Indexpublic long getRowCount(Session session)
Indexsession - the sessionpublic String getCreateSQL()
DbObjectBasegetCreateSQL in interface DbObjectgetCreateSQL in class BaseIndexpublic int getColumnIndex(Column col)
IndexgetColumnIndex in interface IndexgetColumnIndex in class BaseIndexcol - the columnpublic void close(Session session)
Indexsession - the session used to write datapublic void commit(int operation,
Row row)
Indexpublic void setMainIndexColumn(int mainIndexColumn)
public int getMainIndexColumn()
public String toString()
toString in class DbObjectBasepublic void writeRowCount()
PageIndexwriteRowCount in class PageIndexpublic String getPlanSQL()
IndexgetPlanSQL in interface IndexgetPlanSQL in class BaseIndexpublic boolean isRowIdIndex()
IndexisRowIdIndex in interface IndexisRowIdIndex in class BaseIndexCopyright © 2012 JBoss by Red Hat. All Rights Reserved.