public inbox for [email protected]
help / color / mirror / Atom feedFrom: Tender Wang <[email protected]>
To: David Rowley <[email protected]>
Cc: PostgreSQL Hackers <[email protected]>
Subject: Re: Fix "could not find memoization table entry"
Date: Tue, 24 Mar 2026 09:10:07 +0800
Message-ID: <CAHewXNkO0NO4+98=E=QodAUz_mkX2YOB0rD_C3Yz7o383aRhVQ@mail.gmail.com> (raw)
In-Reply-To: <CAApHDvrSSeLNWzQWWcLfZKWwHd=XocVs3abmTmvaSD_sx-dkNQ@mail.gmail.com>
References: <CAHewXNmcXVFdB9_WwA8Ez0P+m_TQy_KzYk5Ri5dvg+fuwjD_yw@mail.gmail.com>
<CAApHDvrSSeLNWzQWWcLfZKWwHd=XocVs3abmTmvaSD_sx-dkNQ@mail.gmail.com>
David Rowley <[email protected]> 于2026年3月24日周二 08:12写道:
>
> On Mon, 23 Mar 2026 at 19:30, Tender Wang <[email protected]> wrote:
> > Recently, I encountered an error: could not find memoization table
>
> > The hkeys returned by datum_image_hash() are different, so we can't
> > find the entry in the hash table.
> >
> > In the datum_image_hash(), if typByVal is true, calling
> > result = hash_bytes((unsigned char *) &value, sizeof(Datum));
> >
> > I think we should use typLen here, not sizeof(Datum).
> > I tried this way and didn't encounter any errors again.
>
> The Datum values should be the same. You can't just compare the lowest
> attlen bytes of a Datum.
Thanks for pointing this out.
Actually, I haven't quite figured out why `typLen` cannot be used here.
>
> It looks to me like the bug is in hash_numeric(). Seems like it has no
> idea what type it's meant to return. hash_numeric_extended() doesn't
> seem to be much better.
>
> Do you still get the ERROR after patching with the attached?
No error anymore with your patch.
--
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: <CAHewXNkO0NO4+98=E=QodAUz_mkX2YOB0rD_C3Yz7o383aRhVQ@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