|
||||||||
| 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.index.Index |
|---|
EMPTY_HEAD |
| 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,
int headPos,
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. |
java.sql.SQLException |
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 |
|---|
getHeadPos, 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.index.Index |
|---|
canFindNext, compareKeys, compareRows, containsNullAndAllowMultipleNull, findNext, getColumnListSQL, getColumns, getCostRangeIndex, getIndexColumns, getIndexType, getLookupCost, getPlanSQL, getRootPageId, getTable |
| Methods inherited from interface org.h2.schema.SchemaObject |
|---|
getSchema |
| Methods inherited from interface org.h2.engine.DbObject |
|---|
getChildren, getComment, getCreateSQLForCopy, getDatabase, getDropSQL, getHeadPos, getId, getModificationId, getName, getSQL, getType, isTemporary, removeChildrenAndResources, rename, setComment, setModified, setTemporary |
| Constructor Detail |
|---|
public PageDataIndex(TableData table,
int id,
IndexColumn[] columns,
IndexType indexType,
int headPos,
Session session)
throws java.sql.SQLException
java.sql.SQLException| Method Detail |
|---|
public java.sql.SQLException getDuplicateKeyException()
Index
getDuplicateKeyException in interface IndexgetDuplicateKeyException in class BaseIndex
public void add(Session session,
Row row)
throws java.sql.SQLException
BaseIndex
add in interface Indexadd in class BaseIndexsession - the sessionrow - the row to add
java.sql.SQLExceptionpublic boolean canGetFirstOrLast()
BaseIndex
canGetFirstOrLast in interface IndexcanGetFirstOrLast in class BaseIndex
public Cursor find(Session session,
SearchRow first,
SearchRow last)
throws java.sql.SQLException
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)
java.sql.SQLException
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)
throws java.sql.SQLException
BaseIndex
remove in interface Indexremove in class BaseIndexsession - the sessionrow - the row
java.sql.SQLException
public void remove(Session session)
throws java.sql.SQLException
BaseIndex
remove in interface Indexremove in class BaseIndexsession - the session
java.sql.SQLException
public void truncate(Session session)
throws java.sql.SQLException
BaseIndex
truncate in interface Indextruncate in class BaseIndexsession - the session
java.sql.SQLException
public void checkRename()
throws java.sql.SQLException
DbObjectBase
checkRename in interface DbObjectcheckRename in class DbObjectBasejava.sql.SQLException - if renaming is not allowed
public Row getRow(Session session,
long key)
throws java.sql.SQLException
RowIndex
getRow in interface RowIndexsession - the sessionkey - the unique key
java.sql.SQLException
public Row getRow(long key)
throws java.sql.SQLException
key - the key
java.sql.SQLExceptionpublic long getRowCountApproximation()
Index
getRowCountApproximation in interface Indexpublic long getRowCount(Session session)
Index
getRowCount in interface Indexsession - 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)
throws java.sql.SQLException
BaseIndex
close in interface Indexclose in class BaseIndexsession - the session
java.sql.SQLException
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 DbObjectBase
public void writeRowCount()
throws java.sql.SQLException
PageIndex
writeRowCount in class PageIndexjava.sql.SQLException
|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||