| java.lang.Object org.apache.derby.impl.sql.execute.RIBulkChecker
RIBulkChecker | public class RIBulkChecker (Code) | | Do a merge run comparing all the foreign keys from the
foreign key conglomerate against the referenced keys
from the primary key conglomerate. The scanControllers
are passed in by the caller (caller controls locking on
said conglomerates).
The comparision is done via a merge. Consequently,
it is imperative that the scans are on keyed conglomerates
(indexes) and that the referencedKeyScan is a unique scan.
Performance is no worse than N + M where N is foreign key
rows and M is primary key rows.
Bulk fetch is used to further speed performance. The
fetch size is LanguageProperties.BULK_FETCH_DEFAULT
See Also: LanguageProperties |
Method Summary | |
public int | doCheck() Perform the check. |
RIBulkChecker | public RIBulkChecker(GroupFetchScanController referencedKeyScan, GroupFetchScanController foreignKeyScan, ExecRow templateRow, boolean quitOnFirstFailure, ConglomerateController unreferencedCC, ExecRow firstRowToFail)(Code) | | Create a RIBulkChecker
Parameters: referencedKeyScan - scan of the referenced key'sbacking index. must be unique Parameters: foreignKeyScan - scan of the foreign key'sbacking index Parameters: templateRow - a template row for the indexes.Will be cloned when it is used.Must be a full index row. Parameters: quitOnFirstFailure - quit on first unreferenced key Parameters: unreferencedCC - put unreferenced keys here Parameters: firstRowToFail - the first row that fails the constraintis copied to this, if non-null |
|
|