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-001poN-1D 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-00FoX1-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 1wplLc-00Fh5c-29 for pgsql-committers@lists.postgresql.org; Fri, 31 Jul 2026 11:24:16 +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 1wplLa-00000001E8p-3zo3 for pgsql-committers@lists.postgresql.org; Fri, 31 Jul 2026 11:24:15 +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=bv+o4ElOkM1zSDyzv/6ESIsRZydHvcNxFnEH/jsUbEU=; b=KvBgeHleB7ux8zhZoyaudG76Hs B4ooA/vbeo/W7M6ZJ5FBMa5erh3WE1rgn2Bt8I298XXjHeY/RkYlP+19Xr3+j5NZ13czMRHcx1bhQ dUL3j22XXs4YXdTwMkWiWzLqggb44DI0vMqNWWzFaEEJCa/3xwPmjZr+U98KHQtxe3eP1aexHH4Ru e2nkldTtgUrL8mMlfEa+V66Hkr5wPs4Gt7GZLd5zORGwlvg5if7WpJo2KFFlKIawbFD7ffCKqZpSs JEez0cPLPSxqtbVQjjaBFnuhu1/srMy9STU6MWQ4+58AJqNALD9N3s5w8mM1s1PIYYmkrL1xxtslC Ix6r5Lnw==; 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 1wplLa-003pGm-2a for pgsql-committers@lists.postgresql.org; Fri, 31 Jul 2026 11:24:14 +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 1wplLa-000000015KS-0H9n for pgsql-committers@lists.postgresql.org; Fri, 31 Jul 2026 11:24:14 +0000 Content-Type: multipart/mixed; boundary="===============1705357173457074359==" 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:24:14 +0000 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --===============1705357173457074359== 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 OAoKQnJhbmNoCi0tLS0tLQptYXN0ZXIKCkRldGFpbHMKLS0tLS0tLQpodHRwczovL2dpdC5wb3N0 Z3Jlc3FsLm9yZy9wZy9jb21taXRkaWZmLzYwODI2YTM1MmQ0OTdiMTVhMzBkZTI5Yjc3OTZkMGMy ZDA5N2EwZTMKCk1vZGlmaWVkIEZpbGVzCi0tLS0tLS0tLS0tLS0tCnNyYy9iYWNrZW5kL2V4ZWN1 dG9yL2V4ZWNFeHBySW50ZXJwLmMgfCA4ICsrKystLS0tCnNyYy9iYWNrZW5kL2ppdC9sbHZtL2xs dm1qaXRfZXhwci5jICAgfCA5ICsrKysrLS0tLQoyIGZpbGVzIGNoYW5nZWQsIDkgaW5zZXJ0aW9u cygrKSwgOCBkZWxldGlvbnMoLSkKCg== --===============1705357173457074359==--