|
||||||||
| 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.TableView
public class TableView
A view is a virtual table that is defined by a query.
| Field Summary |
|---|
| 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 | |
|---|---|
TableView(Schema schema,
int id,
java.lang.String name,
java.lang.String querySQL,
java.util.ArrayList<Parameter> params,
java.lang.String[] columnNames,
Session session,
boolean recursive)
|
|
| 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. |
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. |
static TableView |
createTempView(Session session,
User owner,
java.lang.String name,
Query query,
Query topQuery)
Create a temporary view out of the given query. |
PlanItem |
getBestPlanItem(Session session,
int[] masks)
Get the best plan for the given search mask. |
java.lang.String |
getCreateSQL()
Build a SQL statement to re-create this object. |
java.lang.String |
getCreateSQL(boolean orReplace,
boolean force)
Generate "CREATE" SQL statement for the view. |
java.lang.String |
getCreateSQLForCopy(Table table,
java.lang.String quotedName)
Build a SQL statement to re-create the object, or to create a copy of the object with a different name or referencing a different table |
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. |
User |
getOwner()
|
int |
getParameterOffset()
|
java.lang.String |
getQuery()
|
ResultInterface |
getRecursiveResult()
|
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 |
getSQL()
Get the SQL name of this object (may be quoted). |
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 |
isInvalid()
Check if this view is currently invalid. |
boolean |
isLockedExclusively()
Check if this table is locked exclusively. |
boolean |
isTableExpression()
|
void |
lock(Session session,
boolean exclusive,
boolean force)
Lock the table for the given session. |
DbException |
recompile(Session session,
boolean force)
Re-compile the view query and all views that depend on this object. |
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 |
replace(java.lang.String querySQL,
java.lang.String[] columnNames,
Session session,
boolean recursive,
boolean force)
Try to replace the SQL statement of the view and re-compile this and all dependent views. |
void |
setRecursiveResult(LocalResult value)
|
void |
setTableExpression(boolean tableExpression)
|
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, 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, getName, isTemporary, setComment, setTemporary |
| Constructor Detail |
|---|
public TableView(Schema schema,
int id,
java.lang.String name,
java.lang.String querySQL,
java.util.ArrayList<Parameter> params,
java.lang.String[] columnNames,
Session session,
boolean recursive)
| Method Detail |
|---|
public void replace(java.lang.String querySQL,
java.lang.String[] columnNames,
Session session,
boolean recursive,
boolean force)
querySQL - the SQL statementcolumnNames - the column namessession - the sessionrecursive - whether this is a recursive viewforce - if errors should be ignored
public DbException recompile(Session session,
boolean force)
session - the sessionforce - if exceptions should be ignored
public boolean isInvalid()
public PlanItem getBestPlanItem(Session session,
int[] masks)
Table
getBestPlanItem in class Tablesession - the sessionmasks - null means 'always false'
public java.lang.String getDropSQL()
DbObjectBase
getDropSQL in interface DbObjectgetDropSQL in class DbObjectBase
public java.lang.String getCreateSQLForCopy(Table table,
java.lang.String quotedName)
DbObject
getCreateSQLForCopy in interface DbObjectgetCreateSQLForCopy in class Tabletable - the new tablequotedName - the quoted name
public java.lang.String getCreateSQL()
DbObjectBase
getCreateSQL in interface DbObjectgetCreateSQL in class DbObjectBase
public java.lang.String getCreateSQL(boolean orReplace,
boolean force)
orReplace - if true, then include the OR REPLACE clauseforce - if true, then include the FORCE clause
public void checkRename()
DbObjectBase
checkRename in interface DbObjectcheckRename in class DbObjectBase
public void lock(Session session,
boolean exclusive,
boolean force)
Table
lock in class Tablesession - the sessionexclusive - true for write locks, false for read locksforce - lock even in the MVCC modepublic void close(Session session)
Table
close in class Tablesession - the sessionpublic void unlock(Session s)
Table
unlock in class Tables - the sessionpublic boolean isLockedExclusively()
Table
isLockedExclusively in class Table
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 Tablesession - 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 removeRow(Session session,
Row row)
Table
removeRow in class Tablesession - the sessionrow - the row
public void addRow(Session session,
Row row)
Table
addRow in class Tablesession - the sessionrow - the rowpublic void checkSupportAlter()
Table
checkSupportAlter in class Tablepublic void truncate(Session session)
Table
truncate in class Tablesession - the sessionpublic long getRowCount(Session session)
Table
getRowCount in class Tablesession - the session
public boolean canGetRowCount()
Table
canGetRowCount in class Tablepublic boolean canDrop()
Table
canDrop in class Tablepublic java.lang.String getTableType()
Table
getTableType in class Tablepublic void removeChildrenAndResources(Session session)
DbObjectBase
removeChildrenAndResources in interface DbObjectremoveChildrenAndResources in class Tablesession - the sessionpublic java.lang.String getSQL()
DbObject
getSQL in interface DbObjectgetSQL in class SchemaObjectBasepublic java.lang.String getQuery()
public Index getScanIndex(Session session)
Table
getScanIndex in class Tablesession - the session
public java.util.ArrayList<Index> getIndexes()
Table
getIndexes in class Tablepublic long getMaxDataModificationId()
Table
getMaxDataModificationId in class Tablepublic Index getUniqueIndex()
Table
getUniqueIndex in class Tablepublic User getOwner()
public static TableView createTempView(Session session,
User owner,
java.lang.String name,
Query query,
Query topQuery)
session - the sessionowner - the owner of the queryname - the view namequery - the querytopQuery - the top level query
public long getRowCountApproximation()
Table
getRowCountApproximation in class Tablepublic int getParameterOffset()
public boolean isDeterministic()
Table
isDeterministic in class Tablepublic void setRecursiveResult(LocalResult value)
public ResultInterface getRecursiveResult()
public void setTableExpression(boolean tableExpression)
public boolean isTableExpression()
|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||