|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||
java.lang.Objectorg.h2.engine.DbObjectBase
org.h2.schema.SchemaObjectBase
org.h2.index.BaseIndex
org.h2.mvstore.db.MVSpatialIndex
public class MVSpatialIndex
This is an index based on a MVRTreeMap.
| 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, TABLE_OR_VIEW, TRIGGER, USER, USER_DATATYPE |
| Constructor Summary | |
|---|---|
MVSpatialIndex(Database db,
MVTable table,
int id,
java.lang.String indexName,
IndexColumn[] columns,
IndexType indexType)
Constructor. |
|
| Method Summary | |
|---|---|
void |
add(Session session,
Row row)
Add a row to the index. |
void |
addBufferedRows(java.util.List<java.lang.String> bufferNames)
Add all the index data from the buffers to the index. |
void |
addRowsToBuffer(java.util.List<Row> rows,
java.lang.String bufferName)
Add the rows to a temporary storage (not to the index yet). |
boolean |
canGetFirstOrLast()
Check if the index can directly look up the lowest or highest value of a column. |
void |
checkRename()
Check if this object can be renamed. |
void |
close(Session session)
Close this index. |
Cursor |
find(Session session,
SearchRow first,
SearchRow last)
Find a row or a list of rows and create a cursor to iterate over the result. |
Cursor |
find(TableFilter filter,
SearchRow first,
SearchRow last)
Find a row or a list of rows and create a cursor to iterate over the result. |
Cursor |
findByGeometry(TableFilter filter,
SearchRow intersection)
Find a row or a list of rows and create a cursor to iterate over the result. |
Cursor |
findFirstOrLast(Session session,
boolean first)
Find the first (or last) value of this index. |
double |
getCost(Session session,
int[] masks,
TableFilter filter,
SortOrder sortOrder)
Estimate the cost to search for rows given the search mask. |
protected long |
getCostRangeIndex(int[] masks,
long rowCount,
TableFilter filter,
SortOrder sortOrder)
Calculate the cost for the given mask as if this index was a typical b-tree range index. |
long |
getDiskSpaceUsed()
Get the used disk space for this index. |
long |
getRowCount(Session session)
Get the row count of this table, for the given session. |
long |
getRowCountApproximation()
Get the approximated row count for this table. |
MVTable |
getTable()
Get the table on which this index is based. |
boolean |
needRebuild()
Check if the index needs to be rebuilt. |
void |
remove(Session session)
Remove the index. |
void |
remove(Session session,
Row row)
Remove a row from the index. |
void |
truncate(Session session)
Remove all rows from the index. |
| Methods inherited from class org.h2.index.BaseIndex |
|---|
canFindNext, canScan, checkIndexColumnTypes, commit, compareRows, containsNullAndAllowMultipleNull, findNext, getColumnIndex, getColumns, getCreateSQL, getCreateSQLForCopy, getDropSQL, getDuplicateKeyException, getIndexColumns, getIndexType, getPlanSQL, getRow, getType, initBaseIndex, isHidden, isRowIdIndex, removeChildrenAndResources, setSortedInsertMode |
| Methods inherited from class org.h2.schema.SchemaObjectBase |
|---|
getSchema, getSQL, initSchemaObjectBase |
| Methods inherited from class org.h2.engine.DbObjectBase |
|---|
getChildren, getComment, getDatabase, getId, getModificationId, getName, initDbObjectBase, invalidate, isTemporary, 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.index.Index |
|---|
canFindNext, canScan, commit, compareRows, findNext, getColumnIndex, getColumns, getIndexColumns, getIndexType, getPlanSQL, getRow, isRowIdIndex, setSortedInsertMode |
| Methods inherited from interface org.h2.schema.SchemaObject |
|---|
getSchema, isHidden |
| Methods inherited from interface org.h2.engine.DbObject |
|---|
getChildren, getComment, getCreateSQL, getCreateSQLForCopy, getDatabase, getDropSQL, getId, getName, getSQL, getType, isTemporary, removeChildrenAndResources, rename, setComment, setTemporary |
| Constructor Detail |
|---|
public MVSpatialIndex(Database db,
MVTable table,
int id,
java.lang.String indexName,
IndexColumn[] columns,
IndexType indexType)
db - the databasetable - the table instanceid - the index idindexName - the index namecolumns - the indexed columns (only one geometry column allowed)indexType - the index type (only spatial index)| Method Detail |
|---|
public void addRowsToBuffer(java.util.List<Row> rows,
java.lang.String bufferName)
MVIndex
addRowsToBuffer in interface MVIndexrows - the rowsbufferName - the name of the temporary storagepublic void addBufferedRows(java.util.List<java.lang.String> bufferNames)
MVIndex
addBufferedRows in interface MVIndexbufferNames - the names of the temporary storagepublic void close(Session session)
Index
close in interface Indexsession - the session used to write data
public void add(Session session,
Row row)
Index
add in interface Indexsession - the session to userow - the row to add
public void remove(Session session,
Row row)
Index
remove in interface Indexsession - the sessionrow - the row
public Cursor find(TableFilter filter,
SearchRow first,
SearchRow last)
Index
find in interface Indexfind in class BaseIndexfilter - the table filter (which possibly knows about additional
conditions)first - the first row, or null for no limitlast - the last row, or null for no limit
public Cursor find(Session session,
SearchRow first,
SearchRow last)
Index
find in interface Indexsession - the sessionfirst - the first row, or null for no limitlast - the last row, or null for no limit
public Cursor findByGeometry(TableFilter filter,
SearchRow intersection)
SpatialIndex
findByGeometry in interface SpatialIndexfilter - the table filter (which possibly knows about additional
conditions)intersection - the geometry which values should intersect with, or
null for anything
public MVTable getTable()
Index
getTable in interface IndexgetTable in class BaseIndex
public double getCost(Session session,
int[] masks,
TableFilter filter,
SortOrder sortOrder)
Index
getCost in interface Indexsession - the sessionmasks - per-column comparison bit masks, null means 'always false',
see constants in IndexConditionfilter - the table filtersortOrder - the sort order
protected long getCostRangeIndex(int[] masks,
long rowCount,
TableFilter filter,
SortOrder sortOrder)
BaseIndex
getCostRangeIndex in class BaseIndexmasks - the search maskrowCount - the number of rows in the indexfilter - the table filtersortOrder - the sort order
public void remove(Session session)
Index
remove in interface Indexsession - the sessionpublic void truncate(Session session)
Index
truncate in interface Indexsession - the sessionpublic boolean canGetFirstOrLast()
Index
canGetFirstOrLast in interface Index
public Cursor findFirstOrLast(Session session,
boolean first)
Index
findFirstOrLast in interface Indexsession - the sessionfirst - true if the first (lowest for ascending indexes) or last
value should be returned
public boolean needRebuild()
Index
needRebuild in interface Indexpublic long getRowCount(Session session)
Index
getRowCount in interface Indexsession - the session
public long getRowCountApproximation()
Index
getRowCountApproximation in interface Indexpublic long getDiskSpaceUsed()
Index
getDiskSpaceUsed in interface Indexpublic void checkRename()
DbObjectBase
checkRename in interface DbObjectcheckRename in class DbObjectBase
|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||