|
||||||||
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 MVIndex
rows
- the rowsbufferName
- the name of the temporary storagepublic void addBufferedRows(java.util.List<java.lang.String> bufferNames)
MVIndex
addBufferedRows
in interface MVIndex
bufferNames
- the names of the temporary storagepublic void close(Session session)
Index
close
in interface Index
session
- the session used to write datapublic void add(Session session, Row row)
Index
add
in interface Index
session
- the session to userow
- the row to addpublic void remove(Session session, Row row)
Index
remove
in interface Index
session
- the sessionrow
- the rowpublic Cursor find(TableFilter filter, SearchRow first, SearchRow last)
Index
find
in interface Index
find
in class BaseIndex
filter
- 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 Index
session
- 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 SpatialIndex
filter
- 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 Index
getTable
in class BaseIndex
public double getCost(Session session, int[] masks, TableFilter filter, SortOrder sortOrder)
Index
getCost
in interface Index
session
- 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 BaseIndex
masks
- 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 Index
session
- the sessionpublic void truncate(Session session)
Index
truncate
in interface Index
session
- the sessionpublic boolean canGetFirstOrLast()
Index
canGetFirstOrLast
in interface Index
public Cursor findFirstOrLast(Session session, boolean first)
Index
findFirstOrLast
in interface Index
session
- the sessionfirst
- true if the first (lowest for ascending indexes) or last
value should be returned
public boolean needRebuild()
Index
needRebuild
in interface Index
public long getRowCount(Session session)
Index
getRowCount
in interface Index
session
- the session
public long getRowCountApproximation()
Index
getRowCountApproximation
in interface Index
public long getDiskSpaceUsed()
Index
getDiskSpaceUsed
in interface Index
public void checkRename()
DbObjectBase
checkRename
in interface DbObject
checkRename
in class DbObjectBase
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |