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, boolean reverse)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, boolean isSelectCommand)longgetDiskSpaceUsed(boolean approximate)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, needsUniqueCheck, removeChildrenAndResources, update
-
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
-
-
-
-
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, boolean reverse)- 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, boolean isSelectCommand)- 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(boolean approximate)
- Overrides:
getDiskSpaceUsedin classorg.h2.index.Index
-
isRowIdIndex
public boolean isRowIdIndex()
- Overrides:
isRowIdIndexin classorg.h2.index.Index
-
-