From: | Andrew Dunstan <andrew(at)dunslane(dot)net> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Stephen Frost <sfrost(at)snowman(dot)net>, Robert Haas <robertmhaas(at)gmail(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Ragged CSV import |
Date: | 2009-09-11 15:29:17 |
Message-ID: | 4AAA6CCD.10502@dunslane.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Tom Lane wrote:
> Andrew Dunstan <andrew(at)dunslane(dot)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
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2009-09-11 15:29:22 | Re: RfD: more powerful "any" types |
Previous Message | Tom Lane | 2009-09-11 15:26:16 | Re: COPY enhancements |