On 26.02.2013 18:23, Tom Lane wrote:
Heikki Linnakangas<hlinnakan...@vmware.com> writes:
While looking at Fujita Etsuro's patch to allow copy to/from a shell
command, I noticed that the grammar currently allows these:
COPY foo FROM STDOUT
COPY foo TO STDIN
In other words, STDIN and STDOUT can be used completely interchangeably.
However, the ecpg grammar is more strict about that:
ERROR: COPY TO STDIN is not possible
Any particular reason for ecpg to check that, while the backend doesn't
care? I think we should just remove those checks from the ecpg grammar.
Agreed, but your draft patch doesn't do that completely. It should only
make tests that correspond to what the error message says.
Sorry, I don't understand what you're saying. Can you elaborate?
(I assume
the backend will bounce the other cases at some post-grammar stage.)
No. All four combinations of FROM/TO and STDIN/STDOUT are accepted:
postgres=# copy foo from stdin;
Enter data to be copied followed by a newline.
End with a backslash and a period on a line by itself.
>> foo
>> \.
postgres=# copy foo from stdout;
Enter data to be copied followed by a newline.
End with a backslash and a period on a line by itself.
>> bar
>> \.
postgres=# copy foo to stdin;
foo
bar
postgres=# copy foo to stdout;
foo
bar
- Heikki
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers