Re: Optimizing nested ConvertRowtypeExpr execution

From: Andres Freund <andres(at)anarazel(dot)de>
To: Ashutosh Bapat <ashutosh(dot)bapat(at)enterprisedb(dot)com>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Optimizing nested ConvertRowtypeExpr execution
Date: 2018-04-01 20:10:32
Message-ID: 20180401201032.wsyxsc6ajftjjm6x@alap3.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

On 2018-02-26 17:20:05 +0530, Ashutosh Bapat wrote:
> In a multi-level partitioned table, a parent whole-row reference gets
> translated into nested ConvertRowtypeExpr with child whole-row
> reference as the leaf. During the execution, the child whole-row
> reference gets translated into all all intermediate parents' whole-row
> references, ultimately represented as parent's whole-row reference.
> AFAIU, the intermediate translations are unnecessary. The leaf child
> whole-row can be directly translated into top parent's whole-row
> reference. Here's a WIP patch which does that by eliminating
> intermediate ConvertRowtypeExprs during ExecInitExprRec().

Why is this done appropriately at ExecInitExpr() time, rather than at
plan time? Seems like eval_const_expressions() would be a bit more
appropriate (being badly named aside...)?

- Andres

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Gavin Flower 2018-04-01 21:11:27 Re: bulk typos
Previous Message Andres Freund 2018-04-01 20:01:07 Re: [PATCH] Logical decoding of TRUNCATE