Andres Freund <and...@2ndquadrant.com> writes:
> What about sticking a WHERE in there? I.e. FOREIGN KEY (foo, WHERE EACH 
> ELEMENT OF bar) ...

Well, we don't really need it in the table-constraint case.  The
column-constraint case is the sticking point.

I tested, and indeed this seems to work:

        CREATE TABLE t1 (c int[] WHERE EACH ELEMENT REFERENCES t2);

and it's perfectly sensible from an English-grammar standpoint too.

If we take that, how would we spell the table-constraint case exactly?
Grammatically I'd prefer

        FOREIGN KEY (foo, EACH ELEMENT OF bar) REFERENCES

but this seems a bit far afield from the column-constraint syntax.
OTOH, that's a pretty minor quibble.  These work according to bison,
and they wouldn't make a grammarian run away screaming, so maybe we
should just be happy with that.

                        regards, tom lane


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to