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-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-00FoXH-2u 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 1wplM1-00Fh7B-0f for pgsql-committers@lists.postgresql.org; Fri, 31 Jul 2026 11:24:41 +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 1wplLz-00000001E9E-2PI3 for pgsql-committers@lists.postgresql.org; Fri, 31 Jul 2026 11:24:40 +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=fSESwhGL7MqcF7ihQ7gA9OCr0DE38U+A6Cs0PZtWGQw=; b=NYen71Fe3awEaAssIsqQ4chJ2X F+3pFSOBPlfQGAIoCL4UMvK510dw3n7L3AGguz/R+e/hCB/F7mqnSjuERPSq/TolVLf0T56QOjoax 6LeLss93m8KdErbpcok3MpDF43u0U9REnQLqLKdDVo23zFQFh6pYOAI6r89PUEE2kgEMa3EdomWj6 +UjqbmBtCXAK6yGRXGCORzLiqoyP5+V+zof6G4oTkRbRF53MTx8JiYxAPonjKsdhYdj5/MmLQL503 GA55udeEUrSTJ0oIySharTbXoZU/B2asaIhdwQzc9k+jz17xCqaTziUpuvjUU4Or+s4AeO7kl0Ug4 /+gU0vHA==; 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 1wplLz-003pHN-13 for pgsql-committers@lists.postgresql.org; Fri, 31 Jul 2026 11:24:39 +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 1wplLz-000000015MK-0fhP for pgsql-committers@lists.postgresql.org; Fri, 31 Jul 2026 11:24:39 +0000 Content-Type: multipart/mixed; boundary="===============7978879034846032678==" 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:39 +0000 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --===============7978879034846032678== 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 OAoKQnJhbmNoCi0tLS0tLQpSRUxfMTlfU1RBQkxFCgpEZXRhaWxzCi0tLS0tLS0KaHR0cHM6Ly9n aXQucG9zdGdyZXNxbC5vcmcvcGcvY29tbWl0ZGlmZi9hNzFhMzQ4ZWQxZTA4MWQzYmQzMmYwYjFm OWMxNzdmNDRmOWE4MjJhCgpNb2RpZmllZCBGaWxlcwotLS0tLS0tLS0tLS0tLQpzcmMvYmFja2Vu ZC9leGVjdXRvci9leGVjRXhwckludGVycC5jIHwgOCArKysrLS0tLQpzcmMvYmFja2VuZC9qaXQv bGx2bS9sbHZtaml0X2V4cHIuYyAgIHwgOSArKysrKy0tLS0KMiBmaWxlcyBjaGFuZ2VkLCA5IGlu c2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCgo= --===============7978879034846032678==--