Greg Stark <gsstark@mit.edu> writes:
> PFC <lists@peufeu.com> writes:
>> MySQL already does this for INSERT :
>> INSERT INTO x (a,b) VALUES (1,2), (3,4), (5,6)...;
> Does MySQL really let you stream that? Trying to do syntax like that in
> Postgres wouldn't work because the parser would try to build up a parse tree
> for the whole statement before running the command.
A quick look at MySQL's grammar doesn't show any indication that they
don't build a full parse tree too.
The above syntax is SQL-standard, so we ought to support it sometime,
performance benefits or no. I agree it might be tricky to avoid eating
an unreasonable amount of memory for a very long list in Postgres :-(
Supporting VALUES only in INSERT would be relatively trivial BTW,
but the spec actually thinks it should be allowed as a <table spec>
in FROM ...
regards, tom lane