Package org.h2.table
Class VirtualTable
- java.lang.Object
-
- org.h2.engine.DbObject
-
- org.h2.schema.SchemaObject
-
- org.h2.table.Table
-
- org.h2.table.VirtualTable
-
- All Implemented Interfaces:
HasSQL
- Direct Known Subclasses:
DualTable
,RangeTable
,VirtualConstructedTable
public abstract class VirtualTable extends Table
A base class for virtual tables.
-
-
Field Summary
-
Fields inherited from class org.h2.table.Table
columns, compareMode, EXCLUSIVE_LOCK, isHidden, READ_LOCK, TYPE_CACHED, TYPE_MEMORY, WRITE_LOCK
-
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 Modifier Constructor Description protected
VirtualTable(Schema schema, int id, java.lang.String name)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Index
addIndex(SessionLocal session, java.lang.String indexName, int indexId, IndexColumn[] cols, int uniqueColumnCount, IndexType indexType, boolean create, java.lang.String indexComment)
Create an index for this tablevoid
addRow(SessionLocal session, Row row)
Add a row to the table and all indexes.boolean
canDrop()
Check if this table can be dropped.boolean
canReference()
Check if this table can be referenced.void
checkRename()
Check if renaming is allowed.void
checkSupportAlter()
Check if this table supports ALTER TABLE.void
close(SessionLocal session)
Close the table object and flush changes.java.lang.String
getCreateSQL()
Construct the CREATE ...java.util.ArrayList<Index>
getIndexes()
Get all indexes for this table.TableType
getTableType()
Get the table type nameboolean
isInsertable()
Returns whether this table is insertable.void
removeRow(SessionLocal session, Row row)
Remove a row from the table and all indexes.long
truncate(SessionLocal session)
Remove all rows from the table and indexes.-
Methods inherited from class org.h2.table.Table
addConstraint, addDependencies, addDependentView, addSequence, addSynonym, addTrigger, canGetRowCount, canTruncate, checkDeadlock, checkWritingAllowed, compareValues, convertInsertRow, convertUpdateRow, createRow, doesColumnExist, dropMultipleColumnsConstraintsAndIndexes, findColumn, findPrimaryKey, fire, fireAfterRow, fireBeforeRow, fireRow, getBestPlanItem, getCheckForeignKeyConstraints, getChildren, getColumn, getColumn, getColumn, getColumns, getCompareMode, getConstraints, getCreateSQLForCopy, getDependentViews, getDiskSpaceUsed, getIdentityColumn, getIndex, getIndexForColumn, getMainIndexColumn, getMaxDataModificationId, getNullRow, getOnCommitDrop, getOnCommitTruncate, getPrimaryKey, getRow, getRowCount, getRowCountApproximation, getRowFactory, getRowIdColumn, getScanIndex, getScanIndex, getSQLTableType, getTemplateRow, getTemplateSimpleRow, getTriggers, getType, hasSelectTrigger, isDeterministic, isGlobalTemporary, isHidden, isLockedExclusively, isLockedExclusivelyBy, isPersistData, isPersistIndexes, isQueryComparable, isRowLockable, isTableExpression, isView, lock, lockRow, removeChildrenAndResources, removeColumnExpressionsDependencies, removeConstraint, removeDependentView, removeIndex, removeIndexOrTransferOwnership, removeSequence, removeSynonym, removeTrigger, rename, renameColumn, setCheckForeignKeyConstraints, setColumns, setHidden, setOnCommitDrop, setOnCommitTruncate, setTableExpression, unlock, updateRow, updateRows
-
Methods inherited from class org.h2.schema.SchemaObject
getSchema, getSQL, getSQL
-
Methods inherited from class org.h2.engine.DbObject
getComment, getCreateSQLForMeta, getDatabase, getDropSQL, getId, getModificationId, getName, invalidate, isTemporary, isValid, 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
-
VirtualTable
protected VirtualTable(Schema schema, int id, java.lang.String name)
-
-
Method Detail
-
close
public void close(SessionLocal session)
Description copied from class:Table
Close the table object and flush changes.
-
addIndex
public Index addIndex(SessionLocal session, java.lang.String indexName, int indexId, IndexColumn[] cols, int uniqueColumnCount, IndexType indexType, boolean create, java.lang.String indexComment)
Description copied from class:Table
Create an index for this table- Specified by:
addIndex
in classTable
- Parameters:
session
- the sessionindexName
- the name of the indexindexId
- the idcols
- the index columnsuniqueColumnCount
- the count of unique columnsindexType
- the index typecreate
- whether this is a new indexindexComment
- the comment- Returns:
- the index
-
isInsertable
public boolean isInsertable()
Description copied from class:Table
Returns whether this table is insertable.- Overrides:
isInsertable
in classTable
- Returns:
- whether this table is insertable
-
removeRow
public void removeRow(SessionLocal session, Row row)
Description copied from class:Table
Remove a row from the table and all indexes.
-
truncate
public long truncate(SessionLocal session)
Description copied from class:Table
Remove all rows from the table and indexes.
-
addRow
public void addRow(SessionLocal session, Row row)
Description copied from class:Table
Add a row to the table and all indexes.
-
checkSupportAlter
public void checkSupportAlter()
Description copied from class:Table
Check if this table supports ALTER TABLE.- Specified by:
checkSupportAlter
in classTable
-
getTableType
public TableType getTableType()
Description copied from class:Table
Get the table type name- Specified by:
getTableType
in classTable
- Returns:
- the table type name
-
getIndexes
public java.util.ArrayList<Index> getIndexes()
Description copied from class:Table
Get all indexes for this table.- Specified by:
getIndexes
in classTable
- Returns:
- the list of indexes
-
canReference
public boolean canReference()
Description copied from class:Table
Check if this table can be referenced.- Overrides:
canReference
in classTable
- Returns:
- true if it can
-
canDrop
public boolean canDrop()
Description copied from class:Table
Check if this table can be dropped.
-
getCreateSQL
public java.lang.String getCreateSQL()
Description copied from class:DbObject
Construct the CREATE ... SQL statement for this object.- Specified by:
getCreateSQL
in classDbObject
- Returns:
- the SQL statement
-
checkRename
public void checkRename()
Description copied from class:DbObject
Check if renaming is allowed. Does nothing when allowed.- Overrides:
checkRename
in classDbObject
-
-