Actually, I was not filling all of the arrays in sequential order. I added code to initialize them in order and the function seems to be working now. Is that a known problem?
Paul
Paul B. Anderson wrote:
I've checked my code and it does not seem to run past any limits. I am filling the arrays in sequential order, extending each one in parallel with the others.
The null problem fixed the code for some cases but I'm still having problems in general and with the same error message but reported in another place.
I have a large stored procedure with 16 arrays, mostly varchar, each
with dimension 3000. The procedure works fine on a small number of rows
used from these arrays but gets the following error for large rowsets:
ERROR: invalid array subscripts
Right offhand I only see that error being thrown for out-of-range array
subscripts. Are you maybe trying to fill the arrays in nonsequential
order?
If I comment out two particular arrays (that can have null values), it
also runs OK.
As already noted, we don't support nulls in arrays before 8.2, but
I'm not exactly sure how that omission leads to this error message.
regards, tom lane
.