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
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 |