gram.y foreign keys - Mailing list pgsql-hackers

From Thomas Lockhart
Subject gram.y foreign keys
Date
Msg-id 38AE5583.37C39D3C@alumni.caltech.edu
Whole thread Raw
Responses Re: [HACKERS] gram.y foreign keys  (Bruce Momjian <pgman@candle.pha.pa.us>)
Re: [HACKERS] gram.y foreign keys  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
OK, I've put in fixes to get Jan up and running on column foreign
keys. The current fix forces NOT NULL arguments to be near the
beginning of a column constraint list, and enforces the SQL92
requirement that the DEFAULT clause occur nearly first in a column
constraint.

As Jan probably already knows, the shift/reduce conflicts all happened
as a result of NOT NULL and NOT DEFERRABLE clauses; removing either
eliminated the conflicts.

I poked at it for *hours*, and have not yet stumbled on the correct
layout to give full flexibility while allowing the new constraint
attributes. Jan was thinking that he needed some token lookahead to do
this, but I'll be suprised if that is required to solve this for the
SQL92 case: it would be the first and only instance of syntax which
can not be solved by our yacc parser and istm that the spec would try
to stay away from that. The successful technique for fixing this will
likely involve unrolling more clauses to allow yacc to juggle more
clauses simultaneously before forcing a shift/reduce operation.

I'm leaving town through next weekend (back the 28th) and can pick
this up for more work then.

btw, regression tests pass except for the rules test with known
formatting differences.
                  - Thomas

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


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: [HACKERS] handling multiple file descriptors
Next
From: Bruce Momjian
Date:
Subject: Re: [HACKERS] gram.y foreign keys