Re: Optimizing nested ConvertRowtypeExpr execution

From: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
To: Ashutosh Bapat <ashutosh(dot)bapat(at)enterprisedb(dot)com>
Cc: Andres Freund <andres(at)anarazel(dot)de>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Optimizing nested ConvertRowtypeExpr execution
Date: 2018-04-06 06:37:57
Message-ID: CAFj8pRAR9dL6Hw8EMb=QLHn-_WvafZNV9R40A4fZHr+qd7KXPg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

2018-04-06 8:21 GMT+02:00 Ashutosh Bapat <ashutosh(dot)bapat(at)enterprisedb(dot)com>:

> On Tue, Apr 3, 2018 at 10:48 AM, Ashutosh Bapat
> <ashutosh(dot)bapat(at)enterprisedb(dot)com> wrote:
> >>
> >> 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...)?
> >
> > That seems to be a better idea. Here's patch.
> >
>
> Previous patch didn't try to fold the ConvertRowtypeExpr::arg into a Const.
>
> postgres=# create table t1 (a int, b int, c int) partition by range(a);
> postgres=# create table t1p1 partition of t1 for values from (0) to
> (100) partition by range(b);
> postgres=# create table t1p1p1 partition of t1p1 for values from (0) to
> (50);
> postgres=# explain verbose select (1, 2, 3)::t1p1p1::t1p1::t1; --
> notice Rowexpression here.
> QUERY PLAN
> -------------------------------------------
> Result (cost=0.00..0.01 rows=1 width=32)
> Output: (ROW(1, 2, 3)::t1p1p1)::t1
> (2 rows)
>
> Here's patch fixing that. With this patch
> postgres=# explain verbose select (1, 2, 3)::t1p1p1::t1p1::t1;
> QUERY PLAN
> -------------------------------------------
> Result (cost=0.00..0.01 rows=1 width=32)
> Output: '(1,2,3)'::t1
> (2 rows)
>
>
+1

Pavel

> --
> Best Wishes,
> Ashutosh Bapat
> EnterpriseDB Corporation
> The Postgres Database Company
>

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message amul sul 2018-04-06 07:20:58 Re: [HACKERS] Restrict concurrent update/delete with UPDATE of partition key
Previous Message amul sul 2018-04-06 06:37:17 Re: [HACKERS] Restrict concurrent update/delete with UPDATE of partition key