org.h2.mvstore.db

## Class MVIndex<K,V>

- java.lang.Object
- - org.h2.engine.DbObject
  - - org.h2.schema.SchemaObject
    - - org.h2.index.Index
      - - org.h2.mvstore.db.MVIndex<K,V>

All Implemented Interfaces:
  HasSQL

Direct Known Subclasses:
  MVDelegateIndex, MVPrimaryIndex, MVSecondaryIndex, MVSpatialIndex

    public abstract class MVIndex<K,V>
    extends Index

An index that stores the data in an MVStore.

### Field Summary

### Fields inherited from class org.h2.index.Index

`columnIds, columns, indexColumns, indexType, table, uniqueColumnColumn`

### Fields inherited from class org.h2.engine.DbObject

`AGGREGATE, comment, COMMENT, CONSTANT, CONSTRAINT, database, DOMAIN, FUNCTION_ALIAS, INDEX, RIGHT, ROLE, SCHEMA, SEQUENCE, SETTING, SYNONYM, TABLE_OR_VIEW, trace, TRIGGER, USER`

### Fields inherited from interface org.h2.util.HasSQL

`ADD_PLAN_INFORMATION, DEFAULT_SQL_FLAGS, NO_CASTS, QUOTE_ONLY_WHEN_REQUIRED, REPLACE_LOBS_FOR_TRACE, TRACE_SQL_FLAGS`

### Constructor Summary

Constructors
`protected` `MVIndex(Table newTable, int id, java.lang.String name, IndexColumn[] newIndexColumns, int uniqueColumnCount, IndexType newIndexType)`

### Method Summary

All Methods Instance Methods Abstract Methods
`abstract void` `addBufferedRows(java.util.List<java.lang.String> bufferNames)` Add all the index data from the buffers to the index.
`abstract void` `addRowsToBuffer(java.util.List<Row> rows, java.lang.String bufferName)` Add the rows to a temporary storage (not to the index yet).
`abstract MVMap<K,VersionedValue<V>>` `getMVMap()`

### Methods inherited from class org.h2.index.Index

`add, canFindNext, canGetFirstOrLast, canScan, checkIndexColumnTypes, close, compareRows, find, findFirstOrLast, findNext, getColumnIndex, getColumns, getCost, getCostRangeIndex, getCreateSQL, getCreateSQLForCopy, getDiskSpaceUsed, getDuplicateKeyException, getDuplicatePrimaryKeyMessage, getIndexColumns, getIndexType, getPlanSQL, getRow, getRowCount, getRowCountApproximation, getRowFactory, getTable, getType, getUniqueColumnCount, getUniqueRowFactory, isFindUsingFullTableScan, isFirstColumn, isHidden, isRowIdIndex, mayHaveNullDuplicates, needRebuild, remove, remove, removeChildrenAndResources, truncate, update`

### Methods inherited from class org.h2.schema.SchemaObject

`getSchema, getSQL, getSQL`

### Methods inherited from class org.h2.engine.DbObject

`checkRename, getChildren, getComment, getCreateSQLForMeta, getDatabase, getDropSQL, getId, getModificationId, getName, invalidate, isTemporary, isValid, rename, setComment, setModified, setObjectName, setTemporary, toString`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface org.h2.util.HasSQL

`getTraceSQL`

### Constructor Detail

#### MVIndex

    protected MVIndex(Table newTable,
                      int id,
                      java.lang.String name,
                      IndexColumn[] newIndexColumns,
                      int uniqueColumnCount,
                      IndexType newIndexType)

### Method Detail

#### addRowsToBuffer

    public abstract void addRowsToBuffer(java.util.List<Row> rows,
                                         java.lang.String bufferName)

Add the rows to a temporary storage (not to the index yet). The rows are sorted by the index columns. This is to more quickly build the index.

Parameters:
  `rows` - the rows
  `bufferName` - the name of the temporary storage

#### addBufferedRows

    public abstract void addBufferedRows(java.util.List<java.lang.String> bufferNames)

Add all the index data from the buffers to the index. The index will typically use merge sort to add the data more quickly in sorted order.

Parameters:
  `bufferNames` - the names of the temporary storage

#### getMVMap

    public abstract MVMap<K,VersionedValue<V>> getMVMap()