1
0
mirror of https://github.com/postgres/postgres.git synced 2025-12-19 17:02:53 +03:00

Fix Memoize to work with partitionwise joining.

A couple of places weren't up to speed for this.  By sheer good
luck, we didn't fail but just selected a non-memoized join plan,
at least in the test case we have.  Nonetheless, it's a bug,
and I'm not quite sure that it couldn't have worse consequences
in other examples.  So back-patch to v14 where Memoize came in.

Richard Guo

Discussion: https://postgr.es/m/CAMbWs48GkNom272sfp0-WeD6_0HSR19BJ4H1c9ZKSfbVnJsvRg@mail.gmail.com
This commit is contained in:
Tom Lane
2022-12-05 12:36:40 -05:00
parent 35ce24c333
commit d69d01ba9d
5 changed files with 63 additions and 3 deletions

View File

@@ -1865,8 +1865,8 @@ typedef struct MemoizePath
{
Path path;
Path *subpath; /* outerpath to cache tuples from */
List *hash_operators; /* hash operators for each key */
List *param_exprs; /* cache keys */
List *hash_operators; /* OIDs of hash equality ops for cache keys */
List *param_exprs; /* expressions that are cache keys */
bool singlerow; /* true if the cache entry is to be marked as
* complete after caching the first record. */
bool binary_mode; /* true when cache key should be compared bit