Re: BUG #17800: ON CONFLICT DO UPDATE fails to detect incompatible fields that leads to a server crash - Mailing list pgsql-bugs

From Andres Freund
Subject Re: BUG #17800: ON CONFLICT DO UPDATE fails to detect incompatible fields that leads to a server crash
Date
Msg-id 20230224225357.2orpiokrfpjllfm4@awork3.anarazel.de
Whole thread Raw
In response to Re: BUG #17800: ON CONFLICT DO UPDATE fails to detect incompatible fields that leads to a server crash  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: BUG #17800: ON CONFLICT DO UPDATE fails to detect incompatible fields that leads to a server crash  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-bugs
Hi,

On 2023-02-24 17:12:43 -0500, Tom Lane wrote:
> OK, so this worked out quite well ... it's only about 50 net new lines
> of code, and there's no data structure changes outside the contents of
> compiled expressions, so no reason to fear ABI problems.

Nice.


> I did the renaming you had comments suggesting, but perhaps you want
> to bikeshed those names?

Not really. I guess it'd be mildly nicer to have Expr somewhere in the name,
but whatever.


> @@ -677,20 +680,8 @@ ExecBuildUpdateProjection(List *targetList,
>      }
>  
>      /*
> -     * If we're evaluating the tlist, must evaluate any resjunk columns too.
> -     * (This matters for things like MULTIEXPR_SUBLINK SubPlans.)
> +     * We don't bother evaluating any tlist entries that are marked resjunk.
>       */
> -    if (evalTargetList)
> -    {
> -        for_each_cell(lc, targetList, lc)
> -        {
> -            TargetEntry *tle = lfirst_node(TargetEntry, lc);
> -
> -            Assert(tle->resjunk);
> -            ExecInitExprRec(tle->expr, state,
> -                            &state->resvalue, &state->resnull);
> -        }
> -    }
>  
>      /*
>       * Now generate code to copy over any old columns that were not assigned

The "don't bother" comment looks a bit lonely now :)

Greetings,

Andres Freund



pgsql-bugs by date:

Previous
From: Tom Lane
Date:
Subject: Re: BUG #17800: ON CONFLICT DO UPDATE fails to detect incompatible fields that leads to a server crash
Next
From: Tom Lane
Date:
Subject: Re: BUG #17800: ON CONFLICT DO UPDATE fails to detect incompatible fields that leads to a server crash