|
||||||||
| 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(TableData table,
int id,
IndexColumn[] columns,
IndexType indexType,
boolean create,
Session session)
|
|
| Method Summary | |
|---|---|
void |
add(Session session,
Row row)
Add a row to this index. |
boolean |
canGetFirstOrLast()
Check if this index can quickly find the first or last value. |
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)
Create a cursor to iterate over a number of rows. |
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)
Calculate the cost to find rows. |
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()
|
Row |
getRow(long key)
Get the row with the given key. |
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. |
boolean |
needRebuild()
Check if this index needs to be re-built. |
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)
Truncate 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, compareKeys, compareRows, containsNullAndAllowMultipleNull, findNext, getColumnListSQL, getColumns, getCostRangeIndex, getCreateSQLForCopy, getDropSQL, getIndexColumns, getIndexType, getLookupCost, getPlanSQL, getTable, getType, 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, getModificationId, getName, getSQL, isTemporary, rename, setComment, setModified, setTemporary |
| Constructor Detail |
|---|
public PageDataIndex(TableData table,
int id,
IndexColumn[] columns,
IndexType indexType,
boolean create,
Session session)
| Method Detail |
|---|
public DbException getDuplicateKeyException()
Index
getDuplicateKeyException in interface IndexgetDuplicateKeyException in class BaseIndex
public void add(Session session,
Row row)
BaseIndex
add in interface Indexadd in class BaseIndexsession - the sessionrow - the row to addpublic boolean canGetFirstOrLast()
BaseIndex
canGetFirstOrLast in interface IndexcanGetFirstOrLast in class BaseIndex
public Cursor find(Session session,
SearchRow first,
SearchRow last)
BaseIndex
find in interface Indexfind in class BaseIndexsession - the sessionfirst - the first row to return (null if no limit)last - the last row to return (null if no limit)
public Cursor findFirstOrLast(Session session,
boolean first)
BaseIndex
findFirstOrLast in interface IndexfindFirstOrLast in class BaseIndexsession - the sessionfirst - true for the first value, false for the last
public double getCost(Session session,
int[] masks)
BaseIndex
getCost in interface IndexgetCost in class BaseIndexsession - the sessionmasks - the condition mask
public boolean needRebuild()
BaseIndex
needRebuild in interface IndexneedRebuild in class BaseIndex
public void remove(Session session,
Row row)
BaseIndex
remove in interface Indexremove in class BaseIndexsession - the sessionrow - the rowpublic void remove(Session session)
BaseIndex
remove in interface Indexremove in class BaseIndexsession - the sessionpublic void truncate(Session session)
BaseIndex
truncate in interface Indextruncate in class BaseIndexsession - the sessionpublic void checkRename()
DbObjectBase
checkRename in interface DbObjectcheckRename in class DbObjectBase
public Row getRow(Session session,
long key)
Index
getRow in interface IndexgetRow in class BaseIndexsession - the sessionkey - the unique key
public Row getRow(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 DbObjectgetCreateSQL in class BaseIndexpublic int getColumnIndex(Column col)
Index
getColumnIndex in interface IndexgetColumnIndex in class BaseIndexcol - the column
public void close(Session session)
BaseIndex
close in interface Indexclose in class BaseIndexsession - the session
public void commit(int operation,
Row row)
Index
commit in interface Indexcommit in class BaseIndexoperation - the operation typerow - the rowpublic void setMainIndexColumn(int mainIndexColumn)
public int getMainIndexColumn()
public java.lang.String toString()
toString in class DbObjectBasepublic void writeRowCount()
PageIndex
writeRowCount in class PageIndex
|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||