Package org.h2.index
Class QueryExpressionIndex
- java.lang.Object
-
- org.h2.engine.DbObject
-
- org.h2.schema.SchemaObject
-
- org.h2.index.Index
-
- org.h2.index.QueryExpressionIndex
-
- All Implemented Interfaces:
HasSQL
- Direct Known Subclasses:
RecursiveIndex,RegularQueryExpressionIndex
public abstract class QueryExpressionIndex extends Index
This object represents a virtual index for a query expression.
-
-
Field Summary
-
Fields inherited from class org.h2.index.Index
columnIds, columns, indexColumns, indexType, uniqueColumnColumn
-
Fields inherited from class org.h2.engine.DbObject
AGGREGATE, comment, COMMENT, CONSTANT, CONSTRAINT, database, DOMAIN, FUNCTION_ALIAS, INDEX, RIGHT, ROLE, SCHEMA, SEQUENCE, SETTING, SYNONYM, TABLE_OR_VIEW, trace, TRIGGER, USER
-
Fields inherited from interface org.h2.util.HasSQL
ADD_PLAN_INFORMATION, DEFAULT_SQL_FLAGS, NO_CASTS, QUOTE_ONLY_WHEN_REQUIRED, REPLACE_LOBS_FOR_TRACE, TRACE_SQL_FLAGS
-
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidadd(SessionLocal session, Row row)Add a row to the index.voidcheckRename()Check if renaming is allowed.voidclose(SessionLocal session)Close this index.java.lang.StringgetPlanSQL()Get the message to show in a EXPLAIN statement.QuerygetQuery()longgetRowCount(SessionLocal session)Get the row count of this table, for the given session.longgetRowCountApproximation(SessionLocal session)Get the approximated row count for this table.abstract booleanisExpired()booleanneedRebuild()Check if the index needs to be rebuilt.voidremove(SessionLocal session)Remove the index.voidremove(SessionLocal session, Row row)Remove a row from the index.voidtruncate(SessionLocal session)Remove all rows from the index.-
Methods inherited from class org.h2.index.Index
areRowsEquivalent, canFindNext, canGetFirstOrLast, canScan, checkIndexColumnTypes, compareRows, find, findFirstOrLast, findNext, getColumnIndex, getColumns, getCost, getCostRangeIndex, getCreateSQL, getCreateSQLForCopy, getDiskSpaceUsed, getDuplicateKeyException, getDuplicatePrimaryKeyMessage, getIndexColumns, getIndexType, getRow, getRowFactory, getTable, getType, getUniqueColumnCount, getUniqueRowFactory, isFindUsingFullTableScan, isFirstColumn, isRowIdIndex, needsUniqueCheck, removeChildrenAndResources, update
-
Methods inherited from class org.h2.schema.SchemaObject
getSchema, getSQL, getSQL
-
Methods inherited from class org.h2.engine.DbObject
equals, getChildren, getComment, getCreateSQLForMeta, getDatabase, getDropSQL, getId, getModificationId, getName, hashCode, invalidate, isTemporary, isValid, rename, setComment, setModified, setObjectName, setTemporary, toString
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.h2.util.HasSQL
getTraceSQL
-
-
-
-
Method Detail
-
isExpired
public abstract boolean isExpired()
-
getPlanSQL
public java.lang.String getPlanSQL()
Description copied from class:IndexGet the message to show in a EXPLAIN statement.- Overrides:
getPlanSQLin classIndex- Returns:
- the plan
-
getQuery
public Query getQuery()
-
close
public void close(SessionLocal session)
Description copied from class:IndexClose this index.
-
add
public void add(SessionLocal session, Row row)
Description copied from class:IndexAdd a row to the index.
-
remove
public void remove(SessionLocal session, Row row)
Description copied from class:IndexRemove a row from the index.
-
remove
public void remove(SessionLocal session)
Description copied from class:IndexRemove the index.
-
truncate
public void truncate(SessionLocal session)
Description copied from class:IndexRemove all rows from the index.
-
checkRename
public void checkRename()
Description copied from class:DbObjectCheck if renaming is allowed. Does nothing when allowed.- Overrides:
checkRenamein classDbObject
-
needRebuild
public boolean needRebuild()
Description copied from class:IndexCheck if the index needs to be rebuilt. This method is called after opening an index.- Specified by:
needRebuildin classIndex- Returns:
- true if a rebuild is required.
-
getRowCount
public long getRowCount(SessionLocal session)
Description copied from class:IndexGet the row count of this table, for the given session.- Specified by:
getRowCountin classIndex- Parameters:
session- the session- Returns:
- the row count
-
getRowCountApproximation
public long getRowCountApproximation(SessionLocal session)
Description copied from class:IndexGet the approximated row count for this table.- Specified by:
getRowCountApproximationin classIndex- Parameters:
session- the session- Returns:
- the approximated row count
-
-