It is possible to improve batch performance for BAT_PKEY and BAT_RET_REC when not using BAT_VERIFY. Only the records which fit in the first batch buffer are read on the first DoBatch() call.
Note: BAT_VERIFY ensures the index entry and data record are in agreement. It is possible for an update operation to cause the index and data to be temporarily out of sync. Without BAT_VERIFY and record locks, one cannot be certain all records returned will actually satisfy the batch request.
In very early releases, a BAT_PKEY (partial key search) and BAT_RET_REC (return data record) that did NOT require verification (no BAT_VERIFY), still read all data records satisfying partial key criteria on the first DoBatch() call even though the records not fitting in the buffer must be reread on subsequent DoBatch() calls. In currently supported releases, to return to the pre-modification state, add the following code to the top of the c-tree Option Header, ctoptn.h:
#define ctPREV_66B_BATCH
Recall that ctoptn.h is dynamically created during execution of the make file created by m-tree, ctree.mak. If changes are to be made to ctoptn.h, be sure the changes are made to the ctoptn.h creation logic at the end of the make file ctree.mak.