Re: ERROR: XX000: could not find memoization table entry (reproducible)
David Rowley <dgrowleyml@gmail.com>
From: David Rowley <dgrowleyml@gmail.com>
To: "pgsql-bugs@lists.postgresql.org" <pgsql-bugs@lists.postgresql.org>
Cc: Emmanuel Touzery <emmanuel.touzery@plandela.si>
Date: 2025-10-22T11:27:40Z
Lists: pgsql-bugs
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Fix incorrect zero extension of Datum in JIT tuple deform code
- 4afab175bc13 13.23 landed
- e4316ec4dd0c 14.20 landed
- b8ecfbe5af4f 15.15 landed
- 3398b0d02785 16.11 landed
- 10945148eec6 17.7 landed
- ceb51d09b46b 18.1 landed
- 6911f80379d4 19 (unreleased) landed
On Thu, 23 Oct 2025 at 00:16, David Rowley <dgrowleyml@gmail.com> wrote: > To figure out why this is happening requires caffeination and staring > at llvmjit_deform.c for a long time. I suspect whatever is in there > that's meant to do what fetch_att() does isn't doing it the same way. This code here: LLVMValueRef v_tmp_loaddata; LLVMTypeRef vartype = LLVMIntTypeInContext(lc, att->attlen * 8); LLVMTypeRef vartypep = LLVMPointerType(vartype, 0); v_tmp_loaddata = LLVMBuildPointerCast(b, v_attdatap, vartypep, ""); v_tmp_loaddata = l_load(b, vartype, v_tmp_loaddata, "attr_byval"); v_tmp_loaddata = LLVMBuildZExt(b, v_tmp_loaddata, TypeDatum, ""); LLVMBuildStore(b, v_tmp_loaddata, v_resultp); I don't speak this fluently by any means, but I think I see a zero extension here up to the Datum width. That's not what fetch_att() does. Will look more tomorrow. David