Enhanced MI Support to Materialize Locks

MI instructions that materialize locks on IBM® i 7.5 set bytes available to the storage required for all available locks that match materialization criteria, limited to 2,147,483,647 (if more locks are available than could fit in the template). In prior releases, many instructions limited bytes available to the storage required for 32,767 locks, even when more locks were available.

Instructions that materialize object and space location locks (MATAOL, MATOBJLK, MATPRLK, and MATSELLK) on IBM i 7.5, may return as many lock description entries as fit in the input value of bytes provided. Most of these instructions previously limited results to only the first 32,767 lock description entries even when the template had space for more entries. The actual number of entries returned on IBM i 7.5 is now as many as will fit in the smaller of bytes provided and bytes available.

Instructions that materialize record locks (MATDRECL and MATPRECL) on IBM i 7.5, may return as many lock description entries as fit in the input value of bytes provided. These templates contain separate arrays for locks held versus lock waits. Results that use 16-bit fields for lock counts will only reliably return lock description entries beyond 32,767 if the result contains entries for either locks held or lock waits (not both). In those cases, the actual number of entries returned is now as many as will fit in the smaller of bytes provided and bytes available.