It appears that DBD::Oracle restricts the RowCacheSize to 128, why? I know how much memory I can afford to use for retrieving rows better than DBD::Oracle and as far as I can see this could be set a lot higher.
The code in question seems to be:
void rs_array_init(imp_sth_t *imp_sth)
{
dTHX;
if (imp_sth->rs_array_on!=1 ||
imp_sth->rs_array_size<1 ||
imp_sth->rs_array_size>128){
imp_sth->rs_array_on=0;
imp_sth->rs_array_size=1;
and in sth_set_row_cache
if (imp_sth->rs_array_on && cache_rows>0)
imp_sth->rs_array_size=cache_rows>128?128:cache_rows; /* restrict to 128 for now */
I've reported this at Why is RowCacheSize limited to 128.
Trackback URL for this post:
http://www.martin-evans.me.uk/trackback/29
Comments
DBD::Oracle is working towards fixing this now
Changes make it to DBD::Oracle 1.24 RC4
Change made it to 1.24a