Re: pgsql: Avoid coercing a whole-row variable that is already coerced
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Amit Khandekar <amitdkhan.pg@gmail.com>,
pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2017-10-13T16:56:31Z
Lists: pgsql-hackers
Robert Haas <robertmhaas@gmail.com> writes: > On Fri, Oct 13, 2017 at 5:57 AM, Amit Khandekar <amitdkhan.pg@gmail.com> wrote: >> One thing we can do is : instead of calling >> map_variable_attnos_mutator(), convert the var inside the if block for >> "if (IsA(node, ConvertRowtypeExpr))". Please check the attached patch. >> There, I have avoided coerced_var context variable. > Tom, is this more like what you have in mind? It's better ... but after reading the patched code, a lot of my remaining beef is with the lack of clarity of the comments. You need ESP to understand what the function is trying to accomplish and what the constraints are. I'll take a whack at improving that and push. regards, tom lane
Commits
-
Improve implementation of CRE-stack-flattening in map_variable_attnos().
- 73937119bfd0 11.0 landed
-
Avoid coercing a whole-row variable that is already coerced.
- 1c497fa72df7 11.0 cited