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
<listitem>
<para>
- Returns the number of rows (tuples) in the query result. Because
- it returns an integer result, large result sets might overflow the
- return value on 32-bit operating systems.
+ Returns the number of rows (tuples) in the query result.
+ (Note that <structname>PGresult</> objects are limited to no more
+ than <literal>INT_MAX</> rows, so an <type>int</> result is
+ sufficient.)
<synopsis>
int PQntuples(const PGresult *res);