Re: Minor inheritance/check bug: Inconsistent behavior - Mailing list pgsql-bugs

From Amit Kapila
Subject Re: Minor inheritance/check bug: Inconsistent behavior
Date
Msg-id 000701cd8207$7b4e1870$71ea4950$@kapila@huawei.com
Whole thread Raw
In response to Re: Minor inheritance/check bug: Inconsistent behavior  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-bugs
From: Tom Lane [mailto:tgl@sss.pgh.pa.us]
Sent: Friday, August 24, 2012 7:46 PM
Amit Kapila <amit.kapila@huawei.com> writes:
> From: pgsql-bugs-owner@postgresql.org
> [mailto:pgsql-bugs-owner@postgresql.org] On Behalf Of Tom Lane
>>> None of the system columns are set at the time check constraints are
>>> checked.

>> Is there any problem if set tableOID before calling ExecConstarints()?

> Well, possibly we could kluge things to make that particular case work,
> but if someone expects that to be valid then why not oid, ctid, xmin,
> etc?
  Initially, I thought of saying like that but the same is done in
heap_prepare_insert()
  So doing it 2 times doesn't make sense and if we move them out then all
places from
  where heap_insert gets called, we have to do it like that. However why I
have asked to
  set tableOID, as for it, already functions CopyFrom and AtRewriteTable
does it(set
  tableOid before Constraints check).

> And more to the point, what's the value of examining tableoid in
> a check constraint?  The constraint is attached to a particular table,
> so the tableoid would be a constant for it anyway.
  Here what you are suggesting if I understood correctly is while defining
such
  constraints make sure its not allowed, because once defined, during
execution we might
  not be able to identify. Please correct me if I have misunderstood?

With Regards,
Amit Kapila.

pgsql-bugs by date:

Previous
From: Tom Lane
Date:
Subject: Re: Minor inheritance/check bug: Inconsistent behavior
Next
From: Robert Haas
Date:
Subject: Re: BUG #4958: Stats collector hung on WaitForMultipleObjectsEx while attempting to recv a datagram