Package org.h2.index

Class MetaIndex

All Implemented Interfaces:
HasSQL

public class MetaIndex extends Index
The index implementation for meta data tables.
  • Field Details

    • meta

      private final MetaTable meta
    • scan

      private final boolean scan
  • Constructor Details

  • Method Details

    • close

      public void close(SessionLocal session)
      Description copied from class: Index
      Close this index.
      Specified by:
      close in class Index
      Parameters:
      session - the session used to write data
    • add

      public void add(SessionLocal session, Row row)
      Description copied from class: Index
      Add a row to the index.
      Specified by:
      add in class Index
      Parameters:
      session - the session to use
      row - the row to add
    • remove

      public void remove(SessionLocal session, Row row)
      Description copied from class: Index
      Remove a row from the index.
      Specified by:
      remove in class Index
      Parameters:
      session - the session
      row - the row
    • find

      public Cursor find(SessionLocal session, SearchRow first, SearchRow last)
      Description copied from class: Index
      Find a row or a list of rows and create a cursor to iterate over the result.
      Specified by:
      find in class Index
      Parameters:
      session - the session
      first - the first row, or null for no limit
      last - the last row, or null for no limit
      Returns:
      the cursor to iterate over the results
    • getCost

      public double getCost(SessionLocal session, int[] masks, TableFilter[] filters, int filter, SortOrder sortOrder, AllColumnsForPlan allColumnsSet)
      Description copied from class: Index
      Estimate the cost to search for rows given the search mask. There is one element per column in the search mask. For possible search masks, see IndexCondition.
      Specified by:
      getCost in class Index
      Parameters:
      session - the session
      masks - per-column comparison bit masks, null means 'always false', see constants in IndexCondition
      filters - all joined table filters
      filter - the current table filter index
      sortOrder - the sort order
      allColumnsSet - the set of all columns
      Returns:
      the estimated cost
    • truncate

      public void truncate(SessionLocal session)
      Description copied from class: Index
      Remove all rows from the index.
      Specified by:
      truncate in class Index
      Parameters:
      session - the session
    • remove

      public void remove(SessionLocal session)
      Description copied from class: Index
      Remove the index.
      Specified by:
      remove in class Index
      Parameters:
      session - the session
    • getColumnIndex

      public int getColumnIndex(Column col)
      Description copied from class: Index
      Get the index of a column in the list of index columns
      Overrides:
      getColumnIndex in class Index
      Parameters:
      col - the column
      Returns:
      the index (0 meaning first column)
    • isFirstColumn

      public boolean isFirstColumn(Column column)
      Description copied from class: Index
      Check if the given column is the first for this index
      Overrides:
      isFirstColumn in class Index
      Parameters:
      column - the column
      Returns:
      true if the given columns is the first
    • checkRename

      public void checkRename()
      Description copied from class: DbObject
      Check if renaming is allowed. Does nothing when allowed.
      Overrides:
      checkRename in class DbObject
    • needRebuild

      public boolean needRebuild()
      Description copied from class: Index
      Check if the index needs to be rebuilt. This method is called after opening an index.
      Specified by:
      needRebuild in class Index
      Returns:
      true if a rebuild is required.
    • getCreateSQL

      public String getCreateSQL()
      Description copied from class: DbObject
      Construct the CREATE ... SQL statement for this object.
      Overrides:
      getCreateSQL in class Index
      Returns:
      the SQL statement
    • getRowCount

      public long getRowCount(SessionLocal session)
      Description copied from class: Index
      Get the row count of this table, for the given session.
      Specified by:
      getRowCount in class Index
      Parameters:
      session - the session
      Returns:
      the row count
    • getRowCountApproximation

      public long getRowCountApproximation(SessionLocal session)
      Description copied from class: Index
      Get the approximated row count for this table.
      Specified by:
      getRowCountApproximation in class Index
      Parameters:
      session - the session
      Returns:
      the approximated row count
    • getDiskSpaceUsed

      public long getDiskSpaceUsed()
      Description copied from class: Index
      Get the used disk space for this index.
      Overrides:
      getDiskSpaceUsed in class Index
      Returns:
      the estimated number of bytes
    • getPlanSQL

      public String getPlanSQL()
      Description copied from class: Index
      Get the message to show in a EXPLAIN statement.
      Overrides:
      getPlanSQL in class Index
      Returns:
      the plan