From: | Jeff Davis <pgsql(at)j-davis(dot)com> |
---|---|
To: | Robert Haas <robertmhaas(at)gmail(dot)com> |
Cc: | Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: NOT NULL constraints in foreign tables |
Date: | 2012-08-20 19:56:33 |
Message-ID: | 1345492593.14847.6.camel@sussancws0025 |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Fri, 2012-08-17 at 15:44 -0400, Robert Haas wrote:
> On Fri, Aug 17, 2012 at 2:58 PM, Alvaro Herrera
> <alvherre(at)2ndquadrant(dot)com> wrote:
> > I mean, what are NOT NULL in foreign tables for? Are they harmed or
> > helped by having pg_constraint rows?
>
> As I've mentioned when this has come up before, I think that
> constraints on foreign tables should be viewed as declarative
> statements about the contents of the foreign data that the DB will
> assume true. This could be useful for a variety of purposes:
> constraint exclusion, query optimization, etc.
There are at least three kinds of constraint enforcement:
1. Enforced before the query runs (e.g. the current behavior on a normal
table).
2. Enforced when the query runs by validating the constraint as you go,
and then throwing an error when it turns out to be false.
3. Don't make any attempt to enforce, and silently produce wrong results
if it's false.
Which are you proposing, and how will the user know which kind of
constraint they've got?
Regards,
Jeff Davis
From | Date | Subject | |
---|---|---|---|
Next Message | Josh Berkus | 2012-08-20 20:21:07 | Re: sha1, sha2 functions into core? |
Previous Message | Robert Haas | 2012-08-20 19:42:28 | Re: PATCH: psql boolean display |