|
||||||||
| 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.ScanIndex
public class ScanIndex
The scan index is not really an 'index' in the strict sense, because it can not be used for direct lookup. It can only 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.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 | |
|---|---|
ScanIndex(TableData table,
int id,
IndexColumn[] columns,
IndexType indexType)
|
|
| 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. |
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 |
truncate(Session session)
Truncate the index. |
| Methods inherited from class org.h2.index.BaseIndex |
|---|
canFindNext, compareKeys, compareRows, containsNullAndAllowMultipleNull, findNext, getColumnListSQL, getColumns, getCostRangeIndex, getCreateSQLForCopy, getDropSQL, getDuplicateKeyException, getIndexColumns, getIndexType, getLookupCost, getPlanSQL, getRootPageId, 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, getHeadPos, 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.index.Index |
|---|
canFindNext, compareKeys, compareRows, containsNullAndAllowMultipleNull, findNext, getColumnListSQL, getColumns, getCostRangeIndex, getDuplicateKeyException, 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 ScanIndex(TableData table,
int id,
IndexColumn[] columns,
IndexType indexType)
| Method Detail |
|---|
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.SQLExceptionpublic java.lang.String getCreateSQL()
DbObjectBase
getCreateSQL in interface DbObjectgetCreateSQL in class BaseIndexpublic void close(Session session)
BaseIndex
close in interface Indexclose in class BaseIndexsession - the session
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 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.SQLException
public void commit(int operation,
Row row)
Index
commit in interface Indexcommit in class BaseIndexoperation - the operation typerow - the row
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 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 double getCost(Session session,
int[] masks)
BaseIndex
getCost in interface IndexgetCost in class BaseIndexsession - the sessionmasks - the condition mask
public long getRowCount(Session session)
Index
getRowCount in interface Indexsession - the session
public int getColumnIndex(Column col)
Index
getColumnIndex in interface IndexgetColumnIndex in class BaseIndexcol - the column
public void checkRename()
throws java.sql.SQLException
DbObjectBase
checkRename in interface DbObjectcheckRename in class DbObjectBasejava.sql.SQLException - if renaming is not allowedpublic boolean needRebuild()
BaseIndex
needRebuild in interface IndexneedRebuild in class BaseIndexpublic boolean canGetFirstOrLast()
BaseIndex
canGetFirstOrLast in interface IndexcanGetFirstOrLast in class BaseIndex
public Cursor findFirstOrLast(Session session,
boolean first)
throws java.sql.SQLException
BaseIndex
findFirstOrLast in interface IndexfindFirstOrLast in class BaseIndexsession - the sessionfirst - true for the first value, false for the last
java.sql.SQLExceptionpublic long getRowCountApproximation()
Index
getRowCountApproximation in interface Index
|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||