Package org.h2.table
Class DataChangeDeltaTable
- java.lang.Object
-
- org.h2.engine.DbObject
-
- org.h2.schema.SchemaObject
-
- org.h2.table.Table
-
- org.h2.table.VirtualTable
-
- org.h2.table.VirtualConstructedTable
-
- org.h2.table.DataChangeDeltaTable
-
- All Implemented Interfaces:
HasSQL
public class DataChangeDeltaTable extends VirtualConstructedTable
A data change delta table.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
DataChangeDeltaTable.ResultOption
Result option.
-
Field Summary
Fields Modifier and Type Field Description private Expression[]
expressions
private DataChangeDeltaTable.ResultOption
resultOption
private DataChangeStatement
statement
-
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 DataChangeDeltaTable(Schema schema, SessionLocal session, DataChangeStatement statement, DataChangeDeltaTable.ResultOption resultOption)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
canGetRowCount(SessionLocal session)
Check if the row count can be retrieved quickly.static void
collectInsertedFinalRow(SessionLocal session, Table table, ResultTarget deltaChangeCollector, DataChangeDeltaTable.ResultOption deltaChangeCollectionMode, Row newRow)
Collects final row for INSERT operations.ResultInterface
getResult(SessionLocal session)
Read the rows from the table.long
getRowCount(SessionLocal session)
Get the row count for this table.long
getRowCountApproximation(SessionLocal session)
Get the approximated row count for this table.java.lang.StringBuilder
getSQL(java.lang.StringBuilder builder, int sqlFlags)
Appends the SQL statement of this object to the specified builder.boolean
isDeterministic()
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, 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 Detail
-
statement
private final DataChangeStatement statement
-
resultOption
private final DataChangeDeltaTable.ResultOption resultOption
-
expressions
private final Expression[] expressions
-
-
Constructor Detail
-
DataChangeDeltaTable
public DataChangeDeltaTable(Schema schema, SessionLocal session, DataChangeStatement statement, DataChangeDeltaTable.ResultOption resultOption)
-
-
Method Detail
-
collectInsertedFinalRow
public static void collectInsertedFinalRow(SessionLocal session, Table table, ResultTarget deltaChangeCollector, DataChangeDeltaTable.ResultOption deltaChangeCollectionMode, Row newRow)
Collects final row for INSERT operations.- Parameters:
session
- the sessiontable
- the tabledeltaChangeCollector
- target resultdeltaChangeCollectionMode
- collection modenewRow
- the inserted row
-
canGetRowCount
public boolean canGetRowCount(SessionLocal session)
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
public long getRowCount(SessionLocal session)
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
-
getRowCountApproximation
public long getRowCountApproximation(SessionLocal session)
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
-
getResult
public ResultInterface getResult(SessionLocal session)
Description copied from class:VirtualConstructedTable
Read the rows from the table.- Specified by:
getResult
in classVirtualConstructedTable
- Parameters:
session
- the session- Returns:
- the result
-
getSQL
public java.lang.StringBuilder getSQL(java.lang.StringBuilder builder, int sqlFlags)
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
-
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
-
-