Re: [INTERFACES] Foreign Keys

From: "Thomas G(dot) Lockhart" <lockhart(at)alumni(dot)caltech(dot)edu>
To: "Gene Selkov Jr(dot)" <selkovjr(at)xnet(dot)com>
Cc: Postgres Hackers List <hackers(at)postgresql(dot)org>
Subject: Re: [INTERFACES] Foreign Keys
Date: 1999-03-05 06:57:24
Message-ID: 36DF8053.A3A15E08@alumni.caltech.edu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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

Browse pgsql-hackers by date

  From Date Subject
Next Message Zeugswetter Andreas IZ5 1999-03-05 08:26:34 Re: [HACKERS] PostgreSQL 6.4.2 on AIX 4.3.2: regression test comp ile error
Previous Message Tatsuo Ishii 1999-03-05 05:37:38 Re: [HACKERS] Why is that so slow?