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

Поиск
Список
Период
Сортировка
От Sergey Shinderuk
Тема Re: BUG #19412: Wrong query result with not null constraint
Дата
Msg-id 60be6cb1-10de-4e24-82ce-b02650442d97@postgrespro.ru
обсуждение исходный текст
Ответ на Re: BUG #19412: Wrong query result with not null constraint  (Richard Guo <guofenglinux@gmail.com>)
Ответы Re: BUG #19412: Wrong query result with not null constraint
Список pgsql-bugs
On 2/18/26 12:50, Richard Guo wrote:
> On Wed, Feb 18, 2026 at 10:51 AM Richard Guo <guofenglinux@gmail.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/



В списке pgsql-bugs по дате отправления: