diff --git a/lib/modules/Sql.pmod/pgsql_util.pmod b/lib/modules/Sql.pmod/pgsql_util.pmod index e2bc80339b0f12c7caa0633285da03774a43b0ab..53db2b201abf3cd2019bc322cd316931ad421424 100644 --- a/lib/modules/Sql.pmod/pgsql_util.pmod +++ b/lib/modules/Sql.pmod/pgsql_util.pmod @@ -1348,9 +1348,10 @@ class sql_result { private void replenishrows() { if (_fetchlimit && sizeof(datarows) <= _fetchlimit >> 1) { - _fetchlimit = - min((portalbuffersize >> 1) * index / bytesreceived || 1, - pgsqlsess._fetchlimit); + _fetchlimit = pgsqlsess._fetchlimit; + if (bytesreceived) + _fetchlimit = + min((portalbuffersize >> 1) * index / bytesreceived || 1, _fetchlimit); Thread.MutexKey lock = closemux->lock(); if (_fetchlimit && inflight <= (_fetchlimit - 1) >> 1) _sendexecute(_fetchlimit);