]> granicus.if.org Git - postgresql/commitdiff
Doc: document libpq's restriction to INT_MAX rows in a PGresult.
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 29 Aug 2017 19:38:05 +0000 (15:38 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 29 Aug 2017 19:38:15 +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 8e0b0b8586e85ef89cf3c47c8469428df2b1a6f6..f154b6b5fafe6b2078f520d2fd2fe437ebf3719c 100644 (file)
@@ -3199,9 +3199,10 @@ void PQclear(PGresult *res);
 
      <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);