Hello,
Il giorno dom, 11/12/2011 alle 19.45 -0500, Noah Misch ha scritto:
> On Sat, Dec 10, 2011 at 09:47:53AM +0100, Gabriele Bartolini wrote:
> > So, here is a summary:
> >
> > --------------- --------- ---------
> > | ON | ON |
> > Action | DELETE | UPDATE |
> > --------------- --------- ---------
> > CASCADE | Row | Error |
> > SET NULL | Row | Row |
> > SET DEFAULT | Row | Row |
> > ARRAY CASCADE | Element | Element |
> > ARRAY SET NULL | Element | Element |
> > NO ACTION | - | - |
> > RESTRICT | - | - |
> > --------------- --------- ---------
> >
> > If that's fine with you guys, Marco and I will refactor the development
> > based on these assumptions.
>
> Looks fine.
>
This is our latest version of the patch. Gabriele, Gianni and I have
discussed a lot and decided to send an initial patch which uses EACH
REFERENCES instead of ARRAY REFERENCES. The reason behind this is that
ARRAY REFERENCES generates an ambiguous grammar, and we all agreed that
EACH REFERENCES makes sense (and the same time does not introduce any
new keyword). This is however open for discussion.
The patch now includes the following clauses on the delete/update
actions - as per previous emails:
--------------- --------- ---------
| ON | ON |
Action | DELETE | UPDATE |
--------------- --------- ---------
CASCADE | Row | Error |
SET NULL | Row | Row |
SET DEFAULT | Row | Row |
ARRAY CASCADE | Element | Element |
ARRAY SET NULL | Element | Element |
NO ACTION | - | - |
RESTRICT | - | - |
--------------- --------- ---------
We will resubmit the patch for the 2012-01 commit fest.
Thank you,
Marco
--
Marco Nenciarini - 2ndQuadrant Italy
PostgreSQL Training, Services and Support
marco.nenciarini@2ndQuadrant.it | www.2ndQuadrant.it