Class ReduceTable

  • All Implemented Interfaces:
    org.h2.engine.DbObject, org.h2.schema.SchemaObject

    public class ReduceTable
    extends org.h2.table.TableBase
    Table for reduce phase. Created for every splitted map query. Tables are created in H2 through SQL statement. In order to avoid overhead on SQL execution for every query, we create ReduceTableWrapper instead and set real ReduceTable through thread-local during query execution. This allow us to have only very limited number of physical tables in H2 for all user requests.
    • Field Summary

      • Fields inherited from class org.h2.table.Table

        columns, compareMode, isHidden, TYPE_CACHED, TYPE_MEMORY
      • 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
      ReduceTable​(org.h2.command.ddl.CreateTableData data)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      org.h2.index.Index addIndex​(org.h2.engine.Session session, String indexName, int indexId, org.h2.table.IndexColumn[] cols, org.h2.index.IndexType indexType, boolean create, String indexComment)
      void addRow​(org.h2.engine.Session session, org.h2.result.Row row)
      boolean canDrop()
      boolean canGetRowCount()
      void checkRename()
      void checkSupportAlter()
      void close​(org.h2.engine.Session ses)
      static H2ScanIndex<AbstractReduceIndexAdapter> createScanIndex​(AbstractReduceIndexAdapter idx)  
      long getDiskSpaceUsed()
      ArrayList<org.h2.index.Index> getIndexes()
      long getMaxDataModificationId()
      Reducer getReducer()  
      long getRowCount​(org.h2.engine.Session ses)
      long getRowCountApproximation()
      org.h2.index.Index getScanIndex​(org.h2.engine.Session session)
      org.h2.table.TableType getTableType()
      org.h2.index.Index getUniqueIndex()
      void indexes​(ArrayList<org.h2.index.Index> idxs)  
      boolean isDeterministic()
      boolean isLockedExclusively()
      boolean lock​(org.h2.engine.Session session, boolean exclusive, boolean force)
      void removeRow​(org.h2.engine.Session session, org.h2.result.Row row)
      void truncate​(org.h2.engine.Session session)
      void unlock​(org.h2.engine.Session s)
      • Methods inherited from class org.h2.table.TableBase

        getCreateSQL, getDropSQL, isGlobalTemporary
      • Methods inherited from class org.h2.table.Table

        addConstraint, addDependencies, addDependentView, addSequence, addSynonym, addTrigger, canReference, canTruncate, checkDeadlock, checkWritingAllowed, commit, compareTypeSafe, doesColumnExist, dropMultipleColumnsConstraintsAndIndexes, findPrimaryKey, fire, fireAfterRow, fireBeforeRow, fireRow, getBestPlanItem, getCheckForeignKeyConstraints, getChildren, getColumn, getColumn, getColumns, getCompareMode, getConstraints, getCreateSQLForCopy, getDefaultValue, getDependentViews, getIndex, getIndexForColumn, getOnCommitDrop, getOnCommitTruncate, getOnUpdateValue, getPrimaryKey, getRow, getRowIdColumn, getScanIndex, getTemplateRow, getTemplateSimpleRow, getType, hasSelectTrigger, isHidden, isLockedExclusivelyBy, isMVStore, isPersistData, isPersistIndexes, isQueryComparable, isTableExpression, isView, removeChildrenAndResources, removeConstraint, removeDependentView, removeIndex, removeIndexOrTransferOwnership, removeSequence, removeSynonym, removeTrigger, rename, renameColumn, setCheckForeignKeyConstraints, setColumns, setHidden, setOnCommitDrop, setOnCommitTruncate, setTableExpression, updateRows, validateConvertUpdateSequence
      • Methods inherited from class org.h2.schema.SchemaObjectBase

        getSchema, getSQL, initSchemaObjectBase
      • Methods inherited from class org.h2.engine.DbObjectBase

        getComment, getDatabase, getId, getModificationId, getName, initDbObjectBase, invalidate, isTemporary, isValid, setComment, setModified, setObjectName, setTemporary, toString
      • Methods inherited from interface org.h2.engine.DbObject

        getComment, getDatabase, getId, getName, isTemporary, setComment, setTemporary
    • Constructor Detail

      • ReduceTable

        public ReduceTable​(org.h2.command.ddl.CreateTableData data)
        Parameters:
        data - Data.
    • Method Detail

      • indexes

        public void indexes​(ArrayList<org.h2.index.Index> idxs)
        Parameters:
        idxs - Indexes.
      • getReducer

        public Reducer getReducer()
        Returns:
        Merge index.
      • lock

        public boolean lock​(org.h2.engine.Session session,
                            boolean exclusive,
                            boolean force)
        Specified by:
        lock in class org.h2.table.Table
      • close

        public void close​(org.h2.engine.Session ses)
        Specified by:
        close in class org.h2.table.Table
      • unlock

        public void unlock​(org.h2.engine.Session s)
        Specified by:
        unlock in class org.h2.table.Table
      • addIndex

        public org.h2.index.Index addIndex​(org.h2.engine.Session session,
                                           String indexName,
                                           int indexId,
                                           org.h2.table.IndexColumn[] cols,
                                           org.h2.index.IndexType indexType,
                                           boolean create,
                                           String indexComment)
        Specified by:
        addIndex in class org.h2.table.Table
      • removeRow

        public void removeRow​(org.h2.engine.Session session,
                              org.h2.result.Row row)
        Specified by:
        removeRow in class org.h2.table.Table
      • truncate

        public void truncate​(org.h2.engine.Session session)
        Specified by:
        truncate in class org.h2.table.Table
      • addRow

        public void addRow​(org.h2.engine.Session session,
                           org.h2.result.Row row)
        Specified by:
        addRow in class org.h2.table.Table
      • checkSupportAlter

        public void checkSupportAlter()
        Specified by:
        checkSupportAlter in class org.h2.table.Table
      • getTableType

        public org.h2.table.TableType getTableType()
        Specified by:
        getTableType in class org.h2.table.Table
      • getScanIndex

        public org.h2.index.Index getScanIndex​(org.h2.engine.Session session)
        Specified by:
        getScanIndex in class org.h2.table.Table
      • getUniqueIndex

        public org.h2.index.Index getUniqueIndex()
        Specified by:
        getUniqueIndex in class org.h2.table.Table
      • getIndexes

        public ArrayList<org.h2.index.Index> getIndexes()
        Specified by:
        getIndexes in class org.h2.table.Table
      • isLockedExclusively

        public boolean isLockedExclusively()
        Specified by:
        isLockedExclusively in class org.h2.table.Table
      • getMaxDataModificationId

        public long getMaxDataModificationId()
        Specified by:
        getMaxDataModificationId in class org.h2.table.Table
      • isDeterministic

        public boolean isDeterministic()
        Specified by:
        isDeterministic in class org.h2.table.Table
      • canGetRowCount

        public boolean canGetRowCount()
        Specified by:
        canGetRowCount in class org.h2.table.Table
      • canDrop

        public boolean canDrop()
        Specified by:
        canDrop in class org.h2.table.Table
      • getRowCount

        public long getRowCount​(org.h2.engine.Session ses)
        Specified by:
        getRowCount in class org.h2.table.Table
      • getRowCountApproximation

        public long getRowCountApproximation()
        Specified by:
        getRowCountApproximation in class org.h2.table.Table
      • getDiskSpaceUsed

        public long getDiskSpaceUsed()
        Specified by:
        getDiskSpaceUsed in class org.h2.table.Table
      • checkRename

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