Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w4pNq-002b1T-0Z for pgsql-hackers@arkaria.postgresql.org; Tue, 24 Mar 2026 00:12:34 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w4pNo-0037uA-1a for pgsql-hackers@arkaria.postgresql.org; Tue, 24 Mar 2026 00:12:32 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w4pNo-0037u2-0h for pgsql-hackers@lists.postgresql.org; Tue, 24 Mar 2026 00:12:32 +0000 Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w4pNm-00000000hkJ-3YXN for pgsql-hackers@lists.postgresql.org; Tue, 24 Mar 2026 00:12:31 +0000 Received: by mail-wm1-x331.google.com with SMTP id 5b1f17b1804b1-48334ee0aeaso5750535e9.1 for ; Mon, 23 Mar 2026 17:12:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1774311149; cv=none; d=google.com; s=arc-20240605; b=NsQPq02raUWxitMSAkDlJH5nSGnL+ksV8nyhJkYc1XPPa7K7VnQipKOjB+QbP9lQ9K e3gyQWAIJDr39vrrmuqdR9r6NY13QL/NhZdfNlGmIdrto5quz2IFMUnGU7tp2TxHasHZ BEGwuEYeoqjaY6Z/pUFfaZuCgbvrejUi6HFNKd0MUATXdfflGwLcBqOe0vFWF5DK0Kmi mQlu+/Ut3OuHNA/oKKJXhkmuqg+jiq8BX3K63hwUZ3jmLSjgJES5gSg4z22iLGpzma6v yC6QKTLx1XM6hzJ6TCKAe7JfEBEvw+Kaj6tfGDtpjPaXB0uZcIzLpjhJ65k1qEF9BH57 GyeQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=2GUgigvSbM2E4v1HTdhqqHLc3iFfMT97Dy3fcLolp6Q=; fh=gWEIeDmQKdd45XEEz4u6Oa1DmedM0UlgJ92BAKEBfqE=; b=PTv0Z5P/wg/qG4GuZvZVhd1su5hghLyutp/sr29QCK+mrDEM7JwUICNk2U/uoXjRy9 UC99o06+YQTtFZuyfyKvyALMiST+qxP0Y77DxZEISK1IbsQiHLwlu5ix8rUYrk968DHi uxSQRQ9NImCz/0JkyFvS/leu/9OkWuQSyHLyFITCc4VlEbYHkrJZUCvrUl05KMK+EU7K X+MGyhmd3SfO1H2WCveOD+tTnrmyR7wUoC3zcZRoHlrxCPTLiMfbUB54e/aZhIeuoEnS A4Pn1xI/+RwYymSGCQ6Em+d3+0uCqap+RumLhM2kzNY8jN18MAhtGTr/wdd9otD6m6I/ vecQ==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1774311149; x=1774915949; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=2GUgigvSbM2E4v1HTdhqqHLc3iFfMT97Dy3fcLolp6Q=; b=d9Vj5k7PcJy/AYMd+N9z12z5LwKu+XvKHS0fIRbV3TjrjCF9WFWT9AmGmh8wi1ISW3 TPJkjLGOEBqvKpYWqpxufxyy7DnjDHjWCAYwUWlrLqiSFMLaD8FJ7Gc6hJQ8eEMrh5vD wZauwHb8yaTNZSrdbVaYJ/HTTAo3TWCwdRvahXgKIzQ++Q8yQPKAhunpZpGAxha3DZ5s 7oqEnRap+g2sQYo1Lzaz7idzBIodQV/5pgoDosmW3f3yi3AfcexGYg28HZ7SA3//NDpK uK8DuWLkCzZC1G8z0I6Y1v2SD3vg/gfmFcYMhc8CzE+R26N2tqj+ihpd1BYKhODmjvdy qc3Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774311149; x=1774915949; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=2GUgigvSbM2E4v1HTdhqqHLc3iFfMT97Dy3fcLolp6Q=; b=fGLrvek7ikoojPKnuvhi5l+SPc2sowFgX2dsyRISkKhM1jVmApjPHR8FkEUdcCtKWq pOlhd5JIB/EG84XGADkynZyubkbIKjoUS5g51iQ6O8SY9McX9MRIFyFdXyYQf/Fi/7kz wzmbsQIGr168h2ekMxt3EhzRtSnrgPpap0iIJBM2cTkRJZYVQ46uAHbHfW5aHb8+vjX0 M/CUYqpZeyjQG1NsrVhDeWwkGyXDGQKL5qqydC14jVYlXcbf/inc27mZDss1RDVok3Rl KXCAR5mgZ7F6X5ikakdETLxZnnUC1a3EbfylELJdSMIXiHsX8+POWWWQXxEsMuDXLbwB ztww== X-Gm-Message-State: AOJu0YwUIYDQbLUHYOUdgVJ71n583RttpqPojvyEgf0wUGEbX2nrTCcB +CthORAwSO1x1zKWLxTkgjyEMgVnFo0XU7L5oJ3Z365wiNGf1KtvsxAjNtvYqeX0Sr1S0+v8nkF 1S8JeqR6vpcY+p4XxkelH/wtkZBkWHntGswfd X-Gm-Gg: ATEYQzwu9KxIMMyqQr/LHlzfG+FETwALtz82IYSde+AhqwmkwkYDHUYB4cmraRuhfJ9 RJT6UvJ3IAmyWaSQ+MA6ymYwds0SerlFuC7L6BcR6eg/0t+sDJZtH4lBCwX3/IssB+X/P1DIJ04 fjvdQQ5tEV+O4n9WKyR+BpA4/lyYWTTNFoXFxde973kzI58T8NQaHVq0Zhq6AlbM6z4cHE4evcF epBGqpNDfkCcDmdezsG7nysg9AHN40BynPWcyWtqpBjCL3LFO4Ad7hGj4AqVtykZ3HDY+D4Kf2w InbfLsMFEJqIdLZ1Nklll82kV5FWubXyPgGgenseiYEKs7MUNszSD224XpdMMyQMen+wfk3PIA= = X-Received: by 2002:a05:600c:310d:b0:485:3b00:f93b with SMTP id 5b1f17b1804b1-486ff03db6fmr194492335e9.31.1774311149184; Mon, 23 Mar 2026 17:12:29 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: David Rowley Date: Tue, 24 Mar 2026 13:12:17 +1300 X-Gm-Features: AQROBzAWOr2-52oVutBkN44RlcP3Vo04IILV-BrWG7aZCg6kEpcMhDvsxRClkjI Message-ID: Subject: Re: Fix "could not find memoization table entry" To: Tender Wang Cc: PostgreSQL Hackers Content-Type: multipart/mixed; boundary="000000000000c4dbda064dba01bd" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000c4dbda064dba01bd Content-Type: text/plain; charset="UTF-8" On Mon, 23 Mar 2026 at 19:30, Tender Wang 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. 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? David --000000000000c4dbda064dba01bd Content-Type: application/octet-stream; name="numeric.patch" Content-Disposition: attachment; filename="numeric.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mn3uwsj60 ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9udW1lcmljLmMgYi9zcmMvYmFja2Vu ZC91dGlscy9hZHQvbnVtZXJpYy5jCmluZGV4IGQyNWI4YWQ1MDVkLi4wMGY5MmQxZGM3ZCAxMDA2 NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L251bWVyaWMuYworKysgYi9zcmMvYmFja2Vu ZC91dGlscy9hZHQvbnVtZXJpYy5jCkBAIC0yNzI0LDcgKzI3MjQsNyBAQCBoYXNoX251bWVyaWMo UEdfRlVOQ1RJT05fQVJHUykKIAogCS8qIElmIGl0J3MgTmFOIG9yIGluZmluaXR5LCBkb24ndCB0 cnkgdG8gaGFzaCB0aGUgcmVzdCBvZiB0aGUgZmllbGRzICovCiAJaWYgKE5VTUVSSUNfSVNfU1BF Q0lBTChrZXkpKQotCQlQR19SRVRVUk5fVUlOVDMyKDApOworCQlQR19SRVRVUk5fSU5UMzIoMCk7 CiAKIAl3ZWlnaHQgPSBOVU1FUklDX1dFSUdIVChrZXkpOwogCXN0YXJ0X29mZnNldCA9IDA7CkBA IC0yNzU2LDcgKzI3NTYsNyBAQCBoYXNoX251bWVyaWMoUEdfRlVOQ1RJT05fQVJHUykKIAkgKiBy ZWdhcmRsZXNzIG9mIGFueSBvdGhlciBmaWVsZHMuCiAJICovCiAJaWYgKE5VTUVSSUNfTkRJR0lU UyhrZXkpID09IHN0YXJ0X29mZnNldCkKLQkJUEdfUkVUVVJOX1VJTlQzMigtMSk7CisJCVBHX1JF VFVSTl9JTlQzMigtMSk7CiAKIAlmb3IgKGkgPSBOVU1FUklDX05ESUdJVFMoa2V5KSAtIDE7IGkg Pj0gMDsgaS0tKQogCXsKQEAgLTI3ODIsNyArMjc4Miw3IEBAIGhhc2hfbnVtZXJpYyhQR19GVU5D VElPTl9BUkdTKQogCS8qIE1peCBpbiB0aGUgd2VpZ2h0LCB2aWEgWE9SICovCiAJcmVzdWx0ID0g ZGlnaXRfaGFzaCBeIHdlaWdodDsKIAotCVBHX1JFVFVSTl9EQVRVTShyZXN1bHQpOworCVBHX1JF VFVSTl9JTlQzMihEYXR1bUdldEludDMyKHJlc3VsdCkpOwogfQogCiAvKgo= --000000000000c4dbda064dba01bd--