DeferModificationclass DefaultVTIModDeferPolicy extends java.lang.Object implements DeferModification
| Modifier and Type | Field | Description |
|---|---|---|
private java.lang.String |
targetVTIClassName |
|
private boolean |
VTIResultSetIsSensitive |
DELETE_STATEMENT, INSERT_STATEMENT, UPDATE_STATEMENT| Constructor | Description |
|---|---|
DefaultVTIModDeferPolicy(java.lang.String targetVTIClassName,
boolean VTIResultSetIsSensitive) |
| Modifier and Type | Method | Description |
|---|---|---|
boolean |
alwaysDefer(int statementType) |
This method is called during preparation of an insert, update, or delete statement with this VTI
as the target.
|
boolean |
columnRequiresDefer(int statementType,
java.lang.String columnName,
boolean inWhereClause) |
This method is called during preparation of an update or delete statement on the virtual
table if getResultSetType() returns ResultSet.TYPE_SCROLL_SENSITIVE or TYPE_SCROLL_SENSITIVE and
alwaysDefer( statementType) returns false.
|
void |
modificationNotify(int statementType,
boolean deferred) |
This VTI method is called by Derby when a VTI modification (insert, update, or delete)
is executed.
|
boolean |
subselectRequiresDefer(int statementType,
java.lang.String VTIClassName) |
This method is called during preparation of an insert, update, or delete statement that has this virtual
table as its target and that has a sub-select.
|
boolean |
subselectRequiresDefer(int statementType,
java.lang.String schemaName,
java.lang.String tableName) |
This method is called during preparation of an insert, update, or delete statement that has this virtual
table as its target and that has a sub-select.
|
private final java.lang.String targetVTIClassName
private final boolean VTIResultSetIsSensitive
DefaultVTIModDeferPolicy(java.lang.String targetVTIClassName,
boolean VTIResultSetIsSensitive)
public boolean alwaysDefer(int statementType)
DeferModificationalwaysDefer in interface DeferModificationstatementType - One of INSERT_STATEMENT, UPDATE_STATEMENT, DELETE_STATEMENT.DeferModification.alwaysDefer(int)public boolean columnRequiresDefer(int statementType,
java.lang.String columnName,
boolean inWhereClause)
DeferModificationcolumnRequiresDefer in interface DeferModificationstatementType - UPDATE_STATEMENT or DELETE_STATEMENT.columnName - the name of one of the columns being updatedinWhereClause - indicates whether the column also appears in the where clauseDeferModification.columnRequiresDefer(int, java.lang.String, boolean)public boolean subselectRequiresDefer(int statementType,
java.lang.String schemaName,
java.lang.String tableName)
DeferModificationsubselectRequiresDefer in interface DeferModificationstatementType - the statement type: INSERT_STATEMENT, UPDATE_STATEMENT, or DELETE_STATEMENT.schemaName - the schema of the table in the sub-select.tableName - the name of the table in the sub-select.DeferModification.subselectRequiresDefer(int,String,String)public boolean subselectRequiresDefer(int statementType,
java.lang.String VTIClassName)
DeferModificationsubselectRequiresDefer in interface DeferModificationstatementType - the statement type: INSERT_STATEMENT, UPDATE_STATEMENT, or DELETE_STATEMENT.VTIClassName - the name of the class implementing the VTI in the sub-select.DeferModification.subselectRequiresDefer(int, String)public void modificationNotify(int statementType,
boolean deferred)
DeferModificationmodificationNotify in interface DeferModificationstatementType - one of INSERT_STATEMENT, UPDATE_STATEMENT, or DELETE_STATEMENTdeferred - true if the modification will be deferred, false if not.Apache Derby V10.14 Internals - Copyright © 2004,2018 The Apache Software Foundation. All Rights Reserved.