]> granicus.if.org Git - postgresql/commit
Widen COPY FROM's current-line-number counter from 32 to 64 bits.
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 22 May 2018 17:32:52 +0000 (13:32 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 22 May 2018 17:32:52 +0000 (13:32 -0400)
commitd25714d0a344544b4f9d5cee9b83e197e9210cb0
tree894b3a4aee56414512c67b1720794f7f291629e3
parent769e6fcd1a350ad3720030bcfa00d8c7ec9cf970
Widen COPY FROM's current-line-number counter from 32 to 64 bits.

Because the code for the HEADER option skips a line when this counter
is zero, a very long COPY FROM WITH HEADER operation would drop a line
every 2^32 lines.  A lesser but still unfortunate problem is that errors
would show a wrong input line number for errors occurring beyond the
2^31'st input line.  While such large input streams seemed impractical
when this code was first written, they're not any more.  Widening the
counter (and some associated variables) to uint64 should be enough to
prevent problems for the foreseeable future.

David Rowley

Discussion: https://postgr.es/m/CAKJS1f88yh-6wwEfO6QLEEvH3BEugOq2QX1TOja0vCauoynmOQ@mail.gmail.com
src/backend/commands/copy.c