org.h2.index
Class BaseHashIndex
java.lang.Object
org.h2.engine.DbObjectBase
org.h2.schema.SchemaObjectBase
org.h2.index.BaseIndex
org.h2.index.BaseHashIndex
- All Implemented Interfaces:
- DbObject, Index, SchemaObject
- Direct Known Subclasses:
- HashIndex, NonUniqueHashIndex
public abstract class BaseHashIndex
- extends BaseIndex
Base of hash indexes.
| 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 |
| Methods inherited from class org.h2.index.BaseIndex |
add, canFindNext, commit, compareKeys, compareRows, containsNullAndAllowMultipleNull, find, findNext, getColumnIndex, getColumnListSQL, getColumns, getCostRangeIndex, getCreateSQL, getCreateSQLForCopy, getDropSQL, getDuplicateKeyException, getIndexColumns, getIndexType, getLookupCost, getPlanSQL, getRootPageId, getTable, getType, remove, removeChildrenAndResources, truncate |
| 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.engine.DbObject |
getChildren, getComment, getDatabase, getHeadPos, getId, getModificationId, getName, getSQL, isTemporary, rename, setComment, setModified, setTemporary |
BaseHashIndex
public BaseHashIndex(TableData table,
int id,
java.lang.String indexName,
IndexColumn[] columns,
IndexType indexType)
close
public void close(Session session)
- Description copied from class:
BaseIndex
- Close this index.
- Specified by:
close in interface Index- Specified by:
close in class BaseIndex
- Parameters:
session - the session
remove
public void remove(Session session)
- Description copied from class:
BaseIndex
- Remove the index.
- Specified by:
remove in interface Index- Specified by:
remove in class BaseIndex
- Parameters:
session - the session
getKey
protected Value getKey(SearchRow row)
- Generate the search key from a row. Single column indexes are mapped to
the value, multi-column indexes are mapped to an value array.
- Parameters:
row - the row
- Returns:
- the value
getCost
public double getCost(Session session,
int[] masks)
- Description copied from class:
BaseIndex
- Calculate the cost to find rows.
- Specified by:
getCost in interface Index- Specified by:
getCost in class BaseIndex
- Parameters:
session - the sessionmasks - the condition mask
- Returns:
- the cost
checkRename
public void checkRename()
- Description copied from class:
DbObjectBase
- Check if this object can be renamed. System objects may not be renamed.
- Specified by:
checkRename in interface DbObject- Specified by:
checkRename in class DbObjectBase
needRebuild
public boolean needRebuild()
- Description copied from class:
BaseIndex
- Check if this index needs to be re-built.
- Specified by:
needRebuild in interface Index- Specified by:
needRebuild in class BaseIndex
- Returns:
- true if it must be re-built.
canGetFirstOrLast
public boolean canGetFirstOrLast()
- Description copied from class:
BaseIndex
- Check if this index can quickly find the first or last value.
- Specified by:
canGetFirstOrLast in interface Index- Specified by:
canGetFirstOrLast in class BaseIndex
- Returns:
- true if it can
findFirstOrLast
public Cursor findFirstOrLast(Session session,
boolean first)
throws java.sql.SQLException
- Description copied from class:
BaseIndex
- Find the first (or last) value of this index. The cursor returned is
positioned on the correct row, or on null if no row has been found.
- Specified by:
findFirstOrLast in interface Index- Specified by:
findFirstOrLast in class BaseIndex
- Parameters:
session - the sessionfirst - true for the first value, false for the last
- Returns:
- a cursor (never null)
- Throws:
java.sql.SQLException