|
The PLE is located at:
(You will need a
userid and password to access this site.)
The following is from PLE
18287099, as of 4/4/2006:
Symptoms:
After moving UniAccess up to level 9R1,
retrievals begin to take more time to execute.
Technical Explanation:
For ODBC, RSA does not
convert data retrieved by RDMS: it is simply block-transfered
from the RDMS data packet into the buffer passed from the
ODBC program. To calculate the amount of data to transfer, RSA used the size of the caller-supplied buffer. UniAccess
9R1 has a 28000 word buffer; it was 9000 in earlier levels.
So, even if only a few words of data were actually
retrieved, RSA copied thousands of words. This situation did
not become noticeable until the amount of data transferred
was increased three-fold.
Workaround Description:
The following code corrects the problem described in this
PLE. Note that although it has passed the unit tests for this problem,
it has not yet been subjected to our more rigorous regression tests.
Nevertheless, we are confident that in addition to solving (or, at
least, alleviating) the problem, it will not cause any additional
problems.
For level 13R1A the workaround is:
*AIS$CLIB
-16,16
Since size information is required on the RSA call, an array
-20
FYI: JDBC passes the value true for the fourth parameter
(data_conversion).
ODBC passes false.
*RDMS-CHGDATA
-2250,2250
1,; . 10019
*RSAS-PERFORM
-1756,1756
copyblock(data_bfr_ptr, ucs_plist.item_ptr(4),
((record_desc_area.record_lgth+3)//4) * rdmca.no_records) ;
For level 14R2, the workaround is:
*AIS$CLIB
-16,16
Since size information is required on the RSA call, an array
-20
FYI: JDBC passes the value true for the fourth parameter
(data_conversion).
ODBC passes false.
*RDMS-CHGDATA
-2252,2252
1,; . 10021
*RSAS-PERFORM
-1760,1760
copyblock(data_bfr_ptr, ucs_plist.item_ptr(4),
((record_desc_area.record_lgth+3)//4) * rdmca.no_records) ;
Resolution Details: RSA will use the number of rows actually retrieved to calculate the amount of data to transfer.
RDMS 13R1: FIX IN TESTING
RDMS 13R1A: FIX IN TESTING RDMS 14R1: FIX IN TESTING
RDMS 14R2: FIX IN TESTING |