From: Tom Lane Date: Tue, 29 Aug 2017 19:38:05 +0000 (-0400) Subject: Doc: document libpq's restriction to INT_MAX rows in a PGresult. X-Git-Tag: REL9_2_24~31 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2a82170a56cb5b7c8e8444d2089b15ba6492b102;p=thirdparty%2Fpostgresql.git 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 --- diff --git a/doc/src/sgml/libpq.sgml b/doc/src/sgml/libpq.sgml index 2412d3abd5f..13fdbaf2e20 100644 --- a/doc/src/sgml/libpq.sgml +++ b/doc/src/sgml/libpq.sgml @@ -2763,9 +2763,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);