Re: non-bulk inserts and tuple routing

From: Amit Langote <Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp>
To: Andres Freund <andres(at)anarazel(dot)de>, Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: Etsuro Fujita <fujita(dot)etsuro(at)lab(dot)ntt(dot)co(dot)jp>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: non-bulk inserts and tuple routing
Date: 2018-03-05 04:21:51
Message-ID: d9f2ef8c-a83e-7823-d73a-ba23ea2e7ffb@lab.ntt.co.jp
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 2018/03/03 13:48, Andres Freund wrote:
> On 2018-02-22 11:10:57 -0500, Robert Haas wrote:
>> On Tue, Feb 20, 2018 at 8:06 PM, Amit Langote
>> <Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp> wrote:
>>>> Attached is an updated version for that.
>>>
>>> Thanks for updating the patch.
>>
>> Committed with a few changes. The big one was that I got rid of the
>> local variable is_update in ExecSetupPartitionTupleRouting. That
>> saved a level of indentation on a substantial chunk of code, and it
>> turns out that test was redundant anyway.
>
> Btw, are there cases where this could change explain output? If there's
> subplan references or such in any of returning / wcte expressions,
> they'd not get added at explain time. It's probably fine because add
> the expressions also "staticly" in ExecInitModifyTable()?

Yes, I think.

Afaics, explain.c only looks at the information that is "statically" added
to ModifyTableState by ExecInitModifyTable. It considers information
added by the tuple routing code only when printing information about
invoked triggers, that too, only in the case of EXPLAIN ANALYZE.

Thanks,
Amit

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Thomas Munro 2018-03-05 04:32:09 Re: JIT compiling with LLVM v11
Previous Message David Rowley 2018-03-05 03:51:20 Re: Parallel Aggregates for string_agg and array_agg