Re: Optimize common expressions in projection evaluation

From: Peifeng Qiu <pgsql(at)qiupf(dot)dev>
To: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
Cc: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: Optimize common expressions in projection evaluation
Date: 2022-12-05 08:51:49
Message-ID: CAPH51beXAKCtdP1BTsU+HiQ6WDV25WqkYZ_sS5HBA-gJ4iBRPw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> Which is properly written as the following, using lateral, which also avoids the problem you describe:
>
> INSERT INTO tbl
> SELECT func_call.*
> FROM ft
> JOIN LATERAL convert_func(ft.rawdata) AS func_call ON true;

I didn't fully realize this syntax until you point out. Just try it out in
our case and this works well. I think My problem is mostly resolved
without the need of this patch. Thanks!

It's still good to do something about the normal (func(v)).* syntax
if it's still considered legal. I will give a try to expanding it more
cleverly and see if we can avoid the duplicate evaluation issue.

Peifeng Qiu

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Niyas Sait 2022-12-05 08:54:52 Re: [PATCH] Add native windows on arm64 support
Previous Message Fabien COELHO 2022-12-05 08:42:41 Re: Order getopt arguments