Обсуждение: scanner/parser for FOREIGN KEY

Поиск
Список
Период
Сортировка

scanner/parser for FOREIGN KEY

От
wieck@debis.com (Jan Wieck)
Дата:
Hi,

    we  still need the enhancement of the scanner/parser combo to
    enable FOREIGN KEY specification as  column  constraint  (the
    due to shift/reduce disabled NOT DEFERRABLE part).

    IMHO this must be done before going into BETA.  As discussed,
    a little token lookup/queueing between lex and  yacc  can  do
    the  trick. I'd like to add a slightly generic method for it,
    so the lookahead function can be reused if we  sometimes  get
    trapped again with a similar problem.

    Do we have a consensus to implement it that way now?


Jan

--

#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#========================================= wieck@debis.com (Jan Wieck) #

Re: [HACKERS] scanner/parser for FOREIGN KEY

От
Tom Lane
Дата:
wieck@debis.com (Jan Wieck) writes:
>     we  still need the enhancement of the scanner/parser combo to
>     enable FOREIGN KEY specification as  column  constraint  (the
>     due to shift/reduce disabled NOT DEFERRABLE part).
>     IMHO this must be done before going into BETA.  As discussed,
>     a little token lookup/queueing between lex and  yacc  can  do
>     the  trick. I'd like to add a slightly generic method for it,
>     so the lookahead function can be reused if we  sometimes  get
>     trapped again with a similar problem.
>     Do we have a consensus to implement it that way now?

AFAIR that was the only concrete solution offered.  I think Thomas
wanted to look into whether he could tweak the grammar to avoid the
problem without lookahead, but he hasn't produced any results ---
and I misdoubt that a fix done that way will be any cleaner than
inserting a lexer lookahead interface.

In short, it's fine by me but I dunno if Thomas has signed on yet.
        regards, tom lane


Re: [HACKERS] scanner/parser for FOREIGN KEY

От
wieck@debis.com (Jan Wieck)
Дата:
Tom Lane wrote:

> wieck@debis.com (Jan Wieck) writes:
> >     we  still need the enhancement of the scanner/parser combo to
> >     enable FOREIGN KEY specification as  column  constraint  (the
> >     due to shift/reduce disabled NOT DEFERRABLE part).
> >     IMHO this must be done before going into BETA.  As discussed,
> >     a little token lookup/queueing between lex and  yacc  can  do
> >     the  trick. I'd like to add a slightly generic method for it,
> >     so the lookahead function can be reused if we  sometimes  get
> >     trapped again with a similar problem.
> >     Do we have a consensus to implement it that way now?
>
> AFAIR that was the only concrete solution offered.  I think Thomas
> wanted to look into whether he could tweak the grammar to avoid the
> problem without lookahead, but he hasn't produced any results ---
> and I misdoubt that a fix done that way will be any cleaner than
> inserting a lexer lookahead interface.

    The solution, Thomas suggested, would work too. It will avoid
    any  portability  issues   by   making   analyze.c   slightly
    complexer,  but  that's  already  complex  enough by juggling
    around with multiple lists, so one more  hack  there  doesn't
    count.

> In short, it's fine by me but I dunno if Thomas has signed on yet.

    I'm fine with either solution. IMHO it's just a MUST BE THERE
    before going BETA, since it affects the syntax of  the  query
    language.


Jan

--

#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#========================================= wieck@debis.com (Jan Wieck) #

Re: [HACKERS] scanner/parser for FOREIGN KEY

От
Thomas Lockhart
Дата:
> AFAIR that was the only concrete solution offered.  I think Thomas
> wanted to look into whether he could tweak the grammar to avoid the
> problem without lookahead, but he hasn't produced any results ---
> and I misdoubt that a fix done that way will be any cleaner than
> inserting a lexer lookahead interface.
> In short, it's fine by me but I dunno if Thomas has signed on yet.

I glanced at it, but have not had a chance to dive in. There had been
so many changes to the parser code while I was off playing with outer
join syntax that I decided to start over (lots of what I had done
needed to be cleaned up anyway).

I hope to get back to development within a few days, but in the
meantime my parser is re-broken and I haven't yet fixed Jan's parts. I
hate to be holding up Jan, but otoh I hate to see us having to use a
new techique for parsing if the usual ones can be made to work...
                   - Thomas

-- 
Thomas Lockhart                lockhart@alumni.caltech.edu
South Pasadena, California


Re: [HACKERS] scanner/parser for FOREIGN KEY

От
Bruce Momjian
Дата:
> > AFAIR that was the only concrete solution offered.  I think Thomas
> > wanted to look into whether he could tweak the grammar to avoid the
> > problem without lookahead, but he hasn't produced any results ---
> > and I misdoubt that a fix done that way will be any cleaner than
> > inserting a lexer lookahead interface.
> > In short, it's fine by me but I dunno if Thomas has signed on yet.
> 
> I glanced at it, but have not had a chance to dive in. There had been
> so many changes to the parser code while I was off playing with outer
> join syntax that I decided to start over (lots of what I had done
> needed to be cleaned up anyway).
> 
> I hope to get back to development within a few days, but in the
> meantime my parser is re-broken and I haven't yet fixed Jan's parts. I
> hate to be holding up Jan, but otoh I hate to see us having to use a
> new techique for parsing if the usual ones can be made to work...

Agreed.  Maybe Thomas and I can get on the phone and hammer out a fix.

--  Bruce Momjian                        |  http://www.op.net/~candle maillist@candle.pha.pa.us            |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026