|
||||||||
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.PageDataIndex
public class PageDataIndex
The scan index allows to access a row by key. It can be used to iterate over all rows of a table. Each regular table has one such object, even if no primary key or indexes are defined.
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 | |
---|---|
PageDataIndex(RegularTable table,
int id,
IndexColumn[] columns,
IndexType indexType,
boolean create,
Session session)
|
Method Summary | |
---|---|
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. |
java.lang.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()
|
java.lang.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)
|
java.lang.String |
toString()
|
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 |
---|
canFindNext, canScan, compareRows, find, findNext, getColumns, getCreateSQLForCopy, getDropSQL, getIndexColumns, getIndexType, getTable, getType, initBaseIndex, isHidden, 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 |
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 PageDataIndex(RegularTable table, int id, IndexColumn[] columns, IndexType indexType, boolean create, Session session)
Method Detail |
---|
public DbException getDuplicateKeyException()
BaseIndex
public void add(Session session, Row row)
Index
session
- the session to userow
- the row to addpublic DbException getNewDuplicateKeyException()
public boolean canGetFirstOrLast()
Index
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)
Index
getRow
in interface Index
getRow
in class BaseIndex
session
- the sessionkey
- the unique key
public Row getRowWithKey(long key)
key
- the key
public long getRowCountApproximation()
Index
public long getRowCount(Session session)
Index
session
- the session
public java.lang.String getCreateSQL()
DbObjectBase
getCreateSQL
in interface DbObject
getCreateSQL
in class BaseIndex
public int getColumnIndex(Column col)
Index
getColumnIndex
in interface Index
getColumnIndex
in class BaseIndex
col
- the column
public void close(Session session)
Index
session
- the session used to write datapublic void commit(int operation, Row row)
Index
commit
in interface Index
commit
in class BaseIndex
operation
- the operation typerow
- the rowpublic void setMainIndexColumn(int mainIndexColumn)
public int getMainIndexColumn()
public java.lang.String toString()
toString
in class DbObjectBase
public void writeRowCount()
PageIndex
writeRowCount
in class PageIndex
public java.lang.String getPlanSQL()
Index
getPlanSQL
in interface Index
getPlanSQL
in class BaseIndex
public boolean isRowIdIndex()
Index
isRowIdIndex
in interface Index
isRowIdIndex
in class BaseIndex
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |