Re: Minor inheritance/check bug: Inconsistent behavior
От | Amit Kapila |
---|---|
Тема | Re: Minor inheritance/check bug: Inconsistent behavior |
Дата | |
Msg-id | 000701cd8207$7b4e1870$71ea4950$@kapila@huawei.com обсуждение исходный текст |
Ответ на | Re: Minor inheritance/check bug: Inconsistent behavior (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | 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 по дате отправления: