Record Blocking This program attempts to show the advantages of Record Blocking when a large amount of data has to be moved from the server to the requester. Record blocking is an RDS feature that is invoked transparently to the user depending upon the precompile options /K= (ALL, NO UNAMBIG-default), which can be specified at PRECOMPILE and/or BIND time. This program consists of two modules - blocking() and blocking_no() which represent exactly the same source code precompiled and bound differently, i.e.: 1. The source module rblcok.sqc containing blocking() is precompiled with the blocking option /K=ALL to invoke blocking: (see make file - DBTEAM. ) SQLPREP rblock.qsc BANK /b /K=ALL SQLBIND rblock.bnd BANK /K =ALL 2. The source module rblockno.sqc containing blocking_no is precompiled with the blocking option /K=NO to prohibit blocking: SQLPREP rblockno.sqc BANK /b /K=NO SQLBIND rblockno.bnd BANK /K=NO Optimal blocking occurs when the blocksize is a multiple of the rows being FETCHed. Blocksize is controlled by two DATABASE CONFIGURATION parameters - SRV_IOBLOCK and RQR_IOBLOCK. To invoke blocking, the FETCH cursor should be declared unambiguosly. Blocking WOULD NOT occur if the same cursor is being used for updates. CONCEPTS: Ambiguous and unambiguous cursors, precompile and bind options.