]> 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)
commitecac23511e04d96b94705731873fa3d238c41f8d
tree1d9e73db6a85a64e53423932834ae9f29a8b118e
parent17f188cf000787236b4099242300cda4df0af6c0
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