Commit 6cbee65e authored by Tom Lane's avatar Tom Lane

Doc: document libpq's restriction to INT_MAX rows in a PGresult.

As long as PQntuples, PQgetvalue, etc, use "int" for row numbers, we're
pretty much stuck with this limitation.  The documentation formerly stated
that the result of PQntuples "might overflow on 32-bit operating systems",
which is just nonsense: that's not where the overflow would happen, and
if you did reach an overflow it would not be on a 32-bit machine, because
you'd have OOM'd long since.

Discussion: https://postgr.es/m/CA+FnnTxyLWyjY1goewmJNxC==HQCCF4fKkoCTa9qR36oRAHDPw@mail.gmail.com
parent 2e70d6b5
...@@ -3199,9 +3199,10 @@ void PQclear(PGresult *res); ...@@ -3199,9 +3199,10 @@ void PQclear(PGresult *res);
<listitem> <listitem>
<para> <para>
Returns the number of rows (tuples) in the query result. Because Returns the number of rows (tuples) in the query result.
it returns an integer result, large result sets might overflow the (Note that <structname>PGresult</> objects are limited to no more
return value on 32-bit operating systems. than <literal>INT_MAX</> rows, so an <type>int</> result is
sufficient.)
<synopsis> <synopsis>
int PQntuples(const PGresult *res); int PQntuples(const PGresult *res);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment