Re: BUG #17213: Wrong result from a query involving Merge Semi Join and Memoize
David Rowley <dgrowleyml@gmail.com>
From: David Rowley <dgrowleyml@gmail.com>
To: Elvis Pranskevichus <elprans@gmail.com>, PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>
Date: 2021-11-22T10:36:25Z
Lists: pgsql-bugs
On Tue, 26 Oct 2021 at 20:50, David Rowley <dgrowleyml@gmail.com> wrote: > An alternative way to fix the problem would be just to flush the cache > whenever a Param changes that is not part of the cache key. The > Materalize node works a bit like this, except it'll just flush the > cache whenever a param changes, since the Material cache is not > parameterized. One fairly hefty drawback with doing it this way is > that the planner does not get a chance to take into account the fact > that the cache could be flushed quite often. This could result in a > Nested Loop / Memoize join being chosen instead of a Hash or Merge > Join when the hash or merge join would be much more favourable. Let's > call this "option 2". I'm planning on giving the patch I submitted another look with the intention of pushing it tomorrow. David
Commits
-
Flush Memoize cache when non-key parameters change, take 2
- c2dc7b9e1503 14.2 landed
- 411137a42921 15.0 landed
-
Flush Memoize cache when non-key parameters change
- f94edb06ab60 14.2 landed
- 1050048a3157 15.0 landed