This statement influences the processing strategy of the DBH.
Definition
A lower-level DBH option of SYSTEM-STRATEGIES
Function
The DBH option RETRIEVAL-CONTROL allows you to influence the processing strategy of the DBH.
In a sequential search, the RETRIEVAL-CONTROL option causes the DBH under certain conditions to divide the processing of retrieval statements into sections, and interrupt or even completely abort them. Interrupted retrieval statements are placed in a queue until processing continues. The tasks that are released during the interrupts or after being aborted become available for other requests.
If the search involves secondary indexes, RETRIEVAL-CONTROL causes the DBH to continue the search sequentially when it is appropriate in view of the set of records expected to be found. The DBH can then interrupt or abort the sequential processing, as described above.
RETRIEVAL-CONTROL | |||||||||||||||||||||||||||||||||||||||||||||||||
|
Operands
RETRIEVAL-CONTROL = *STD
The search strategy of the DBH changes in the case of retrieval statements that take a long time to process. Under what conditions and how the search strategy is influenced is defined by default values. These are described under *PARAMETERS.
RETRIEVAL-CONTROL = *PARAMETERS(...)
INTERRUPT-EXECUTION = *PARAMETERS(...)
Under certain conditions, the DBH interrupts the processing of retrieval statements that take a long time to process.
USER-DATA-ACCESS = 1000 / <integer 1..2147483647>
Sequential processing is divided into sections if the number of logical accesses of blocks of user data exceeds a defined limit value. Processing is interrupted on completion of each section. The default for this limit value is 1000.
If necessary, you can change the value specified here during the DBH session by means of the MODIFY-RETRIEVAL-CONTROL administration statement.
INDEX-EVALUATION = 99999999 / <integer 16..2147483647>
Processing with secondary indexes is continued sequentially if the set of records expected to be found exceeds a defined limit value. The default limit value is 99,999,999.
Based on the statistical data kept for each column or attribute, the DBH determines the set of records expected to be found for the subquestion processed first. If the set of records found exceeds the limit value, the DBH continues sequential processing. As of this point, the processing strategy of the DBH follows the rules for sequential processing.
If the set of records found does not exceed the limit value, the DBH processes further subquestions using secondary indexes.
If necessary, you can change the value specified here during the DBH session by means of the MODIFY-RETRIEVAL-CONTROL administration statement (see "MODIFY-RETRIEVAL-CONTROL").
ABORT-EXECUTION = 2000 / <integer 1.. 2147483647>
Sequential processing is aborted completely when the number of failed logical accesses of user data exceeds a defined limit value. The default limit value is 2000.
If necessary, you can change the value specified here during the DBH session by means of the MODIFY-RETRIEVAL-CONTROL administration statement. Using the pragma LIMIT ABORT_EXECUTION <integer 1.. 2147483647> it can also be changed in relation to a request, see the “ SQL Reference Manual Part 1: SQL Statements”, section “Pragmas”.