diff options
author | David Rowley <drowley@postgresql.org> | 2021-11-08 14:40:33 +1300 |
---|---|---|
committer | David Rowley <drowley@postgresql.org> | 2021-11-08 14:40:33 +1300 |
commit | 39a3105678a247bbfdc132cd95db5b515b8cd7f6 (patch) | |
tree | 3267d3ecbefa5306f13682c927b828155f112ada /src/backend/nodes/outfuncs.c | |
parent | e2fbb883720aa222f61eb9f3affad1c63bac7cbb (diff) |
Fix incorrect hash equality operator bug in Memoize
In v14, because we don't have a field in RestrictInfo to cache both the
left and right type's hash equality operator, we just restrict the scope
of Memoize to only when the left and right types of a RestrictInfo are the
same.
In master we add another field to RestrictInfo and cache both hash
equality operators.
Reported-by: Jaime Casanova
Author: David Rowley
Discussion: https://postgr.es/m/20210929185544.GB24346%40ahch-to
Backpatch-through: 14
Diffstat (limited to 'src/backend/nodes/outfuncs.c')
-rw-r--r-- | src/backend/nodes/outfuncs.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/backend/nodes/outfuncs.c b/src/backend/nodes/outfuncs.c index 2e5ed77e189..23f23f11dc7 100644 --- a/src/backend/nodes/outfuncs.c +++ b/src/backend/nodes/outfuncs.c @@ -2565,7 +2565,8 @@ _outRestrictInfo(StringInfo str, const RestrictInfo *node) WRITE_NODE_FIELD(right_em); WRITE_BOOL_FIELD(outer_is_left); WRITE_OID_FIELD(hashjoinoperator); - WRITE_OID_FIELD(hasheqoperator); + WRITE_OID_FIELD(left_hasheqoperator); + WRITE_OID_FIELD(right_hasheqoperator); } static void |