public inbox for [email protected]  
help / color / mirror / Atom feed
From: Tender Wang <[email protected]>
To: David Rowley <[email protected]>
Cc: PostgreSQL Hackers <[email protected]>
Subject: Re: Fix "could not find memoization table entry"
Date: Wed, 25 Mar 2026 17:00:17 +0800
Message-ID: <CAHewXN=Zzy7kPf3kSkxRzMY9tSZFOt8JRhKW_M_FzLY3px-esQ@mail.gmail.com> (raw)
In-Reply-To: <CAApHDvreF-UiqBaHtRTQWQ6z1X9snstJW+dfb2DU5GOb-uPEBg@mail.gmail.com>
References: <CAHewXNmcXVFdB9_WwA8Ez0P+m_TQy_KzYk5Ri5dvg+fuwjD_yw@mail.gmail.com>
	<CAApHDvrSSeLNWzQWWcLfZKWwHd=XocVs3abmTmvaSD_sx-dkNQ@mail.gmail.com>
	<CAApHDvrRR1VOk4i4CpNWeL48veFshfRAvDTuWxsiUhUqo0akwQ@mail.gmail.com>
	<CAApHDvreF-UiqBaHtRTQWQ6z1X9snstJW+dfb2DU5GOb-uPEBg@mail.gmail.com>

David Rowley <[email protected]> 于2026年3月25日周三 10:09写道:
>
> 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.

No objection from me.
It seems no users have complained about hash_numberic(), and except
for this reported issue, no internal errors have been reported due to
hash_numberic().


-- 
Thanks,
Tender Wang





view thread (9+ messages)  latest in thread

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected], [email protected]
  Subject: Re: Fix "could not find memoization table entry"
  In-Reply-To: <CAHewXN=Zzy7kPf3kSkxRzMY9tSZFOt8JRhKW_M_FzLY3px-esQ@mail.gmail.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox