Package org.h2.table
Class FunctionTable
- java.lang.Object
-
- All Implemented Interfaces:
HasSQL
public class FunctionTable extends VirtualConstructedTable
A table backed by a system or user-defined function that returns a result set.
-
-
Field Summary
Fields Modifier and Type Field Description private TableFunctionfunction-
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 Constructor Description FunctionTable(Schema schema, SessionLocal session, TableFunction function)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancanGetRowCount(SessionLocal session)Check if the row count can be retrieved quickly.ResultInterfacegetResult(SessionLocal session)Read the rows from the table.longgetRowCount(SessionLocal session)Get the row count for this table.longgetRowCountApproximation(SessionLocal session)Get the approximated row count for this table.java.lang.StringgetSQL(int sqlFlags)Get the SQL statement of this expression.java.lang.StringBuildergetSQL(java.lang.StringBuilder builder, int sqlFlags)Appends the SQL statement of this object to the specified builder.booleanisDeterministic()Check if the table is deterministic.-
Methods inherited from class org.h2.table.VirtualConstructedTable
getMaxDataModificationId, getScanIndex
-
Methods inherited from class org.h2.table.VirtualTable
addIndex, addRow, canDrop, canReference, checkRename, checkSupportAlter, close, getCreateSQL, getIndexes, getTableType, isInsertable, removeRow, truncate
-
Methods inherited from class org.h2.table.Table
addConstraint, addDependencies, addDependentView, addSequence, addSynonym, addTrigger, 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, getNullRow, getOnCommitDrop, getOnCommitTruncate, getPrimaryKey, getRow, getRowFactory, getRowIdColumn, getScanIndex, getSQLTableType, getTemplateRow, getTemplateSimpleRow, getTriggers, getType, hasSelectTrigger, 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
-
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
-
-
-
-
Field Detail
-
function
private final TableFunction function
-
-
Constructor Detail
-
FunctionTable
public FunctionTable(Schema schema, SessionLocal session, TableFunction function)
-
-
Method Detail
-
canGetRowCount
public boolean canGetRowCount(SessionLocal session)
Description copied from class:TableCheck if the row count can be retrieved quickly.- Specified by:
canGetRowCountin classTable- Parameters:
session- the session- Returns:
- true if it can
-
getRowCount
public long getRowCount(SessionLocal session)
Description copied from class:TableGet the row count for this table.- Specified by:
getRowCountin classTable- Parameters:
session- the session- Returns:
- the row count
-
getRowCountApproximation
public long getRowCountApproximation(SessionLocal session)
Description copied from class:TableGet the approximated row count for this table.- Specified by:
getRowCountApproximationin classTable- Parameters:
session- the session- Returns:
- the approximated row count
-
getResult
public ResultInterface getResult(SessionLocal session)
Description copied from class:VirtualConstructedTableRead the rows from the table.- Specified by:
getResultin classVirtualConstructedTable- Parameters:
session- the session- Returns:
- the result
-
getSQL
public java.lang.String getSQL(int sqlFlags)
Description copied from interface:HasSQLGet the SQL statement of this expression. This may not always be the original SQL statement, specially after optimization.- Specified by:
getSQLin interfaceHasSQL- Overrides:
getSQLin classSchemaObject- Parameters:
sqlFlags- formatting flags- Returns:
- the SQL statement
-
getSQL
public java.lang.StringBuilder getSQL(java.lang.StringBuilder builder, int sqlFlags)Description copied from interface:HasSQLAppends the SQL statement of this object to the specified builder.- Specified by:
getSQLin interfaceHasSQL- Overrides:
getSQLin classSchemaObject- Parameters:
builder- string buildersqlFlags- formatting flags- Returns:
- the specified string builder
-
isDeterministic
public boolean isDeterministic()
Description copied from class:TableCheck if the table is deterministic.- Specified by:
isDeterministicin classTable- Returns:
- true if it is
-
-