Re: Fix "could not find memoization table entry" - Mailing list pgsql-hackers

From David Rowley
Subject Re: Fix "could not find memoization table entry"
Date
Msg-id CAApHDvreF-UiqBaHtRTQWQ6z1X9snstJW+dfb2DU5GOb-uPEBg@mail.gmail.com
Whole thread Raw
In response to Re: Fix "could not find memoization table entry"  (David Rowley <dgrowleyml@gmail.com>)
Responses Re: Fix "could not find memoization table entry"
List pgsql-hackers
On Wed, 25 Mar 2026 at 13:31, David Rowley <dgrowleyml@gmail.com> wrote:
> Obviously, we don't want to back-patch anything that would cause a
> user-visible change in the return value of hash_numeric(), so I've
> been experimenting to see if there's any way to get PostgreSQL to
> output any value from hash_numeric() larger than 2^31 and I've been
> unable to. I tried:

I was experimenting with a less risky fix by having the datum_image
functions force the sign-extended representation of the Datum before
hashing or comparing.

Attached is a quick PoC of what that would look like. It does fix the
reported problem. But it is a hack and doesn't fix the root cause of
the issue.

Despite the hackiness, I feel this might be better than the
whack-a-mole approach of just fixing incorrect usages of the
PG_RETURN_* macros as and when we find them.

David

Attachment

pgsql-hackers by date:

Previous
From: Michael Paquier
Date:
Subject: Re: Track skipped tables during autovacuum and autoanalyze
Next
From: Xuneng Zhou
Date:
Subject: Re: log_checkpoints: count WAL segment creations from all processes