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.IndexScanIndex ofFileDriver, the key is the row index [1-n].- Author:
- Nicolas Fortin, Erwan Bocher, CNRS, 2020
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classH2TableIndex.DriverRowThis class is requiring only field value on demand instead of gathering the full row values from drivers
-
Field Summary
Fields Modifier and Type Field Description static StringPK_COLUMN_NAME-
Fields inherited from class org.h2.index.Index
columnIds, columns, indexColumns, indexType, table, uniqueColumnColumn
-
-
Constructor Summary
Constructors Constructor Description 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.H2TableIndex(org.h2gis.api.FileDriver driver, org.h2.table.Table table, int id, org.h2.table.IndexColumn indexColumn)Constructor for scan index.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(org.h2.engine.SessionLocal session, org.h2.result.Row row)booleancanGetFirstOrLast()voidcheckRename()voidclose(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)longgetDiskSpaceUsed()org.h2gis.api.FileDrivergetDriver()org.h2.result.RowgetRow(org.h2.engine.SessionLocal session, long key)longgetRowCount(org.h2.engine.SessionLocal session)longgetRowCountApproximation(org.h2.engine.SessionLocal session)booleanisRowIdIndex()booleanneedRebuild()voidremove(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, needsUniqueCheck, removeChildrenAndResources, update
-
Methods inherited from class org.h2.engine.DbObject
getChildren, getComment, getCreateSQLForMeta, getDatabase, getDropSQL, getId, getModificationId, getName, invalidate, isTemporary, isValid, rename, setComment, setModified, setObjectName, setTemporary, toString
-
-
-
-
Field Detail
-
PK_COLUMN_NAME
public static final String PK_COLUMN_NAME
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
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 Detail
-
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
-
-