Re: Significant Execution Time Difference Between PG13.14 and PG16.4 for Query on information_schema Tables.
David Rowley <dgrowleyml@gmail.com>
From: David Rowley <dgrowleyml@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>, Richard Guo <guofenglinux@gmail.com>
Cc: nikhil raj <nikhilraj474@gmail.com>, pgsql-hackers@lists.postgresql.org
Date: 2024-08-27T23:03:08Z
Lists: pgsql-hackers, pgsql-general
On Wed, 28 Aug 2024 at 09:52, Tom Lane <tgl@sss.pgh.pa.us> wrote: > The other problem with this is that it breaks one test case in > memoize.sql: a query that formerly generated a memoize plan > now does not use memoize. I am not sure why not --- does that > mean anything to you? The reason it works in master is that get_memoize_path() calls extract_lateral_vars_from_PHVs() and finds PlaceHolderVars to use as the Memoize keys. With your patch PlannerInfo.placeholder_list is empty. The commit that made this work is 069d0ff02. Richard might be able to explain better. I don't quite understand why RelOptInfo.lateral_vars don't contain these in the first place. David
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