| org.h2.index.Index
All known Subclasses: org.h2.index.MultiVersionIndex, org.h2.index.BaseIndex,
Index | public interface Index extends SchemaObject(Code) | | An index. Indexes are used to speed up searching data.
|
Field Summary | |
int | EMPTY_HEAD Indicates that there is no head record yet. |
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 | close(Session session) Close this index. | void | commit(int operation, Row row) Commit the operation for a row. | int | compareKeys(SearchRow rowData, SearchRow compare) Compare the positions of two rows. | int | compareRows(SearchRow rowData, SearchRow compare) Compare two rows. | 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. | SearchRow | findFirstOrLast(Session session, boolean first) Find the lowest or highest value of a column. | Cursor | findNext(Session session, SearchRow higherThan, SearchRow last) Find a row or a list of rows that is larger and create a cursor to
iterate over the result. | int | getColumnIndex(Column col) | String | getColumnListSQL() Get the list of columns as a string. | Column[] | getColumns() Get the indexed columns. | double | getCost(Session session, int[] masks) Estimate the cost to search for rows given the search mask. | long | getCostRangeIndex(int[] masks, long rowCount) Estimate the cost required to search one row, and then iterate over the
given number of rows. | SQLException | getDuplicateKeyException() | IndexColumn[] | getIndexColumns() Get the indexed columns as index columns (with ordering information). | IndexType | getIndexType() Get the index type. | int | getLookupCost(long rowCount) Estimate the cost required to search a number of rows. | String | getPlanSQL() Get the message to show in a EXPLAIN statement. | long | getRowCount(Session session) Get the row count of this table, for the given session. | Table | getTable() Get the table on which this index is based. | boolean | isNull(Row newRow) Check if a row is NULL. | boolean | needRebuild() Check if the index needs to be rebuilt. | void | remove(Session session, Row row) Remove a row from the index. | void | remove(Session session) Remove the index. | void | truncate(Session session) Remove all rows from the index. |
EMPTY_HEAD | int EMPTY_HEAD(Code) | | Indicates that there is no head record yet.
|
add | void add(Session session, Row row) throws SQLException(Code) | | Add a row to the index.
Parameters: session - the session to use Parameters: row - the data |
canFindNext | boolean canFindNext()(Code) | | Check if the index can get the next higher value.
true if it can |
canGetFirstOrLast | boolean canGetFirstOrLast()(Code) | | Check if the index can directly look up the lowest or highest value of a
column.
true if it can |
close | void close(Session session) throws SQLException(Code) | | Close this index.
Parameters: session - the session used to write data |
commit | void commit(int operation, Row row) throws SQLException(Code) | | Commit the operation for a row. This is only important for multi-version
indexes.
Parameters: operation - the operation type Parameters: row - the row |
compareKeys | int compareKeys(SearchRow rowData, SearchRow compare)(Code) | | Compare the positions of two rows.
Parameters: rowData - the first row Parameters: compare - the second row 0 if both rows are equal, -1 if the first row is smaller, otherwise 1 |
compareRows | int compareRows(SearchRow rowData, SearchRow compare) throws SQLException(Code) | | Compare two rows.
Parameters: rowData - the first row Parameters: compare - the second row 0 if both rows are equal, -1 if the first row is smaller, otherwise 1 |
find | Cursor find(Session session, SearchRow first, SearchRow last) throws SQLException(Code) | | Find a row or a list of rows and create a cursor to iterate over the result.
Parameters: session - the session Parameters: first - the first row, or null for no limit Parameters: last - the last row, or null for no limit the cursor |
findFirstOrLast | SearchRow findFirstOrLast(Session session, boolean first) throws SQLException(Code) | | Find the lowest or highest value of a column.
Parameters: session - the session Parameters: first - true if the first (lowest for ascending indexes) or lastvalue should be returned the search row with the value |
findNext | Cursor findNext(Session session, SearchRow higherThan, SearchRow last) throws SQLException(Code) | | Find a row or a list of rows that is larger and create a cursor to
iterate over the result.
Parameters: session - the session Parameters: higherThan - the lower limit (excluding) Parameters: last - the last row, or null for no limit the cursor |
getColumnIndex | int getColumnIndex(Column col)(Code) | | Get the index of a column in the list of index columns
Parameters: col - the column the index (0 meaning first column) |
getColumnListSQL | String getColumnListSQL()(Code) | | Get the list of columns as a string.
the list of columns |
getColumns | Column[] getColumns()(Code) | | Get the indexed columns.
the columns |
getCost | double getCost(Session session, int[] masks) throws SQLException(Code) | | Estimate the cost to search for rows given the search mask.
Parameters: session - the session Parameters: masks - the search mask the estimated cost |
getCostRangeIndex | long getCostRangeIndex(int[] masks, long rowCount) throws SQLException(Code) | | Estimate the cost required to search one row, and then iterate over the
given number of rows.
Parameters: masks - the search mask Parameters: rowCount - the row count the estimated cost |
getDuplicateKeyException | SQLException getDuplicateKeyException()(Code) | | Create a duplicate key exception with a message that contains the index name
the exception |
getIndexColumns | IndexColumn[] getIndexColumns()(Code) | | Get the indexed columns as index columns (with ordering information).
the index columns |
getIndexType | IndexType getIndexType()(Code) | | Get the index type.
the index type |
getLookupCost | int getLookupCost(long rowCount)(Code) | | Estimate the cost required to search a number of rows.
Parameters: rowCount - the row count the estimated cost |
getPlanSQL | String getPlanSQL()(Code) | | Get the message to show in a EXPLAIN statement.
the plan |
getRowCount | long getRowCount(Session session)(Code) | | Get the row count of this table, for the given session.
Parameters: session - the session the row count |
getTable | Table getTable()(Code) | | Get the table on which this index is based.
the table |
isNull | boolean isNull(Row newRow)(Code) | | Check if a row is NULL.
Parameters: newRow - if it is null |
needRebuild | boolean needRebuild()(Code) | | Check if the index needs to be rebuilt.
This method is called after opening an index.
true if a rebuild is required. |
remove | void remove(Session session, Row row) throws SQLException(Code) | | Remove a row from the index.
Parameters: session - the session Parameters: row - the data |
truncate | void truncate(Session session) throws SQLException(Code) | | Remove all rows from the index.
Parameters: session - the session |
|
|