Re: BUG #19412: Wrong query result with not null constraint

From: Sergey Shinderuk <s(dot)shinderuk(at)postgrespro(dot)ru>
To: Richard Guo <guofenglinux(at)gmail(dot)com>
Cc: pgsql-bugs(at)lists(dot)postgresql(dot)org, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, David Rowley <dgrowleyml(at)gmail(dot)com>
Subject: Re: BUG #19412: Wrong query result with not null constraint
Date: 2026-02-18 12:03:30
Message-ID: 60be6cb1-10de-4e24-82ce-b02650442d97@postgrespro.ru
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On 2/18/26 12:50, Richard Guo wrote:
> On Wed, Feb 18, 2026 at 10:51 AM Richard Guo <guofenglinux(at)gmail(dot)com> wrote:
>> Exactly. I think this is because when adjust_appendrel_attrs_mutator
>> propagates the nullingrel bits from the parent rel's Var into the
>> translated Var, it loses the translated Var's original bits. Instead
>> of overwriting the translated Var's nullingrels, I think we should
>> merge them.
>>
>> --- a/src/backend/optimizer/util/appendinfo.c
>> +++ b/src/backend/optimizer/util/appendinfo.c
>> @@ -291,8 +291,11 @@ adjust_appendrel_attrs_mutator(Node *node,
>> var->varattno, get_rel_name(appinfo->parent_reloid));
>> if (IsA(newnode, Var))
>> {
>> - ((Var *) newnode)->varreturningtype = var->varreturningtype;
>> - ((Var *) newnode)->varnullingrels = var->varnullingrels;
>> + Var *newvar = (Var *) newnode;
>> +
>> + newvar->varreturningtype = var->varreturningtype;
>> + newvar->varnullingrels = bms_add_members(newvar->varnullingrels,
>> + var->varnullingrels);
>> }
>
> Here is a more readable version of the patch.
>

Thank you!

I'm not familiar with the code, just curios. There is a long comment
above saying "You might think we need to adjust var->varnullingrels, but
that shouldn't need any changes." Doesn't it need an update?

--
Sergey Shinderuk https://postgrespro.com/

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Ben Caspi 2026-02-18 13:17:50 PostgreSQL MSI ignores --datadir flag during minor upgrade on Windows
Previous Message Richard Guo 2026-02-18 09:50:34 Re: BUG #19412: Wrong query result with not null constraint