Re: Free indexed_tlist memory explicitly within set_plan_refs() - Mailing list pgsql-hackers

From Andres Freund
Subject Re: Free indexed_tlist memory explicitly within set_plan_refs()
Date
Msg-id 20150712204518.GR26521@alap3.anarazel.de
Whole thread Raw
In response to Re: Free indexed_tlist memory explicitly within set_plan_refs()  (Peter Geoghegan <pg@heroku.com>)
Responses Re: Free indexed_tlist memory explicitly within set_plan_refs()
Re: Free indexed_tlist memory explicitly within set_plan_refs()
List pgsql-hackers
On 2015-05-28 14:37:43 -0700, Peter Geoghegan wrote:
> To fix, allow ParseState to reflect that an individual statement can be
> both p_is_insert and p_is_update at the same time.

>      /* Process DO UPDATE */
>      if (onConflictClause->action == ONCONFLICT_UPDATE)
>      {
> +        /* p_is_update must be set here, after INSERT targetlist processing */
> +        pstate->p_is_update = true;
> +

It's not particularly pretty that you document in the commit message
that both is_insert and is_update can be set at the same time, and then
it has constraints like the above.

But that's more crummy API's fault than yours.

I'm right now not really coming up with a better idea how to fix
this. So I guess I'll apply something close to this tomorrow.



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Fixes for a couple of resource leaks
Next
From: Andrew Dunstan
Date:
Subject: Re: PostgreSQL 9.5 Alpha 1 build fail with perl 5.22