class DefaultVTIModDeferPolicy extends java.lang.Object implements DeferModification
Modifier and Type | Field and Description |
---|---|
private java.lang.String |
targetVTIClassName |
private boolean |
VTIResultSetIsSensitive |
DELETE_STATEMENT, INSERT_STATEMENT, UPDATE_STATEMENT
Constructor and Description |
---|
DefaultVTIModDeferPolicy(java.lang.String targetVTIClassName,
boolean VTIResultSetIsSensitive) |
Modifier and Type | Method and 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)
DeferModification
alwaysDefer
in interface DeferModification
statementType
- One of INSERT_STATEMENT, UPDATE_STATEMENT, DELETE_STATEMENT.DeferModification.alwaysDefer(int)
public boolean columnRequiresDefer(int statementType, java.lang.String columnName, boolean inWhereClause)
DeferModification
columnRequiresDefer
in interface DeferModification
statementType
- 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)
DeferModification
subselectRequiresDefer
in interface DeferModification
statementType
- 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)
DeferModification
subselectRequiresDefer
in interface DeferModification
statementType
- 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)
DeferModification
modificationNotify
in interface DeferModification
statementType
- one of INSERT_STATEMENT, UPDATE_STATEMENT, or DELETE_STATEMENTdeferred
- true if the modification will be deferred, false if not.Apache Derby V10.13 Internals - Copyright © 2004,2016 The Apache Software Foundation. All Rights Reserved.