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.94.2) (envelope-from ) id 1uWxsn-003zMt-2m for pgsql-committers@arkaria.postgresql.org; Wed, 02 Jul 2025 13:52:17 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1uWxsk-0018mH-Ra for pgsql-committers@arkaria.postgresql.org; Wed, 02 Jul 2025 13:52:15 +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.94.2) (envelope-from ) id 1uWxqU-0015ZS-ME for pgsql-committers@lists.postgresql.org; Wed, 02 Jul 2025 13:49:55 +0000 Received: from mahout.postgresql.org ([2001:4800:3e1:1::227]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1uWxqT-005A0F-1e for pgsql-committers@lists.postgresql.org; Wed, 02 Jul 2025 13:49:54 +0000 Received: from gemulon.postgresql.org ([2001:4800:3e1:1::198]) by mahout.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1uWxqS-00EOY0-LT for pgsql-committers@lists.postgresql.org; Wed, 02 Jul 2025 13:49:52 +0000 Received: from localhost ([127.0.0.1] helo=gemulon.postgresql.org) by gemulon.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1uWxqS-004MKh-0I for pgsql-committers@lists.postgresql.org; Wed, 02 Jul 2025 13:49:52 +0000 Content-Type: multipart/mixed; boundary="===============6866549755600075361==" MIME-Version: 1.0 From: Peter Geoghegan To: pgsql-committers@lists.postgresql.org Subject: pgsql: Make row compares robust during nbtree array scans. X-Auto-Response-Suppress: All Auto-Submitted: auto-generated Message-Id: Date: Wed, 02 Jul 2025 13:49:52 +0000 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --===============6866549755600075361== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 TWFrZSByb3cgY29tcGFyZXMgcm9idXN0IGR1cmluZyBuYnRyZWUgYXJyYXkgc2NhbnMuCgpSZWNl bnQgbmJ0cmVlIGJ1Z2ZpeCBjb21taXQgNWY0ZDk4ZDQgYWRkZWQgYSBzcGVjaWFsIGNhc2UgdG8g dGhlIGNvZGUKdGhhdCBzZXRzIHVwIGEgcGFnZS1sZXZlbCBwcmVmaXggb2Yga2V5cyB0aGF0IGFy ZSBkZWZpbml0ZWx5IHNhdGlzZmllZApieSBldmVyeSB0dXBsZSBvbiB0aGUgcGFnZTogd2hlbmV2 ZXIgX2J0X3NldF9zdGFydGlrZXkgcmVhY2hlZCBhIHJvdwpjb21wYXJlIGtleSwgd2UnZCByZWZ1 c2UgdG8gYXBwbHkgdGhlIHBzdGF0ZS5mb3JjZW5vbnJlcXVpcmVkIGJlaGF2aW9yCmluIHNjYW5z IHdoZXJlIHRoYXQgdXN1YWxseSBoYXBwZW5zIChzY2FucyB3aXRoIGEgaGlnaGVyLW9yZGVyIGFy cmF5CmtleSkuICBUaGF0IGhhY2sgbWFkZSB0aGUgc2NhbiBhdm9pZCBlc3NlbnRpYWxseSB0aGUg c2FtZSBpbmZpbml0ZQpjeWNsaW5nIGJlaGF2aW9yIHRoYXQgYWxzbyBhZmZlY3RlZCBuYnRyZWUg c2NhbnMgd2l0aCByZWR1bmRhbnQga2V5cwooa2V5cyB0aGF0IHByZXByb2Nlc3NpbmcgY291bGQg bm90IGVsaW1pbmF0ZSkgcHJpb3IgdG8gY29tbWl0IGYwOTgxNmEwLgpUaGVyZSBhcmUgbm93IHNl cmlvdXMgZG91YnRzIGFib3V0IHRoaXMgcm93IGNvbXBhcmUgd29ya2Fyb3VuZC4KClRlc3Rpbmcg aGFzIHNob3duIHRoYXQgYSBzY2FuIHdpdGggYSByb3cgY29tcGFyZSBrZXkgYW5kIGFuIGFycmF5 IGtleQpjb3VsZCBzdGlsbCByZWFkIHRoZSBzYW1lIGxlYWYgcGFnZSB0d2ljZSAod2l0aG91dCB0 aGUgc2NhbidzIGRpcmVjdGlvbgpjaGFuZ2luZyksIHdoaWNoIGlzbid0IHN1cHBvc2VkIHRvIGJl IHBvc3NpYmxlIGZvbGxvd2luZyB0aGUgU0FPUAplbmhhbmNlbWVudHMgYWRkZWQgYnkgUG9zdGdy ZXMgMTcgY29tbWl0IDViZjc0OGI4LiAgQWxzbywgd2Ugc3RpbGwKYWxsb3dlZCBhIHJlcXVpcmVk IHJvdyBjb21wYXJlIGtleSB0byBiZSB1c2VkIHdpdGggZm9yY2Vub25yZXF1aXJlZCBtb2RlCndo ZW4gaXRzIGhlYWRlciBrZXkgaGFwcGVuZWQgdG8gYmUgYmV5b25kIHRoZSBwc3RhdGUuaWtleSBz ZXQgYnkKX2J0X3NldF9zdGFydGlrZXksIHdoaWNoIHdhcyBjb21wbGljYXRlZCBhbmQgYnJpdHRs ZS4KClRoZSB1bmRlcmx5aW5nIHByb2JsZW0gd2FzIHRoYXQgcm93IGNvbXBhcmVzIGhhZCBpbmNv bnNpc3RlbnQgcnVsZXMKYXJvdW5kIGhvdyBzY2FucyBzdGFydCAod2hpY2gga2V5cyBjYW4gYmUg dXNlZCBmb3IgaW5pdGlhbCBwb3NpdGlvbmluZwpwdXJwb3NlcykgYW5kIGhvdyBzY2FucyBlbmQg KHdoaWNoIGtleXMgY2FuIHNldCBjb250aW51ZXNjYW49ZmFsc2UpLgpRdWFscyB3aXRoIHJlZHVu ZGFudCBrZXlzIHRoYXQgY291bGQgbm90IGJlIGVsaW1pbmF0ZWQgYnkgcHJlcHJvY2Vzc2luZwph bHNvIGhhZCB0aGF0IHNhbWUgcXVhbGl0eSB0byB0aGVtIHByaW9yIHRvIHRvZGF5J3MgYnVnZml4 IGYwOTgxNmEwLiAgSXQKbm93IHNlZW1zIHBydWRlbnQgdG8gYnJpbmcgcm93IGNvbXBhcmUga2V5 cyBpbiBsaW5lIHdpdGggdGhlIG5ldyBjaGFydGVyCmZvciByZXF1aXJlZCBrZXlzLCBieSBtYWtp bmcgdGhlIHN0YXJ0IGFuZCBlbmQgcnVsZXMgc3ltbWV0cmljLgoKVGhpcyBjb21taXQgZml4ZXMg dHdvIHBvaW50cyBvZiBkaXNhZ3JlZW1lbnQgYmV0d2VlbiBfYnRfZmlyc3QgYW5kCl9idF9jaGVj a19yb3djb21wYXJlLiAgRmlyc3RseSwgX2J0X2NoZWNrX3Jvd2NvbXBhcmUgd2FzIGNhcGFibGUg b2YKZW5kaW5nIHRoZSBzY2FuIGF0IHRoZSBwb2ludCB3aGVyZSBpdCBuZWVkZWQgdG8gY29tcGFy ZSBhbiBJU05VTEwtbWFya2VkCnJvdyBjb21wYXJlIG1lbWJlciB0aGF0IGNhbWUgaW1tZWRpYXRl bHkgYWZ0ZXIgYSByZXF1aXJlZCByb3cgY29tcGFyZQptZW1iZXIuICBfYnRfZmlyc3Qgbm93IGhh cyBzeW1tZXRyaWMgaGFuZGxpbmcgZm9yIE5VTEwgcm93IGNvbXBhcmVzLgpTZWNvbmRseSwgX2J0 X2ZpcnN0IGhhZCBpdHMgb3duIGlkZWFzIGFib3V0IHdoaWNoIGtleXMgd2VyZSBzYWZlIHRvIHVz ZQpmb3IgaW5pdGlhbCBwb3NpdGlvbmluZyBwdXJwb3Nlcy4gIEl0IGNvdWxkIHVzZSBmZXdlciBv ciBtb3JlIGtleXMgdGhhbgpfYnRfY2hlY2tfcm93Y29tcGFyZS4gIF9idF9maXJzdCBub3cgdXNl cyB0aGUgc2FtZSByZXF1aXJlZG5lc3MgbWFya2luZ3MKYXMgX2J0X2NoZWNrX3Jvd2NvbXBhcmUg Zm9yIHRoaXMuCgpOb3cgdGhhdCBfYnRfZmlyc3QgYW5kIF9idF9jaGVja19yb3djb21wYXJlIGFn cmVlIG9uIGhvdyB0byBzdGFydCBhbmQKZW5kIHNjYW5zLCB3ZSBjYW4gZ2V0IHJpZCBvZiB0aGUg Zm9yY2Vub25yZXF1aXJlZCBzcGVjaWFsIGNhc2UsIHdpdGhvdXQKYW55IHJpc2sgb2YgaW5maW5p dGUgY3ljbGluZy4gIFRoaXMgYXBwcm9hY2ggYWxzbyBtYWtlcyByb3cgY29tcGFyZSBrZXlzCmJl aGF2ZSBtb3JlIGxpa2UgcmVndWxhciBzY2FsYXIga2V5cywgcGFydGljdWxhcmx5IHdpdGhpbiBf YnRfZmlyc3QuCgpGaXhpbmcgdGhlc2UgaW5jb25zaXN0ZW5jaWVzIG5lY2Vzc2l0YXRlcyBkZWFs aW5nIHdpdGggYSByZWxhdGVkIGlzc3VlCndpdGggdGhlIHdheSB0aGF0IHJvdyBjb21wYXJlcyB3 ZXJlIG1hcmtlZCByZXF1aXJlZCBieSBwcmVwcm9jZXNzaW5nOiB3ZQpkaWRuJ3QgbWFyayBhbnkg bG93ZXItb3JkZXIgcm93IG1lbWJlcnMgcmVxdWlyZWQgZm9sbG93aW5nIDIwMTYgYnVnZml4CmNv bW1pdCBhMjk4YTFlMC4gIFRoYXQgYXBwcm9hY2ggd2FzIG92ZXIgYnJvYWQuICBUaGUgYnVnIGlu IHF1ZXN0aW9uIHdhcwphY3R1YWxseSBhbiBvdmVyc2lnaHQgaW4gaG93IF9idF9jaGVja19yb3dj b21wYXJlIGRlYWx0IHdpdGggdHVwbGUgTlVMTAp2YWx1ZXMgdGhhdCBmYWlsZWQgdG8gc2F0aXNm eSBhIHNjYW4ga2V5IG1hcmtlZCByZXF1aXJlZCBpbiB0aGUgb3Bwb3NpdGUKc2NhbiBkaXJlY3Rp b24gKGl0IHdhcyBhIGJ1ZyBpbiAyMDExIGNvbW1pdHMgNjk4MGY4MTcgYW5kIDg4MjM2OGU4LCBu b3QKYSBidWcgaW4gMjAwNiBjb21taXQgM2EwYTE2Y2IpLiAgR28gYmFjayB0byBtYXJraW5nIHJv dyBjb21wYXJlIG1lbWJlcnMKYXMgcmVxdWlyZWQgdXNpbmcgdGhlIG9yaWdpbmFsIDIwMDYgcnVs ZXMsIGFuZCBmaXggdGhlIDIwMTYgYnVnIGluIGEKbW9yZSBwcmluY2lwbGVkIHdheTogYnkgbGlt aXRpbmcgdXNlIG9mIHRoZSAic2V0IGNvbnRpbnVlc2Nhbj1mYWxzZSB3aXRoCmEga2V5IHJlcXVp cmVkIGluIHRoZSBvcHBvc2l0ZSBzY2FuIGRpcmVjdGlvbiB1cG9uIGVuY291bnRlcmluZyBhIE5V TEwKdHVwbGUgdmFsdWUiIG9wdGltaXphdGlvbiB0byB0aGUgZmlyc3QvbW9zdCBzaWduaWZpY2Fu dCByb3cgbWVtYmVyIGtleS4KV2hpbGUgaXQgaXNuJ3Qgc2FmZSB0byB1c2UgYW4gaW1wbGllZCBJ UyBOT1QgTlVMTCBxdWFsaWZpZXIgdG8gZW5kIHRoZQpzY2FuIHdoZW4gaXQgY29tZXMgZnJvbSBh IHJlcXVpcmVkIGxvd2VyLW9yZGVyIHJvdyBjb21wYXJlIG1lbWJlciBrZXksCml0IF9pc18gZ2Vu ZXJhbGx5IHNhZmUgZm9yIHN1Y2ggYSByZXF1aXJlZCBtZW1iZXIga2V5IHRvIGVuZCB0aGUgc2Nh biAtLQpwcm92aWRlZCB0aGUga2V5IGlzIG1hcmtlZCByZXF1aXJlZCBpbiB0aGUgX2N1cnJlbnRf IHNjYW4gZGlyZWN0aW9uLgoKVGhpcyBmaXhlcyB3aGF0IHdhcyBhcmd1YWJseSBhbiBvdmVyc2ln aHQgaW4gZWl0aGVyIGNvbW1pdCA1ZjRkOThkNCBvcgpjb21taXQgOGE1MTAyNzUuICBJdCBpcyBh IGRpcmVjdCBmb2xsb3ctdXAgdG8gdG9kYXkncyBjb21taXQgZjA5ODE2YTAuCgpBdXRob3I6IFBl dGVyIEdlb2doZWdhbiA8cGdAYm93dC5pZT4KUmV2aWV3ZWQtQnk6IEhlaWtraSBMaW5uYWthbmdh cyA8aGVpa2tpLmxpbm5ha2FuZ2FzQGlraS5maT4KRGlzY3Vzc2lvbjogaHR0cHM6Ly9wb3N0Z3Iu ZXMvbS9DQUgyLVd6PXBjaWpITF9tQTBfVEo1TGlUQjI4UXBRMGNHdFQtY2NGVj1LenV1bk5ERFFA bWFpbC5nbWFpbC5jb20KQmFja3BhdGNoLXRocm91Z2g6IDE4CgpCcmFuY2gKLS0tLS0tCm1hc3Rl cgoKRGV0YWlscwotLS0tLS0tCmh0dHBzOi8vZ2l0LnBvc3RncmVzcWwub3JnL3BnL2NvbW1pdGRp ZmYvYmQzZjU5ZmRiNzE3MjE5MjFiYjBhY2E3ZTE2ZDQ4M2Y3MmU5NTc3OQoKTW9kaWZpZWQgRmls ZXMKLS0tLS0tLS0tLS0tLS0Kc3JjL2JhY2tlbmQvYWNjZXNzL25idHJlZS9uYnRwcmVwcm9jZXNz a2V5cy5jIHwgIDE5ICstCnNyYy9iYWNrZW5kL2FjY2Vzcy9uYnRyZWUvbmJ0c2VhcmNoLmMgICAg ICAgICB8IDI0NSArKysrKysrKysrKysrKystLS0tLS0tLS0tLQpzcmMvYmFja2VuZC9hY2Nlc3Mv bmJ0cmVlL25idHV0aWxzLmMgICAgICAgICAgfCAxNTcgKysrKysrKysrLS0tLS0tLS0Kc3JjL3Rl c3QvcmVncmVzcy9leHBlY3RlZC9idHJlZV9pbmRleC5vdXQgICAgIHwgMTAxICsrKysrKysrKy0t CnNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2J0cmVlX2luZGV4LnNxbCAgICAgICAgICB8ICA2NSArKysr Ky0tCjUgZmlsZXMgY2hhbmdlZCwgMzg1IGluc2VydGlvbnMoKyksIDIwMiBkZWxldGlvbnMoLSkK Cg== --===============6866549755600075361==--