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