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 1wplXy-001poM-0x for pgsql-committers@arkaria.postgresql.org; Fri, 31 Jul 2026 11:37:02 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wplXw-00FoX3-2t for pgsql-committers@arkaria.postgresql.org; Fri, 31 Jul 2026 11:37:00 +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 1wplMW-00Fh7N-1Z for pgsql-committers@lists.postgresql.org; Fri, 31 Jul 2026 11:25:12 +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.98.2) (envelope-from ) id 1wplMT-00000001E9K-3lEG for pgsql-committers@lists.postgresql.org; Fri, 31 Jul 2026 11:25:11 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=postgresql.org; s=20171124; h=Date:Message-Id:Subject:To:From:MIME-Version: Content-Type:Sender:Reply-To:Cc:Content-Transfer-Encoding:Content-ID: Content-Description:In-Reply-To:References; bh=a1bCwHP8WQvPAYFddXotmm2Bu463rhUu9quRs8Ahk2M=; b=UuQR5eREzDq6SozaGqo5QM5kCV 4BDEaBtiq+eHGKELwmO9StiiGNLkreOb/25hUt44Qx7IquODQ+7efcWBoikhCiqCRmBaFDN7Oa/bh sGLPnbKtN6y2Dt3FPclo8FVD1WPQzNyAh9q0H1nkLJuROisGAahDfBhQhJnUn476s3Fd6bBVIj8pr Wj6jVqsTr3U29LgLWsnbl1hWBVx2IKTohwj5pti3GJRh1Wbf7GPcejgmCFCrQXTGsok5xCTp2kh2T +mRBGuSe0Ip1Ajh8KBBdRkzTW14aZd49KsKis8z1hZ4v+UB+vOt5K27JXkxs6Q5LpjEBjLJmf28gE kHVbdTqg==; 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.96) (envelope-from ) id 1wplMT-003pHr-24 for pgsql-committers@lists.postgresql.org; Fri, 31 Jul 2026 11:25:09 +0000 Received: from localhost ([127.0.0.1] helo=gemulon.postgresql.org) by gemulon.postgresql.org with esmtp (Exim 4.98.2) (envelope-from ) id 1wplMT-000000015Nq-1zjw for pgsql-committers@lists.postgresql.org; Fri, 31 Jul 2026 11:25:09 +0000 Content-Type: multipart/mixed; boundary="===============0164091942012813896==" MIME-Version: 1.0 From: David Rowley To: pgsql-committers@lists.postgresql.org Subject: pgsql: Fix Hash Join performance issue when hashing NULL values X-Auto-Response-Suppress: All Auto-Submitted: auto-generated Message-Id: Date: Fri, 31 Jul 2026 11:25:09 +0000 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --===============0164091942012813896== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Rml4IEhhc2ggSm9pbiBwZXJmb3JtYW5jZSBpc3N1ZSB3aGVuIGhhc2hpbmcgTlVMTCB2YWx1ZXMK CmFkZjk3YzE1NiBhbGxvd2VkIGV4cHJlc3Npb24gZXZhbHVhdGlvbiB0byBwZXJmb3JtIGhhc2hp bmcsIGFuZApzdWJzZXF1ZW50bHkgOWNhNjc2NThkIGZpeGVkIGEgbWVtb3J5IHN0b21waW5nIGJ1 ZyBpbiB0aGF0IGNvbW1pdAp0aGF0IGNhdXNlZCB1bnJlbGF0ZWQtdG8taGFzaGluZyBleHByZXNz aW9uIG9wIHN0ZXBzIHRvIHN0b21wIG9uIHRoZQppbnRlcm1lZGlhdGUgaGFzaCB2YWx1ZS4gIFRo ZSBpbnRlcm1lZGlhdGUgaGFzaCB2YWx1ZSBuZWVkcyB0byBiZQptYWludGFpbmVkIHdoZW4gaGFz aGluZyBtdWx0aXBsZSBoYXNoIGtleXMuICA5Y2E2NzY1OGQgZGlkbid0IHF1aXRlIGdldAp0aGlu Z3MgcmlnaHQgd2hlbiBpbiAic3RyaWN0IiBtb2RlIHdoZW4gaXQgYWJvcnRlZCBoYXNoaW5nIGVh cmx5IGFmdGVyCmVuY291bnRlcmluZyBhIE5VTEwgaGFzaCBrZXkuICBXaGF0IHdhcyBtZWFudCB0 byBoYXBwZW4gd2FzIHRoYXQgdGhlCmV4cHJlc3Npb24gcmV0dXJucyBOVUxMIGRpcmVjdGx5IHRv IGluZGljYXRlIHRvIHRoZSBjYWxsZXIgdGhlIHZhbHVlCmhhc2hlZCB0byBOVUxMLiAgVGhlIHBy b2JsZW0gd2FzIHRoYXQgYW55IEVFT1BfSEFTSERBVFVNX0ZJUlNUX1NUUklDVCBvcgpFRU9QX0hB U0hEQVRVTV9ORVhUMzJfU1RSSUNUIG9wIHN0ZXAgdGhhdCBkaWRuJ3QgYmVsb25nIHRvIHRoZSBm aW5hbAprZXkgdG8gYmUgaGFzaGVkIHdvdWxkIGhhdmUgaXRzIG9wLT5yZXNudWxsIGFuZCBvcC0+ cmVzdmFsdWUgcG9pbnRpbmcgdG8KdGhlIGxvY2F0aW9uIHRvIHN0b3JlIHRoZSBpbnRlcm1lZGlh dGUgaGFzaCB2YWx1ZS4gIFRoYXQncyBjb3JyZWN0IGZvcgpub24tTlVMTHMgc2luY2Ugd2UgYml0 LXJvdGF0ZSB0aGUgaW50ZXJtZWRpYXRlIHZhbHVlIGFuZCBjb250aW51ZSBoYXNoaW5nLApidXQg d2l0aCB0aGUgc3RyaWN0IGNhc2UsIHdoZW4gd2UgZ2V0IGEgTlVMTCBrZXksIHdlIGltbWVkaWF0 ZWx5IGp1bXAgdG8KdGhlICJqdW1wZG9uZSIgc3RlcC4gIFRoZSBwcm9ibGVtIGlzIHRoZSBqdW1w ZG9uZSBzdGVwIGV4cGVjdHMgdGhlCkV4cHJTdGF0ZSByZXNudWxsIGFuZCByZXN2YWx1ZSBmaWVs ZHMgdG8gYmUgc2V0IChhcyB0aGV5IHdvdWxkIGJlIGlmIHdlCmRpZG4ndCBhYm9ydCBoYXNoaW5n IGVhcmx5IGR1ZSB0byB0aGUgTlVMTCksIGJ1dCB3aGVuIHdlIGFib3J0ZWQgZWFybHksCnRoZSBF eHByU3RhdGUgZmllbGRzIG5ldmVyIGdvdCBzZXQuICBUaGlzIHdvdWxkIHJlc3VsdCBpbiBpbnNl cnRpbmcKcmVjb3JkcyBpbnRvIHRoZSBoYXNoIHRhYmxlIHRoYXQgd291bGQgbmV2ZXIgbWF0Y2gg dG8gYW55IGpvaW4gcGFydG5lciwKd2hpY2ggaXMgYSB3YXN0ZSBvZiBDUFUgYW5kIG1lbW9yeS4K CkhlcmUgd2UgZml4IHRoaXMgYnkgaGF2aW5nIEVFT1BfSEFTSERBVFVNX0ZJUlNUX1NUUklDVCBh bmQKRUVPUF9IQVNIREFUVU1fTkVYVDMyX1NUUklDVCBwb3B1bGF0ZSB0aGUgRXhwclN0YXRlIHJl c251bGwgYW5kIHJlc3ZhbHVlCmZpZWxkcyBkaXJlY3RseSB3aGVuIHRoZSB2YWx1ZSB0byBoYXNo IGlzIE5VTEwuCgpBbHRob3VnaCBIYXNoIEFnZyBhbmQgSGFzaGVkIFN1YnBsYW5zIGRvIHVzZSBo YXNoaW5nIGZyb20gRXhwclN0YXRlcywKdGhvc2Ugd2VyZSB1bmFmZmVjdGVkIGJ5IHRoaXMgYnVn LCBhcyBuZWl0aGVyIG9mIHRob3NlIHVzZXMgdGhlIFNUUklDVCBvcApzdGVwcy4KClRoYW5rcyB0 byBUb21hcyBWb25kcmEgZm9yIGZpbmRpbmcgdGhlIG9mZmVuZGluZyBjb21taXQuCgpSZXBvcnRl ZC1ieTogRGFuIFN0ZWZ1cmEgPGRzdGVmdXJhQGJsdWVjYXRuZXR3b3Jrcy5jb20+CkF1dGhvcjog RGF2aWQgUm93bGV5IDxkZ3Jvd2xleW1sQGdtYWlsLmNvbT4KRGlzY3Vzc2lvbjogaHR0cHM6Ly9w b3N0Z3IuZXMvbS9ZUUJQUjAxMDFNQjg5NzM4RkI5NzJGQkQwMkEzNjQwQzZEM0Q2QzkyQFlRQlBS MDEwMU1CODk3My5DQU5QUkQwMS5QUk9ELk9VVExPT0suQ09NCkJhY2twYXRjaC10aHJvdWdoOiAx OAoKQnJhbmNoCi0tLS0tLQpSRUxfMThfU1RBQkxFCgpEZXRhaWxzCi0tLS0tLS0KaHR0cHM6Ly9n aXQucG9zdGdyZXNxbC5vcmcvcGcvY29tbWl0ZGlmZi9mNzBhY2M4YTJiOTZlMGI1NjU4MzY3OTli NmNjYzNiYWNiYTgwNjhhCgpNb2RpZmllZCBGaWxlcwotLS0tLS0tLS0tLS0tLQpzcmMvYmFja2Vu ZC9leGVjdXRvci9leGVjRXhwckludGVycC5jIHwgOCArKysrLS0tLQpzcmMvYmFja2VuZC9qaXQv bGx2bS9sbHZtaml0X2V4cHIuYyAgIHwgOSArKysrKy0tLS0KMiBmaWxlcyBjaGFuZ2VkLCA5IGlu c2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCgo= --===============0164091942012813896==--