Re: Significant Execution Time Difference Between PG13.14 and PG16.4 for Query on information_schema Tables.
Richard Guo <guofenglinux@gmail.com>
From: Richard Guo <guofenglinux@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: David Rowley <dgrowleyml@gmail.com>, nikhil raj <nikhilraj474@gmail.com>, pgsql-hackers@lists.postgresql.org
Date: 2024-08-28T03:52:46Z
Lists: pgsql-hackers, pgsql-general
On Wed, Aug 28, 2024 at 11:30 AM Richard Guo <guofenglinux@gmail.com> wrote: > On Wed, Aug 28, 2024 at 5:52 AM Tom Lane <tgl@sss.pgh.pa.us> wrote: > > I realized that actually we do have the mechanism for making that > > work: we could apply add_nulling_relids to the expression, if it > > meets those same conditions. > > I think this should work, as long as we apply add_nulling_relids only > to Vars/PHVs that belong to the subquery in this case, because only > those Vars/PHVs would be nulled by the outer joins contained in the > nullingrels. To be more concrete, I know theoretically it is the whole expression that is nullable by the outer joins, not its individual vars. But in this case if the contained vars (that belong to the subquery) become NULL, the whole expression would be NULL too, because it does not contain any non-strict constructs. That's why I think this approach should work. Thanks Richard
Commits
-
Avoid inserting PlaceHolderVars in cases where pre-v16 PG did not.
- b43110869fd8 17.0 landed
- 80d9c07a4a8c 16.5 landed
- cb8e50a4a09f 18.0 landed
-
Remove one memoize test case added by commit 069d0ff02.
- 3409b4db631f 18.0 landed