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-003zMr-2h 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-0018mI-Ra for pgsql-committers@arkaria.postgresql.org; Wed, 02 Jul 2025 13:52:15 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1uWxqV-0015kN-OL for pgsql-committers@lists.postgresql.org; Wed, 02 Jul 2025 13:49:56 +0000 Received: from mahout.postgresql.org ([2001:4800:3e1:1::227]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1uWxqU-005JKR-0I for pgsql-committers@lists.postgresql.org; Wed, 02 Jul 2025 13:49:55 +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-00EOY1-LJ 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-004MKj-0M for pgsql-committers@lists.postgresql.org; Wed, 02 Jul 2025 13:49:52 +0000 Content-Type: multipart/mixed; boundary="===============4318326749779525818==" 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 --===============4318326749779525818== 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 bWFpbC5nbWFpbC5jb20KQmFja3BhdGNoLXRocm91Z2g6IDE4CgpCcmFuY2gKLS0tLS0tClJFTF8x OF9TVEFCTEUKCkRldGFpbHMKLS0tLS0tLQpodHRwczovL2dpdC5wb3N0Z3Jlc3FsLm9yZy9wZy9j b21taXRkaWZmLzRjYjg4OWQyMWYzZDQwODQ0ZGQwNGZhMGZjNjVlNDg1Yzc4OWU3NGUKCk1vZGlm aWVkIEZpbGVzCi0tLS0tLS0tLS0tLS0tCnNyYy9iYWNrZW5kL2FjY2Vzcy9uYnRyZWUvbmJ0cHJl cHJvY2Vzc2tleXMuYyB8ICAxOSArLQpzcmMvYmFja2VuZC9hY2Nlc3MvbmJ0cmVlL25idHNlYXJj aC5jICAgICAgICAgfCAyNDUgKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0Kc3JjL2JhY2tlbmQv YWNjZXNzL25idHJlZS9uYnR1dGlscy5jICAgICAgICAgIHwgMTU3ICsrKysrKysrKy0tLS0tLS0t CnNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvYnRyZWVfaW5kZXgub3V0ICAgICB8IDEwMSArKysr KysrKystLQpzcmMvdGVzdC9yZWdyZXNzL3NxbC9idHJlZV9pbmRleC5zcWwgICAgICAgICAgfCAg NjUgKysrKystLQo1IGZpbGVzIGNoYW5nZWQsIDM4NSBpbnNlcnRpb25zKCspLCAyMDIgZGVsZXRp b25zKC0pCgo= --===============4318326749779525818==--