Re: [INTERFACES] Foreign Keys - Mailing list pgsql-hackers

From Thomas G. Lockhart
Subject Re: [INTERFACES] Foreign Keys
Date
Msg-id 36DF8053.A3A15E08@alumni.caltech.edu
Whole thread Raw
List pgsql-hackers
> > >  | NULL_P '=' a_expr
> > >     { $$ = makeA_Expr(ISNULL, NULL, $3, NULL); }
> > This leads to a shift/reduce conflict in yacc.
> What's wrong with shift/reduce conflicts?

yacc looks ahead only one token to determine the parsing possibilities,
and will maintain multiple, parallel possibilities until it is able to
resolve them (keeping in mind this one-token constraint). With a
"shift/reduce" conflict, at least one path will *never* be possible,
even though you thought it should be from the grammar. So you will end
up with some language feature permanently unavailable. And worse, when a
new conflict is introduced it might be the older feature which is
trashed :(
                        - Tom


pgsql-hackers by date:

Previous
From: Tatsuo Ishii
Date:
Subject: Re: [HACKERS] Why is that so slow?
Next
From: Zeugswetter Andreas IZ5
Date:
Subject: Re: [HACKERS] PostgreSQL 6.4.2 on AIX 4.3.2: regression test comp ile error