Re: NOT ENFORCED constraint feature

From: Peter Eisentraut <peter(at)eisentraut(dot)org>
To: Amul Sul <sulamul(at)gmail(dot)com>
Cc: Álvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>, Ashutosh Bapat <ashutosh(dot)bapat(dot)oss(at)gmail(dot)com>, jian he <jian(dot)universality(at)gmail(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, Joel Jacobson <joel(at)compiler(dot)org>, Alexandra Wang <alexandra(dot)wang(dot)oss(at)gmail(dot)com>, Suraj Kharage <suraj(dot)kharage(at)enterprisedb(dot)com>
Subject: Re: NOT ENFORCED constraint feature
Date: 2025-04-02 12:32:31
Message-ID: f3cf31c6-066f-41aa-ae8a-236e0cc7e8d1@eisentraut.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 28.03.25 14:27, Amul Sul wrote:
> On Fri, Mar 28, 2025 at 3:34 PM Ashutosh Bapat
> <ashutosh(dot)bapat(dot)oss(at)gmail(dot)com> wrote:
>>
>> On Thu, Mar 27, 2025 at 6:25 PM Amul Sul <sulamul(at)gmail(dot)com> wrote:
>>
>>>
>>> I am not sure how to make such tests stable enough since the trigger
>>> name involves OIDs. In count check, I tried adjusting the join
>>> condition to ensure that I get the exact same type of constraint
>>> w.r.t. trigger relation and the constraint.
>>
>> There are tests which mask variable parts of EXPLAIN output. Can we
>> use similar trick to mask OIDs from the trigger names?
>
> Okay, tried it in the attached version. Please check if it looks good.

I have committed version 21 of the patches (without 0006).

The patch you posted failed the regression test foreign_key because in
the output of the queries that list the triggers, the conname output did
not match the expected output. I committed it so that the test output
matches the code behavior. But please double-check that that's what you
intended.

Also, something we hadn't looked at before, I think, I made
get_relation_foreign_keys() in src/backend/optimizer/util/plancat.c
ignore not-enforced foreign keys. That means, not-enforced foreign keys
will not be used for cost estimation. This is, I think, what we want,
as we discussed earlier. If we ever want an alternative mode where
not-enforced constraints are considered for cost-estimation, then we
could quite easily tweak this.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andrew Dunstan 2025-04-02 12:34:11 Re: TEMP_CONFIG vs test_aio
Previous Message Shlok Kyal 2025-04-02 12:28:30 Re: [18] CREATE SUBSCRIPTION ... SERVER