Package org.h2.table
Class RangeTable
java.lang.Object
org.h2.engine.DbObject
org.h2.schema.SchemaObject
org.h2.table.Table
org.h2.table.VirtualTable
org.h2.table.RangeTable
- All Implemented Interfaces:
HasSQL
The table SYSTEM_RANGE is a virtual table that generates incrementing numbers
with a given start end point.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
The PostgreSQL alias for the range table.private final RangeIndex
private Expression
private Expression
static final String
The name of the range table.private boolean
private Expression
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
ConstructorsConstructorDescriptionRangeTable
(Schema schema, Expression min, Expression max) Create a new range with the given start and end expressions.RangeTable
(Schema schema, Expression min, Expression max, Expression step) -
Method Summary
Modifier and TypeMethodDescriptionboolean
canGetRowCount
(SessionLocal session) Check if the row count can be retrieved quickly.Get all indexes for this table.long
getMax
(SessionLocal session) Calculate and get the end value of this range.long
Get the last data modification id.long
getMin
(SessionLocal session) Calculate and get the start value of this range.long
getRowCount
(SessionLocal session) Get the row count for this table.long
getRowCountApproximation
(SessionLocal session) Get the approximated row count for this table.getScanIndex
(SessionLocal session) Get the scan index to iterate through all rows.getSQL
(StringBuilder builder, int sqlFlags) Appends the SQL statement of this object to the specified builder.long
getStep
(SessionLocal session) Get the increment.Get the table type nameboolean
Check if the table is deterministic.private void
Methods inherited from class org.h2.table.VirtualTable
addIndex, addRow, canDrop, canReference, checkRename, checkSupportAlter, close, getCreateSQL, 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, 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
-
Field Details
-
NAME
The name of the range table.- See Also:
-
ALIAS
The PostgreSQL alias for the range table.- See Also:
-
min
-
max
-
step
-
optimized
private boolean optimized -
index
-
-
Constructor Details
-
RangeTable
Create a new range with the given start and end expressions.- Parameters:
schema
- the schema (always the main schema)min
- the start expressionmax
- the end expression
-
RangeTable
-
-
Method Details
-
getSQL
Description copied from interface:HasSQL
Appends the SQL statement of this object to the specified builder.- Specified by:
getSQL
in interfaceHasSQL
- Overrides:
getSQL
in classSchemaObject
- Parameters:
builder
- string buildersqlFlags
- formatting flags- Returns:
- the specified string builder
-
canGetRowCount
Description copied from class:Table
Check if the row count can be retrieved quickly.- Specified by:
canGetRowCount
in classTable
- Parameters:
session
- the session- Returns:
- true if it can
-
getRowCount
Description copied from class:Table
Get the row count for this table.- Specified by:
getRowCount
in classTable
- Parameters:
session
- the session- Returns:
- the row count
-
getTableType
Description copied from class:Table
Get the table type name- Overrides:
getTableType
in classVirtualTable
- Returns:
- the table type name
-
getScanIndex
Description copied from class:Table
Get the scan index to iterate through all rows.- Specified by:
getScanIndex
in classTable
- Parameters:
session
- the session- Returns:
- the index
-
getIndexes
Description copied from class:Table
Get all indexes for this table.- Overrides:
getIndexes
in classVirtualTable
- Returns:
- the list of indexes
-
getMin
Calculate and get the start value of this range.- Parameters:
session
- the session- Returns:
- the start value
-
getMax
Calculate and get the end value of this range.- Parameters:
session
- the session- Returns:
- the end value
-
getStep
Get the increment.- Parameters:
session
- the session- Returns:
- the increment (1 by default)
-
optimize
-
getMaxDataModificationId
public long getMaxDataModificationId()Description copied from class:Table
Get the last data modification id.- Specified by:
getMaxDataModificationId
in classTable
- Returns:
- the modification id
-
getRowCountApproximation
Description copied from class:Table
Get the approximated row count for this table.- Specified by:
getRowCountApproximation
in classTable
- Parameters:
session
- the session- Returns:
- the approximated row count
-
isDeterministic
public boolean isDeterministic()Description copied from class:Table
Check if the table is deterministic.- Specified by:
isDeterministic
in classTable
- Returns:
- true if it is
-