Re: Core dump in range_table_mutator()
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Dean Rasheed <dean.a.rasheed@gmail.com>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2022-06-25T03:39:09Z
Lists: pgsql-hackers
Dean Rasheed <dean.a.rasheed@gmail.com> writes: > Not directly related to that change ... I think it would be easier to > follow if the CHECKFLATCOPY() was replaced with a separate Assert() > and FLATCOPY() (I had to go and remind myself what CHECKFLATCOPY() > did). > Doing that would allow CHECKFLATCOPY() to be deleted, since this is > the only place that uses it -- every other case knows the node type is > correct before doing a FLATCOPY(). Well, if we want to clean this up a bit rather than just doing the minimum safe fix ... I spent some time why we were bothering with the FLATCOPY step at all, rather than just mutating the Query* pointer. I think the reason is to not fail if the QTW_DONT_COPY_QUERY flag is set, but maybe we should clear that flag when recursing? regards, tom lane
Commits
-
Harden range_table_mutator() against null RangeTblEntry.subquery.
- ebc584ed495d 15.0 landed
-
Reduce the cost of planning deeply-nested views.
- 64919aaab450 15.0 cited