Old format RECID Buffer size: the ZPRGRS_RECID_BUF_SIZE,nnn Option
- Last Updated: March 30, 2020
- 2 minute read
- OpenEdge
- Version 12.2
- Documentation
The DataServer for MS SQL Server tries to select a unique
index over each table defined in your schema holder to support the Progress RECID/ROWID functions. RECID functionality
enables backward and forward scrolling in the DataServer product.
The RECID buffer is used to sort key information
about the unique index selected to support RECID.
The default RECID buffer size is 245 bytes. The
space is used dynamically to allocate the RECID buffer
for a given record. The RECID buffer size needs
to be large enough to contain all the key information regarding
the unique index. If the unique index selected is a composite of
many columns or contains large column names, the RECID key information
might exceed the RECID buffer size and issue error
message 2090. If you exceed the RECID buffer limit, Progress Software Corporation first recommends
that you try to find an alternative unique index with a smaller number
of key fields. This should help to improve performance during record access
as well. You can change the RECID index in the
Data Dictionary by selecting the DataServer button
from the Table Properties of the table in
your schema holder.
If it is not possible to change the selected RECID unique
index for the table that is causing the buffer overflow, you can
expand the area by setting the startup option as follows:
|
Where nnn is the new size of the area in bytes. The range limits for nnn are inclusive of values between 44 to 1024.
You can expand the RECID buffer size to a maximum
of 1000 bytes. The minimum size is 44 bytes. The algorithm to determine
minimum adjusted size is as follows:
- 9 + Length of first Index column name + Length of first column data + 17
- + Length of second Index column name + Length of second column data + 22
- + Length of third Index column name + Length of third column data + 22
- + ...