Tom Lane wrote:
> Andrew Dunstan <andrew@dunslane.net> writes:
>
>> I wrote:
>>
>>> I'd love to be able to do something like
>>>
>>> INSERT into foo (x,y,z) select t[3],[t2],[t57] from (COPY RETURNING
>>> t FROM stdin CSV);
>>>
>
>
>> Some IRC discussion suggested ways we could do better than that syntax.
>> I think my current preferred candidate is something like
>>
>
>
>> COPY foo (a,b,c)
>> FROM stdin
>> CSV
>> AS t USING (t[3],t[2],[t57]);
>>
>
> [ scratches head... ] What happened to seeing COPY as a data source in
> a larger command? If that syntax has anything at all to recommend it,
> I'm not seeing what. It's not extensible and it would require lots of
> code duplication to implement the impoverished feature set it does have.
>
>
>
Well, I think the objection was that it would slow COPY down to have to
go though the executor in the copy-as-source scenario. But maybe that
would happen anyway, and maybe we don't care, we'd just accept that it
wouldn't be nearly as fast as a raw copy.
cheers
andrew