|
||||||||||
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.table.Table
org.h2.table.MetaTable
public class MetaTable
This class is responsible to build the database meta data pseudo tables.
Field Summary | |
---|---|
static long |
ROW_COUNT_APPROXIMATION
The approximate number of rows of a meta table. |
Fields inherited from class org.h2.table.Table |
---|
columns, compareMode, EXTERNAL_TABLE_ENGINE, isHidden, SYSTEM_TABLE, TABLE, TABLE_LINK, TYPE_CACHED, TYPE_MEMORY, VIEW |
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 | |
---|---|
MetaTable(Schema schema,
int id,
int type)
Create a new metadata table. |
Method Summary | |
---|---|
Index |
addIndex(Session session,
java.lang.String indexName,
int indexId,
IndexColumn[] cols,
IndexType indexType,
boolean create,
java.lang.String indexComment)
Create an index for this table |
void |
addRow(Session session,
Row row)
Add a row to the table and all indexes. |
boolean |
canDrop()
Check if this table can be dropped. |
boolean |
canGetRowCount()
Check if the row count can be retrieved quickly. |
boolean |
canReference()
Check if this table can be referenced. |
void |
checkRename()
Check if this object can be renamed. |
void |
checkSupportAlter()
Check if this table supports ALTER TABLE. |
void |
close(Session session)
Close the table object and flush changes. |
java.util.ArrayList<Row> |
generateRows(Session session,
SearchRow first,
SearchRow last)
Generate the data for the given metadata table using the given first and last row filters. |
java.lang.String |
getCreateSQL()
Build a SQL statement to re-create this object. |
java.lang.String |
getDropSQL()
Build a SQL statement to drop this object. |
java.util.ArrayList<Index> |
getIndexes()
Get all indexes for this table. |
long |
getMaxDataModificationId()
Get the last data modification id. |
static int |
getMetaTableTypeCount()
Get the number of meta table types. |
long |
getRowCount(Session session)
Get the row count for this table. |
long |
getRowCountApproximation()
Get the approximated row count for this table. |
Index |
getScanIndex(Session session)
Get the scan index to iterate through all rows. |
java.lang.String |
getTableType()
Get the table type name |
Index |
getUniqueIndex()
Get any unique index for this table if one exists. |
boolean |
isDeterministic()
Check if the table is deterministic. |
boolean |
isLockedExclusively()
Check if this table is locked exclusively. |
void |
lock(Session session,
boolean exclusive,
boolean force)
Lock the table for the given session. |
void |
removeChildrenAndResources(Session session)
Remove all dependent objects and free all resources (files, blocks in files) of this object. |
void |
removeRow(Session session,
Row row)
Remove a row from the table and all indexes. |
void |
truncate(Session session)
Remove all rows from the table and indexes. |
void |
unlock(Session s)
Release the lock for this session. |
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, 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.engine.DbObject |
---|
getComment, getDatabase, getId, getModificationId, getName, isTemporary, setComment, setModified, setTemporary |
Field Detail |
---|
public static final long ROW_COUNT_APPROXIMATION
Constructor Detail |
---|
public MetaTable(Schema schema, int id, int type)
schema
- the schemaid
- the object idtype
- the meta table typeMethod Detail |
---|
public java.lang.String getDropSQL()
DbObjectBase
getDropSQL
in interface DbObject
getDropSQL
in class DbObjectBase
public java.lang.String getCreateSQL()
DbObjectBase
getCreateSQL
in interface DbObject
getCreateSQL
in class DbObjectBase
public Index addIndex(Session session, java.lang.String indexName, int indexId, IndexColumn[] cols, IndexType indexType, boolean create, java.lang.String indexComment)
Table
addIndex
in class Table
session
- the sessionindexName
- the name of the indexindexId
- the idcols
- the index columnsindexType
- the index typecreate
- whether this is a new indexindexComment
- the comment
public void lock(Session session, boolean exclusive, boolean force)
Table
lock
in class Table
session
- the sessionexclusive
- true for write locks, false for read locksforce
- lock even in the MVCC modepublic boolean isLockedExclusively()
Table
isLockedExclusively
in class Table
public java.util.ArrayList<Row> generateRows(Session session, SearchRow first, SearchRow last)
session
- the sessionfirst
- the first row to returnlast
- the last row to return
public void removeRow(Session session, Row row)
Table
removeRow
in class Table
session
- the sessionrow
- the rowpublic void addRow(Session session, Row row)
Table
addRow
in class Table
session
- the sessionrow
- the rowpublic void removeChildrenAndResources(Session session)
DbObjectBase
removeChildrenAndResources
in interface DbObject
removeChildrenAndResources
in class Table
session
- the sessionpublic void close(Session session)
Table
close
in class Table
session
- the sessionpublic void unlock(Session s)
Table
unlock
in class Table
s
- the sessionpublic void checkRename()
DbObjectBase
checkRename
in interface DbObject
checkRename
in class DbObjectBase
public void checkSupportAlter()
Table
checkSupportAlter
in class Table
public void truncate(Session session)
Table
truncate
in class Table
session
- the sessionpublic long getRowCount(Session session)
Table
getRowCount
in class Table
session
- the session
public boolean canGetRowCount()
Table
canGetRowCount
in class Table
public boolean canDrop()
Table
canDrop
in class Table
public java.lang.String getTableType()
Table
getTableType
in class Table
public Index getScanIndex(Session session)
Table
getScanIndex
in class Table
session
- the session
public java.util.ArrayList<Index> getIndexes()
Table
getIndexes
in class Table
public long getMaxDataModificationId()
Table
getMaxDataModificationId
in class Table
public Index getUniqueIndex()
Table
getUniqueIndex
in class Table
public static int getMetaTableTypeCount()
public long getRowCountApproximation()
Table
getRowCountApproximation
in class Table
public boolean isDeterministic()
Table
isDeterministic
in class Table
public boolean canReference()
Table
canReference
in class Table
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |