Re: Ragged CSV import

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

In response to

Responses

Browse pgsql-hackers by date

  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