I found that while loading a variable length array with SQL you may not
load all the rows you expect...
I wanted to load 42,000+ rows using a technique like this:
dcl-ds csz_a dim(*auto : 50000) qualified;
exec sql fetch from csz_cur for 42735 rows into :csz_a;
But I got only 32767 rows loaded.
And I couldn't find a way to do a loop with a fetch like this:
exec sql fetch from csz_cur for 42735 rows into :csz_a(inx);
because SQL won't accept it.
I ended up fetching one record at a time into a single element array and
adding that to the full array. It was still blazing fast and the program
is rarely executed anyway.
Maximum rows that can be fetched is probably documented somewhere in the
SQL manual though I didn't think to look. And probably most people won't
want to load this many rows--mine is maybe a unique use case and I
wanted to experiment.
This is the RPG programming on IBM i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related
As an Amazon Associate we earn from qualifying purchases.
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.