--- plperl.c~ 2004-10-02 04:16:58.886277828 +0530 +++ plperl.c 2004-10-02 04:17:05.604929308 +0530 @@ -440,21 +440,17 @@ static AV * plperl_get_keys(HV *hv) { AV *ret; - int key_count; SV *val; char *key; I32 klen; - key_count = 0; ret = newAV(); hv_iterinit(hv); while ((val = hv_iternextsv(hv, (char **) &key, &klen))) - { - av_store(ret, key_count, newSVpv(key, 0)); - key_count++; - } + av_push(ret, newSVpv(key, 0)); hv_iterinit(hv); + return ret; } @@ -1642,7 +1638,7 @@ plperl_spi_execute_fetch_result(SPITuple for (i = 0; i < processed; i++) { row = plperl_hash_from_tuple(tuptable->vals[i], tuptable->tupdesc); - av_store(rows, i, newRV_noinc((SV *) row)); + av_push(rows, newRV_noinc((SV *)row)); } hv_store(result, "rows", strlen("rows"), newRV_noinc((SV *) rows), 0);