Re: Free indexed_tlist memory explicitly within set_plan_refs()

From: Andres Freund <andres(at)anarazel(dot)de>
To: Peter Geoghegan <pg(at)heroku(dot)com>
Cc: Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Free indexed_tlist memory explicitly within set_plan_refs()
Date: 2015-07-12 20:45:18
Message-ID: 20150712204518.GR26521@alap3.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andrew Dunstan 2015-07-12 21:02:51 Re: PostgreSQL 9.5 Alpha 1 build fail with perl 5.22
Previous Message Tom Lane 2015-07-12 19:06:56 Re: Fixes for a couple of resource leaks