From: | Stephan Szabo <sszabo(at)megazone23(dot)bigpanda(dot)com> |
---|---|
To: | Eric Lu <yclu(at)ecompliance(dot)net> |
Cc: | <pgsql-bugs(at)postgresql(dot)org> |
Subject: | Re: referential constraint bug |
Date: | 2002-03-13 16:13:22 |
Message-ID: | 20020313081032.W81426-100000@megazone23.bigpanda.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
On Wed, 6 Mar 2002, Eric Lu wrote:
> To whom it may concern:
>
> I found a constraint bug on PostgreSQL lastest version (7.2).
Yes, it's still seeing some invalid states of the table. I believe
the following will fix the case (it was part of a larger patch that
was rejected, but I think this part is safe -- if not I'm sure someone
will jump in).
*** pgsql/src/backend/utils/adt/ri_triggers.c.orig Tue Mar 12 23:33:32 2002
--- pgsql/src/backend/utils/adt/ri_triggers.c Tue Mar 12 23:33:47 2002
***************
*** 208,213 ****
--- 208,224 ----
new_row = trigdata->tg_trigtuple;
}
+ /*
+ * We should not even consider checking the row if it is no longer
+ * valid since it was either deleted (doesn't matter) or updated
+ * (in which case it'll be checked with its final values).
+ */
+ if (new_row) {
+ if (!HeapTupleSatisfiesItself(new_row->t_data)) {
+ return PointerGetDatum(NULL);
+ }
+ }
+
/* ----------
* SQL3 11.9 <referential constraint definition>
* Gereral rules 2) a):
From | Date | Subject | |
---|---|---|---|
Next Message | Ben Grimm | 2002-03-13 16:28:11 | Re: Bug #613: Sequence values fall back to previously checkpointed |
Previous Message | Tom Lane | 2002-03-13 15:31:35 | Re: Bug #613: Sequence values fall back to previously checkpointed |