| java.lang.Object org.apache.derby.impl.sql.execute.GenericRIChecker
All known Subclasses: org.apache.derby.impl.sql.execute.ReferencedKeyRIChecker, org.apache.derby.impl.sql.execute.ForeignKeyRIChecker,
GenericRIChecker | abstract public class GenericRIChecker (Code) | | Generic implementation of a Referential Integrity
checker. Abstract.
|
getRICheckIsolationLevel | int getRICheckIsolationLevel()(Code) | | Get the isolation level for the scan for
the RI check.
NOTE: The level will eventually be instantaneous
locking once the implemenation changes.
The isolation level for the scan forthe RI check. |
getScanController | protected ScanController getScanController(long conglomNumber, StaticCompiledOpenConglomInfo scoci, DynamicCompiledOpenConglomInfo dcoci, ExecRow searchRow) throws StandardException(Code) | | Get a scan controller positioned using searchRow as
the start/stop position. The assumption is that searchRow
is of the same format as the index being opened.
The scan is set up to return no columns.
NOTE: We only need an instantaneous lock on the
table that we are probing as we are just checking
for the existance of a row. All updaters, whether
to the primary or foreign key tables, will hold an
X lock on the table that they are updating and will
be probing the other table, so instantaneous locks
will not change the semantics.
RESOLVE: Due to the current RI implementation
we cannot always get instantaneous locks. We
will call a method to find out what kind of
locking to do until the implementation changes.
Parameters: conglomNumber - the particular conglomerate we are interested in Parameters: searchRow - the row to match exception: StandardException - on error |
isAnyFieldNull | boolean isAnyFieldNull(ExecRow baseRow)(Code) | | Are any of the fields null in the row passed
in. The only fields that are checked are those
corresponding to the colArray in fkInfo.
|
|
|