Re: Undocumented feature costs a lot of performance in COPY - Mailing list pgsql-patches

On Fri, 28 Dec 2001, Bruce Momjian wrote:

> > Bruce Momjian <pgman@candle.pha.pa.us> writes:
> > > We could support keywords DELIMITER and DELIMITERS and only document
> > > the first one.
> >
> > One could also argue that it should be WITH DELIMITER for more
> > consistency with the other optional clauses.
> >
> > But let's put that in the TODO list, not try to get it done now...
>
> Updated TODO:
>
> COPY
>     ...
>         o Change syntax to WITH DELIMITER, (keep old syntax around?)
>

An attached patch implements this. The problem with implementing this is
that the new syntax is:

    .... WITH DELIMITERS '<delim>' WITH NULL AS '<char>'

Naturally, this leads to a shift/reduce conflict. Solution is more or less
that used with CREATE DATABASE WITH ... WITH ... etc. The only ugly bit
was mixing this with the old USING DELIMITERS ... syntax. I don't like the
solution -- I get the feeling there's a better way to do it.

The other option of course is to update yylex() to create a new token
in the same way that the UNIONJOIN terminal is created. But I think this
is a bit messy.

Ideas or is this okay?

Gavin

Attachment

pgsql-patches by date:

Previous
From: Jason Tishler
Date:
Subject: Re: pg_regress.sh startup failure patch
Next
From: Gavin Sherry
Date:
Subject: Re: [HACKERS] Updated TODO item