On Thu, 2008-05-08 at 14:56 +0200, Peter Eisentraut wrote: > Am Donnerstag, 8. Mai 2008 schrieb Simon Riggs: > > CREATE RULE somename AS ON INSERT TO x WHERE where-clause DO INSERT ... > > > > which seems straightforward, no? > > Double evaluation is the key word. The conclusion was more or less that you > can't implement check constraints using the rules system. You need to check > them in the executor.
That makes sense. I can't see how we would make LOCAL CHECK CONSTRAINTs work with rules anyhow. So that means WITH CHECK CONSTRAINT is going to end up executed in a similar place to constraint evaluation on underlying tables. That leaves me in a difficult position with MERGE though. MERGE does something similar with conditional-WHEN clause evaluation, plus transformation of the sub-statements is only sensible when we have updatable views. :-( -- Simon Riggs 2ndQuadrant http://www.2ndQuadrant.com -- Sent via pgsql-patches mailing list (pgsql-patches@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-patches