Blocking will not occur if:
- The cursor is updatable (see note
1).
- The cursor is potentially updatable (see note
2).
- The ALWBLK(*NONE) precompile option was used.
- The commitment control level is *CS and the level of OS/400® is earlier
than V3R1.
- The commitment control level is *ALL and the outer subselect does not
contain one of the following items:
- The DISTINCT keyword
- The UNION operator
- An ORDER BY clause and the sum of the lengths of the fields in the clause
requires a sort
- A reference to a server database file (server database files are those
in library QSYS named QADBxxxx, and any views built over
those files)
- The row size is greater than approximately 2 KB or, if the Submit
Remote Command (SBMRMTCMD) command or a stored procedure was used
to extend the size of the default AS database buffer, the row size is greater
than approximately half of the size of the database buffer resulting from
specification of the Override with Database File (OVRDBF) command
SEQONLY number-of-records parameter. (Note that for the (OVRDBF)
command to work remotely, OVRSCOPE(*JOB) must be specified.)
- The cursor is declared to be scrollable (DECLARE...SCROLL CURSOR...) and
a scroll option specified in a FETCH statement is one of the following: RELATIVE,
PRIOR, or CURRENT (unless a multiple-row FETCH was done, as mentioned previously.)