David Rowley <dgrowle...@gmail.com> writes: > On Thu, 30 Sept 2021 at 09:24, Tom Lane <t...@sss.pgh.pa.us> wrote: >> After further inspection, "what are we doing in jsonb_hash?" is >> indeed a relevant question, but it seems like it's a type mismatch >> not a nullness issue. EXPLAIN VERBOSE shows
> I think you're right here. It should be hashing text. That seems to > be going wrong in check_memoizable() because it assumes it's always > fine to use the left side's type of the OpExpr to figure out the hash > function to use. > Maybe we can cache the left and the right type's hash function and use > the correct one in paraminfo_get_equal_hashops(). Um ... it seems to have correctly identified the cache key expressions, so why isn't it just doing exprType on those? The jsonb_exists operator seems entirely irrelevant here. regards, tom lane