On Wed, 25 Mar 2026 at 13:31, David Rowley <[email protected]> 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
hack_to_fix_datum_image_problem.patch
Description: Binary data
