|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.h2.engine.DbObjectBase
org.h2.schema.SchemaObjectBase
org.h2.index.BaseIndex
org.h2.index.PageIndex
org.h2.index.PageBtreeIndex
public class PageBtreeIndex
This is the most common type of index, a b tree index. Only the data of the indexed columns are stored in the index.
Field Summary |
---|
Fields inherited from class org.h2.index.PageIndex |
---|
rootPageId |
Fields inherited from class org.h2.index.BaseIndex |
---|
columnIds, columns, indexColumns, indexType, isMultiVersion, table |
Fields inherited from class org.h2.engine.DbObjectBase |
---|
comment, database, trace |
Fields inherited from interface org.h2.engine.DbObject |
---|
AGGREGATE, COMMENT, CONSTANT, CONSTRAINT, FUNCTION_ALIAS, INDEX, RIGHT, ROLE, SCHEMA, SEQUENCE, SETTING, TABLE_OR_VIEW, TRIGGER, USER, USER_DATATYPE |
Constructor Summary | |
---|---|
PageBtreeIndex(RegularTable table,
int id,
java.lang.String indexName,
IndexColumn[] columns,
IndexType indexType,
boolean create,
Session session)
|
Method Summary | |
---|---|
void |
add(Session session,
Row row)
Add a row to the index. |
boolean |
canFindNext()
Check if the index can get the next higher value. |
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. |
Cursor |
findNext(Session session,
SearchRow first,
SearchRow last)
Find a row or a list of rows that is larger and create a cursor to iterate over the result. |
double |
getCost(Session session,
int[] masks)
Estimate the cost to search for rows given the search mask. |
Row |
getRow(Session session,
long key)
Get a row from the main 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 |
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. |
void |
writeRowCount()
Write back the row count if it has changed. |
Methods inherited from class org.h2.index.PageIndex |
---|
getRootPageId, setSortedInsertMode |
Methods inherited from class org.h2.index.BaseIndex |
---|
canScan, commit, compareRows, find, getColumnIndex, getColumns, getCreateSQL, getCreateSQLForCopy, getDropSQL, getIndexColumns, getIndexType, getPlanSQL, getTable, getType, initBaseIndex, isHidden, isRowIdIndex, removeChildrenAndResources |
Methods inherited from class org.h2.schema.SchemaObjectBase |
---|
getSchema, getSQL, initSchemaObjectBase |
Methods inherited from class org.h2.engine.DbObjectBase |
---|
getChildren, getComment, getDatabase, getId, getModificationId, getName, initDbObjectBase, invalidate, isTemporary, rename, setComment, setModified, setObjectName, setTemporary, toString |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.h2.schema.SchemaObject |
---|
getSchema |
Methods inherited from interface org.h2.engine.DbObject |
---|
getChildren, getComment, getDatabase, getId, getName, getSQL, isTemporary, rename, setComment, setTemporary |
Constructor Detail |
---|
public PageBtreeIndex(RegularTable table, int id, java.lang.String indexName, IndexColumn[] columns, IndexType indexType, boolean create, Session session)
Method Detail |
---|
public void add(Session session, Row row)
Index
session
- the session to userow
- the row to addpublic boolean canGetFirstOrLast()
Index
public Cursor findNext(Session session, SearchRow first, SearchRow last)
BaseIndex
findNext
in interface Index
findNext
in class BaseIndex
session
- the sessionfirst
- the lower limit (excluding)last
- the last row, or null for no limit
public Cursor find(Session session, SearchRow first, SearchRow last)
Index
session
- the sessionfirst
- the first row, or null for no limitlast
- the last row, or null for no limit
public Cursor findFirstOrLast(Session session, boolean first)
Index
session
- the sessionfirst
- true if the first (lowest for ascending indexes) or last
value should be returned
public double getCost(Session session, int[] masks)
Index
session
- the sessionmasks
- the search mask
public boolean needRebuild()
Index
public void remove(Session session, Row row)
Index
session
- the sessionrow
- the rowpublic void remove(Session session)
Index
session
- the sessionpublic void truncate(Session session)
Index
session
- the sessionpublic void checkRename()
DbObjectBase
checkRename
in interface DbObject
checkRename
in class DbObjectBase
public Row getRow(Session session, long key)
getRow
in interface Index
getRow
in class BaseIndex
session
- the sessionkey
- the row key
public long getRowCountApproximation()
Index
public long getRowCount(Session session)
Index
session
- the session
public void close(Session session)
Index
session
- the session used to write datapublic boolean canFindNext()
Index
canFindNext
in interface Index
canFindNext
in class BaseIndex
public void writeRowCount()
PageIndex
writeRowCount
in class PageIndex
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |