Doc: document libpq's restriction to INT_MAX rows in a PGresult.
authorTom Lane
Tue, 29 Aug 2017 19:38:05 +0000 (15:38 -0400)
committerTom Lane
Tue, 29 Aug 2017 19:38:40 +0000 (15:38 -0400)
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

doc/src/sgml/libpq.sgml

index bc54c057c7c795e51c740143817df446ac458f1f..2198ea7dd33465d5a05b624e7755ace5ce407016 100644 (file)
@@ -2878,9 +2878,10 @@ void PQclear(PGresult *res);
 
      
       
-       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 PGresult objects are limited to no more
+       than INT_MAX rows, so an int result is
+       sufficient.)
 
 
 int PQntuples(const PGresult *res);