Class H2ScanIndex<D extends org.h2.index.BaseIndex>

  • All Implemented Interfaces:
    org.h2.engine.DbObject, org.h2.index.Index, org.h2.schema.SchemaObject
    Direct Known Subclasses:
    H2TableScanIndex

    public class H2ScanIndex<D extends org.h2.index.BaseIndex>
    extends org.h2.index.BaseIndex
    Scan index. Do not actually store any information, but rather delegate to some underlying index. The only reason why this index exists is H2 requirement that every table must have the very first index with IndexType.isScan() set to true. See TYPE.
    • Field Summary

      • Fields inherited from class org.h2.index.BaseIndex

        columnIds, columns, indexColumns, indexType, isMultiVersion, table
      • Fields inherited from class org.h2.engine.DbObjectBase

        comment, database, trace
      • Fields inherited from interface org.h2.engine.DbObject

        AGGREGATE, COMMENT, CONSTANT, CONSTRAINT, FUNCTION_ALIAS, INDEX, RIGHT, ROLE, SCHEMA, SEQUENCE, SETTING, SYNONYM, TABLE_OR_VIEW, TRIGGER, USER, USER_DATATYPE
    • Constructor Summary

      Constructors 
      Constructor Description
      H2ScanIndex​(D delegate)  
    • Constructor Detail

      • H2ScanIndex

        public H2ScanIndex​(D delegate)
        Parameters:
        delegate - Delegate.
    • Method Detail

      • delegate

        protected D delegate()
        Returns:
        Delegate.
      • getDiskSpaceUsed

        public long getDiskSpaceUsed()
      • add

        public void add​(org.h2.engine.Session ses,
                        org.h2.result.Row row)
      • canFindNext

        public boolean canFindNext()
        Specified by:
        canFindNext in interface org.h2.index.Index
        Overrides:
        canFindNext in class org.h2.index.BaseIndex
      • canGetFirstOrLast

        public boolean canGetFirstOrLast()
      • canScan

        public boolean canScan()
        Specified by:
        canScan in interface org.h2.index.Index
        Overrides:
        canScan in class org.h2.index.BaseIndex
      • close

        public final void close​(org.h2.engine.Session ses)
      • commit

        public void commit​(int operation,
                           org.h2.result.Row row)
        Specified by:
        commit in interface org.h2.index.Index
        Overrides:
        commit in class org.h2.index.BaseIndex
      • compareRows

        public int compareRows​(org.h2.result.SearchRow rowData,
                               org.h2.result.SearchRow compare)
        Specified by:
        compareRows in interface org.h2.index.Index
        Overrides:
        compareRows in class org.h2.index.BaseIndex
      • find

        public org.h2.index.Cursor find​(org.h2.table.TableFilter filter,
                                        org.h2.result.SearchRow first,
                                        org.h2.result.SearchRow last)
        Specified by:
        find in interface org.h2.index.Index
        Overrides:
        find in class org.h2.index.BaseIndex
      • find

        public org.h2.index.Cursor find​(org.h2.engine.Session ses,
                                        org.h2.result.SearchRow first,
                                        org.h2.result.SearchRow last)
      • findFirstOrLast

        public org.h2.index.Cursor findFirstOrLast​(org.h2.engine.Session ses,
                                                   boolean first)
      • findNext

        public org.h2.index.Cursor findNext​(org.h2.engine.Session ses,
                                            org.h2.result.SearchRow higherThan,
                                            org.h2.result.SearchRow last)
        Specified by:
        findNext in interface org.h2.index.Index
        Overrides:
        findNext in class org.h2.index.BaseIndex
      • getColumnIndex

        public int getColumnIndex​(org.h2.table.Column col)
        Specified by:
        getColumnIndex in interface org.h2.index.Index
        Overrides:
        getColumnIndex in class org.h2.index.BaseIndex
      • getColumns

        public org.h2.table.Column[] getColumns()
        Specified by:
        getColumns in interface org.h2.index.Index
        Overrides:
        getColumns in class org.h2.index.BaseIndex
      • getIndexColumns

        public org.h2.table.IndexColumn[] getIndexColumns()
        Specified by:
        getIndexColumns in interface org.h2.index.Index
        Overrides:
        getIndexColumns in class org.h2.index.BaseIndex
      • getIndexType

        public org.h2.index.IndexType getIndexType()
        Specified by:
        getIndexType in interface org.h2.index.Index
        Overrides:
        getIndexType in class org.h2.index.BaseIndex
      • getRow

        public org.h2.result.Row getRow​(org.h2.engine.Session ses,
                                        long key)
        Specified by:
        getRow in interface org.h2.index.Index
        Overrides:
        getRow in class org.h2.index.BaseIndex
      • getRowCount

        public long getRowCount​(org.h2.engine.Session ses)
      • getRowCountApproximation

        public long getRowCountApproximation()
      • getTable

        public org.h2.table.Table getTable()
        Specified by:
        getTable in interface org.h2.index.Index
        Overrides:
        getTable in class org.h2.index.BaseIndex
      • isRowIdIndex

        public boolean isRowIdIndex()
        Specified by:
        isRowIdIndex in interface org.h2.index.Index
        Overrides:
        isRowIdIndex in class org.h2.index.BaseIndex
      • needRebuild

        public boolean needRebuild()
      • remove

        public void remove​(org.h2.engine.Session ses)
      • remove

        public void remove​(org.h2.engine.Session ses,
                           org.h2.result.Row row)
      • setSortedInsertMode

        public void setSortedInsertMode​(boolean sortedInsertMode)
        Specified by:
        setSortedInsertMode in interface org.h2.index.Index
        Overrides:
        setSortedInsertMode in class org.h2.index.BaseIndex
      • createLookupBatch

        public org.h2.index.IndexLookupBatch createLookupBatch​(org.h2.table.TableFilter[] filters,
                                                               int filter)
        Specified by:
        createLookupBatch in interface org.h2.index.Index
        Overrides:
        createLookupBatch in class org.h2.index.BaseIndex
      • truncate

        public void truncate​(org.h2.engine.Session ses)
      • getSchema

        public org.h2.schema.Schema getSchema()
        Specified by:
        getSchema in interface org.h2.schema.SchemaObject
        Overrides:
        getSchema in class org.h2.schema.SchemaObjectBase
      • isHidden

        public boolean isHidden()
        Specified by:
        isHidden in interface org.h2.schema.SchemaObject
        Overrides:
        isHidden in class org.h2.index.BaseIndex
      • checkRename

        public void checkRename()
        Specified by:
        checkRename in interface org.h2.engine.DbObject
        Specified by:
        checkRename in class org.h2.engine.DbObjectBase
      • getChildren

        public ArrayList<org.h2.engine.DbObject> getChildren()
        Specified by:
        getChildren in interface org.h2.engine.DbObject
        Overrides:
        getChildren in class org.h2.engine.DbObjectBase
      • getComment

        public String getComment()
        Specified by:
        getComment in interface org.h2.engine.DbObject
        Overrides:
        getComment in class org.h2.engine.DbObjectBase
      • getCreateSQL

        public String getCreateSQL()
        Specified by:
        getCreateSQL in interface org.h2.engine.DbObject
        Overrides:
        getCreateSQL in class org.h2.index.BaseIndex
      • getCreateSQLForCopy

        public String getCreateSQLForCopy​(org.h2.table.Table tbl,
                                          String quotedName)
        Specified by:
        getCreateSQLForCopy in interface org.h2.engine.DbObject
        Overrides:
        getCreateSQLForCopy in class org.h2.index.BaseIndex
      • getDatabase

        public org.h2.engine.Database getDatabase()
        Specified by:
        getDatabase in interface org.h2.engine.DbObject
        Overrides:
        getDatabase in class org.h2.engine.DbObjectBase
      • getDropSQL

        public String getDropSQL()
        Specified by:
        getDropSQL in interface org.h2.engine.DbObject
        Overrides:
        getDropSQL in class org.h2.index.BaseIndex
      • getId

        public int getId()
        Specified by:
        getId in interface org.h2.engine.DbObject
        Overrides:
        getId in class org.h2.engine.DbObjectBase
      • getSQL

        public String getSQL()
        Specified by:
        getSQL in interface org.h2.engine.DbObject
        Overrides:
        getSQL in class org.h2.schema.SchemaObjectBase
      • getType

        public int getType()
        Specified by:
        getType in interface org.h2.engine.DbObject
        Overrides:
        getType in class org.h2.index.BaseIndex
      • isTemporary

        public boolean isTemporary()
        Specified by:
        isTemporary in interface org.h2.engine.DbObject
        Overrides:
        isTemporary in class org.h2.engine.DbObjectBase
      • removeChildrenAndResources

        public void removeChildrenAndResources​(org.h2.engine.Session ses)
        Specified by:
        removeChildrenAndResources in interface org.h2.engine.DbObject
        Overrides:
        removeChildrenAndResources in class org.h2.index.BaseIndex
      • rename

        public void rename​(String newName)
        Specified by:
        rename in interface org.h2.engine.DbObject
        Overrides:
        rename in class org.h2.engine.DbObjectBase
      • setComment

        public void setComment​(String comment)
        Specified by:
        setComment in interface org.h2.engine.DbObject
        Overrides:
        setComment in class org.h2.engine.DbObjectBase
      • setTemporary

        public void setTemporary​(boolean temporary)
        Specified by:
        setTemporary in interface org.h2.engine.DbObject
        Overrides:
        setTemporary in class org.h2.engine.DbObjectBase
      • getCost

        public double getCost​(org.h2.engine.Session session,
                              int[] masks,
                              org.h2.table.TableFilter[] filters,
                              int filter,
                              org.h2.result.SortOrder sortOrder,
                              HashSet<org.h2.table.Column> allColumnsSet)