BUG #6083: psql script line numbers incorrectly count \copy data
The following bug has been logged online:
Bug reference: 6083
Logged by: Steve Haslam
Email address: araqnid@googlemail.com
PostgreSQL version: 9.0.4
Operating system: Debian GNU/Linux (amd64)
Description: psql script line numbers incorrectly count \copy data
Details:
test_linenumbers.dat:
1
1
2
3
5
8
test_linenumbers.sql:
DO $$ BEGIN RAISE INFO 'Before copy'; END; $$; -- line 1
CREATE TEMP TABLE test_linenumbers_data(value int);
\copy test_linenumbers_data from test_linenumbers.dat
DO $$ BEGIN RAISE INFO 'After copy'; END; $$; -- line 4
Performing "psql -f test_linenumbers.sql" produces:
psql:test_linenumbers.sql:1: INFO: Before copy
DO
CREATE TABLE
psql:test_linenumbers.sql:11: INFO: After copy
DO
However, it seems to me that the second INFO should be reported against
test_linenumbers.sql:4 rather than :11. Apparently, the data read from \copy
is incrementing the script line number counter?
Also occurs with 9.1b2 and a recent 9.2devel.
"Steve Haslam" <araqnid@googlemail.com> writes:
... Apparently, the data read from \copy
is incrementing the script line number counter?
Yeah, so it is. That is correct behavior for COPY FROM STDIN,
but not so much for copying from a separate file.
The attached patch seems like an appropriate fix. However, I'm unsure
whether to apply it to released branches ... does anyone think this
might break somebody's application?
regards, tom lane
On Mon, Jul 04, 2011 at 12:02:12PM -0400, Tom Lane wrote:
"Steve Haslam" <araqnid@googlemail.com> writes:
... Apparently, the data read from \copy is incrementing the
script line number counter?Yeah, so it is. That is correct behavior for COPY FROM STDIN, but
not so much for copying from a separate file.The attached patch seems like an appropriate fix. However, I'm
unsure whether to apply it to released branches ... does anyone
think this might break somebody's application?
No.
Cheers,
David.
--
David Fetter <david@fetter.org> http://fetter.org/
Phone: +1 415 235 3778 AIM: dfetter666 Yahoo!: dfetter
Skype: davidfetter XMPP: david.fetter@gmail.com
iCal: webcal://www.tripit.com/feed/ical/people/david74/tripit.ics
Remember to vote!
Consider donating to Postgres: http://www.postgresql.org/about/donate
On Mon, Jul 4, 2011 at 12:02 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
"Steve Haslam" <araqnid@googlemail.com> writes:
... Apparently, the data read from \copy
is incrementing the script line number counter?Yeah, so it is. That is correct behavior for COPY FROM STDIN,
but not so much for copying from a separate file.The attached patch seems like an appropriate fix. However, I'm unsure
whether to apply it to released branches ... does anyone think this
might break somebody's application?
I think this is pretty safe.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company