ForeignKeyRIChecker, ReferencedKeyRICheckerpublic abstract class GenericRIChecker
extends java.lang.Object
| Modifier and Type | Field | Description |
|---|---|---|
protected BackingStoreHashtable |
deferredRowsHashTable |
Cached value (for efficiency) of the intermediate table of violations
we use in the presence of deferred FK constraints.
|
protected DynamicCompiledOpenConglomInfo[] |
fkDcocis |
|
protected FKInfo |
fkInfo |
|
protected StaticCompiledOpenConglomInfo[] |
fkScocis |
|
protected int[] |
identityMap |
|
(package private) IndexRow |
indexQualifierRow |
|
protected LanguageConnectionContext |
lcc |
|
protected int |
numColumns |
|
protected DynamicCompiledOpenConglomInfo |
refDcoci |
|
protected StaticCompiledOpenConglomInfo |
refScoci |
|
private java.util.Hashtable<java.lang.Long,ScanController> |
scanControllers |
|
protected TransactionController |
tc |
| Constructor | Description |
|---|---|
GenericRIChecker(LanguageConnectionContext lcc,
TransactionController tc,
FKInfo fkinfo) |
| Modifier and Type | Method | Description |
|---|---|---|
(package private) void |
close() |
Clean up all scan controllers
|
(package private) abstract void |
doCheck(Activation a,
ExecRow row,
boolean restrictCheckOnly,
int deferredRowReq) |
Check the validity of this row
|
(package private) int |
getRICheckIsolationLevel() |
Get the isolation level for the scan for
the RI check.
|
protected ScanController |
getScanController(long conglomNumber,
StaticCompiledOpenConglomInfo scoci,
DynamicCompiledOpenConglomInfo dcoci,
ExecRow searchRow) |
Get a scan controller positioned using searchRow as
the start/stop position.
|
(package private) boolean |
isAnyFieldNull(ExecRow baseRow) |
Are any of the fields null in the row passed
in.
|
private void |
setupQualifierRow(ExecRow baseRow) |
protected FKInfo fkInfo
protected DynamicCompiledOpenConglomInfo[] fkDcocis
protected StaticCompiledOpenConglomInfo[] fkScocis
protected DynamicCompiledOpenConglomInfo refDcoci
protected StaticCompiledOpenConglomInfo refScoci
protected TransactionController tc
protected LanguageConnectionContext lcc
protected BackingStoreHashtable deferredRowsHashTable
private final java.util.Hashtable<java.lang.Long,ScanController> scanControllers
protected final int numColumns
protected int[] identityMap
final IndexRow indexQualifierRow
GenericRIChecker(LanguageConnectionContext lcc, TransactionController tc, FKInfo fkinfo) throws StandardException
lcc - the language connection contexttc - the xact controllerfkinfo - the foreign key informationStandardException - Thrown on failureabstract void doCheck(Activation a, ExecRow row, boolean restrictCheckOnly, int deferredRowReq) throws StandardException
a - The activationrow - The row to checkrestrictCheckOnly - true if the check is relevant only for RESTRICTED
referential action.deferredRowReq - For referenced keys: The required number of duplicates that
need to be present. Only used if postCheck==false.StandardException - on errorprotected ScanController getScanController(long conglomNumber, StaticCompiledOpenConglomInfo scoci, DynamicCompiledOpenConglomInfo dcoci, ExecRow searchRow) throws StandardException
conglomNumber - the particular conglomerate we
are interested inscoci - dcoci - searchRow - the row to matchStandardException - on errorprivate void setupQualifierRow(ExecRow baseRow)
boolean isAnyFieldNull(ExecRow baseRow)
baseRow - the row to check for null fieldstrue if any are nullvoid close()
throws StandardException
StandardException - on errorint getRICheckIsolationLevel()
Apache Derby V10.14 Internals - Copyright © 2004,2018 The Apache Software Foundation. All Rights Reserved.