Class H2TableIndex
java.lang.Object
org.h2.engine.DbObject
org.h2.schema.SchemaObject
org.h2.index.Index
org.h2gis.functions.io.file_table.H2TableIndex
- All Implemented Interfaces:
org.h2.util.HasSQL
public class H2TableIndex
extends org.h2.index.Index
ScanIndex of
FileDriver, the key is the row index [1-n].- Author:
- Nicolas Fortin, Erwan Bocher, CNRS, 2020
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classThis class is requiring only field value on demand instead of gathering the full row values from drivers -
Field Summary
FieldsFields inherited from class org.h2.index.Index
columnIds, columns, indexColumns, indexType, table, uniqueColumnColumnFields 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, USERFields 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 -
Constructor Summary
ConstructorsConstructorDescriptionH2TableIndex(org.h2gis.api.FileDriver driver, org.h2.table.Table table, int id, String indexName, org.h2.table.IndexColumn indexColumn) Constructor for primary key index.H2TableIndex(org.h2gis.api.FileDriver driver, org.h2.table.Table table, int id, org.h2.table.IndexColumn indexColumn) Constructor for scan index. -
Method Summary
Modifier and TypeMethodDescriptionvoidadd(org.h2.engine.SessionLocal session, org.h2.result.Row row) booleanvoidvoidclose(org.h2.engine.SessionLocal session) org.h2.index.Cursorfind(org.h2.engine.SessionLocal session, org.h2.result.SearchRow first, org.h2.result.SearchRow last) org.h2.index.CursorfindFirstOrLast(org.h2.engine.SessionLocal session, boolean first) doublegetCost(org.h2.engine.SessionLocal session, int[] masks, org.h2.table.TableFilter[] tableFilters, int filter, org.h2.result.SortOrder sortOrder, org.h2.command.query.AllColumnsForPlan allColumnsForPlan) longorg.h2gis.api.FileDriverorg.h2.result.RowgetRow(org.h2.engine.SessionLocal session, long key) longgetRowCount(org.h2.engine.SessionLocal session) longgetRowCountApproximation(org.h2.engine.SessionLocal session) booleanbooleanvoidremove(org.h2.engine.SessionLocal session) voidremove(org.h2.engine.SessionLocal session, org.h2.result.Row row) voidtruncate(org.h2.engine.SessionLocal session) Methods inherited from class org.h2.index.Index
canFindNext, canScan, checkIndexColumnTypes, compareRows, findNext, getColumnIndex, getColumns, getCostRangeIndex, getCreateSQL, getCreateSQLForCopy, getDuplicateKeyException, getDuplicatePrimaryKeyMessage, getIndexColumns, getIndexType, getPlanSQL, getRowFactory, getTable, getType, getUniqueColumnCount, getUniqueRowFactory, isFindUsingFullTableScan, isFirstColumn, isHidden, mayHaveNullDuplicates, removeChildrenAndResources, updateMethods inherited from class org.h2.schema.SchemaObject
getSchema, getSQL, getSQLMethods inherited from class org.h2.engine.DbObject
getChildren, getComment, getCreateSQLForMeta, getDatabase, getDropSQL, getId, getModificationId, getName, invalidate, isTemporary, isValid, rename, setComment, setModified, setObjectName, setTemporary, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.h2.util.HasSQL
getTraceSQL
-
Field Details
-
PK_COLUMN_NAME
- See Also:
-
-
Constructor Details
-
H2TableIndex
public H2TableIndex(org.h2gis.api.FileDriver driver, org.h2.table.Table table, int id, org.h2.table.IndexColumn indexColumn) Constructor for scan index. Hidden column _ROWID_.- Parameters:
driver- Linked file drivertable- Linked tableid- Index identifierindexColumn- Column to index
-
H2TableIndex
public H2TableIndex(org.h2gis.api.FileDriver driver, org.h2.table.Table table, int id, String indexName, org.h2.table.IndexColumn indexColumn) Constructor for primary key index.- Parameters:
driver- Linked file drivertable- Linked tableid- Index identifierindexName- Unique index nameindexColumn- Column to index
-
-
Method Details
-
checkRename
public void checkRename()- Overrides:
checkRenamein classorg.h2.engine.DbObject
-
getDriver
public org.h2gis.api.FileDriver getDriver() -
getRow
public org.h2.result.Row getRow(org.h2.engine.SessionLocal session, long key) - Overrides:
getRowin classorg.h2.index.Index
-
close
public void close(org.h2.engine.SessionLocal session) - Specified by:
closein classorg.h2.index.Index
-
add
public void add(org.h2.engine.SessionLocal session, org.h2.result.Row row) - Specified by:
addin classorg.h2.index.Index
-
remove
public void remove(org.h2.engine.SessionLocal session, org.h2.result.Row row) - Specified by:
removein classorg.h2.index.Index
-
find
public org.h2.index.Cursor find(org.h2.engine.SessionLocal session, org.h2.result.SearchRow first, org.h2.result.SearchRow last) - Specified by:
findin classorg.h2.index.Index
-
getCost
public double getCost(org.h2.engine.SessionLocal session, int[] masks, org.h2.table.TableFilter[] tableFilters, int filter, org.h2.result.SortOrder sortOrder, org.h2.command.query.AllColumnsForPlan allColumnsForPlan) - Specified by:
getCostin classorg.h2.index.Index
-
remove
public void remove(org.h2.engine.SessionLocal session) - Specified by:
removein classorg.h2.index.Index
-
truncate
public void truncate(org.h2.engine.SessionLocal session) - Specified by:
truncatein classorg.h2.index.Index
-
canGetFirstOrLast
public boolean canGetFirstOrLast()- Overrides:
canGetFirstOrLastin classorg.h2.index.Index
-
findFirstOrLast
public org.h2.index.Cursor findFirstOrLast(org.h2.engine.SessionLocal session, boolean first) - Overrides:
findFirstOrLastin classorg.h2.index.Index
-
needRebuild
public boolean needRebuild()- Specified by:
needRebuildin classorg.h2.index.Index
-
getRowCount
public long getRowCount(org.h2.engine.SessionLocal session) - Specified by:
getRowCountin classorg.h2.index.Index
-
getRowCountApproximation
public long getRowCountApproximation(org.h2.engine.SessionLocal session) - Specified by:
getRowCountApproximationin classorg.h2.index.Index
-
getDiskSpaceUsed
public long getDiskSpaceUsed()- Overrides:
getDiskSpaceUsedin classorg.h2.index.Index
-
isRowIdIndex
public boolean isRowIdIndex()- Overrides:
isRowIdIndexin classorg.h2.index.Index
-