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 1vqQEL-00AVap-2m for pgsql-committers@arkaria.postgresql.org; Thu, 12 Feb 2026 06:31:15 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vqQEK-007B73-0N for pgsql-committers@arkaria.postgresql.org; Thu, 12 Feb 2026 06:31:12 +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.96) (envelope-from ) id 1vqQEJ-007B6v-2u for pgsql-committers@lists.postgresql.org; Thu, 12 Feb 2026 06:31:12 +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.98.2) (envelope-from ) id 1vqQEH-00000000GvR-3299 for pgsql-committers@lists.postgresql.org; Thu, 12 Feb 2026 06:31:12 +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=bUim8h1T58YWmxBSqp1IVklXtla7U0/+A+rovvh7JX8=; b=VwFdLPsvRGy/H516tt3FrIgudo D0jQGAWZPTuYky0LK0NLQDTmdTYK4Li7m5ZjE3LrzR6eGegXikI7dYYmtoVjaA30GJl6RB53Zi68Q +83958QQpA6VawIR8DTkHz7JthwHva6il+v15ZbS2iPIlkv5yCCgaii2zHrSBls5ibjfuu3hW/bAA P91Dl/IzkQlskDnaW0/yh2nd2lgnVWFiqSP2WiSoKFWE6RvAX3nfYUdK56FqAnDxO6avz5k/n7HRY D38Ofe9Aoc9593NEAZEhxXm8YSoSsuJ8IgB+8sqfCoA1BSf4cMqz4RrWHdgl5sWzZAj1A2rleLaGv z8Rw1ySQ==; 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 1vqQEF-000jWy-1F for pgsql-committers@lists.postgresql.org; Thu, 12 Feb 2026 06:31:08 +0000 Received: from localhost ([127.0.0.1] helo=gemulon.postgresql.org) by gemulon.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vqQEE-000KYJ-1L for pgsql-committers@lists.postgresql.org; Thu, 12 Feb 2026 06:31:07 +0000 Content-Type: multipart/mixed; boundary="===============5273056247447984642==" MIME-Version: 1.0 From: Richard Guo To: pgsql-committers@lists.postgresql.org Subject: pgsql: Reduce LEFT JOIN to ANTI JOIN using NOT NULL constraints X-Auto-Response-Suppress: All Auto-Submitted: auto-generated Message-Id: Date: Thu, 12 Feb 2026 06:31:07 +0000 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --===============5273056247447984642== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 UmVkdWNlIExFRlQgSk9JTiB0byBBTlRJIEpPSU4gdXNpbmcgTk9UIE5VTEwgY29uc3RyYWludHMK CkZvciBhIExFRlQgSk9JTiwgaWYgYW55IHZhciBmcm9tIHRoZSByaWdodC1oYW5kIHNpZGUgKFJI UykgaXMgZm9yY2VkCnRvIG51bGwgYnkgdXBwZXItbGV2ZWwgcXVhbHMgYnV0IGlzIGtub3duIHRv IGJlIG5vbi1udWxsIGZvciBhbnkKbWF0Y2hpbmcgcm93LCB0aGUgb25seSB3YXkgdGhlIHVwcGVy IHF1YWxzIGNhbiBiZSBzYXRpc2ZpZWQgaXMgaWYgdGhlCmpvaW4gZmFpbHMgdG8gbWF0Y2gsIHBy b2R1Y2luZyBhIG51bGwtZXh0ZW5kZWQgcm93LiAgVGh1cywgd2UgY2FuCnRyZWF0IHRoaXMgbGVm dCBqb2luIGFzIGFuIGFudGktam9pbi4KClByZXZpb3VzbHksIHRoaXMgdHJhbnNmb3JtYXRpb24g d2FzIGxpbWl0ZWQgdG8gY2FzZXMgd2hlcmUgdGhlIGpvaW4ncwpvd24gcXVhbHMgd2VyZSBzdHJp Y3QgZm9yIHRoZSB2YXIgZm9yY2VkIHRvIG51bGwgYnkgdXBwZXIgcXVhbCBsZXZlbHMuClRoaXMg cGF0Y2ggZXh0ZW5kcyB0aGUgbG9naWMgdG8gY2hlY2sgdGFibGUgY29uc3RyYWludHMsIGxldmVy YWdpbmcKdGhlIE5PVCBOVUxMIGF0dHJpYnV0ZSBpbmZvcm1hdGlvbiBhbHJlYWR5IGF2YWlsYWJs ZSB0aGFua3MgdG8gdGhlCmluZnJhc3RydWN0dXJlIGludHJvZHVjZWQgYnkgZTJkZWJiNjQzLiAg SWYgYSBmb3JjZWQtbnVsbCB2YXIgYmVsb25ncwp0byB0aGUgUkhTIGFuZCBpcyBkZWZpbmVkIGFz IE5PVCBOVUxMIGluIHRoZSBzY2hlbWEgKGFuZCBpcyBub3QKbnVsbGFibGUgZHVlIHRvIGxvd2Vy LWxldmVsIG91dGVyIGpvaW5zKSwgd2Uga25vdyB0aGF0IHRoZSBsZWZ0IGpvaW4KY2FuIGJlIHJl ZHVjZWQgdG8gYW4gYW50aS1qb2luLgoKTm90ZSB0aGF0IHRvIGVuc3VyZSB0aGUgdmFyIGlzIG5v dCBudWxsYWJsZSBieSBhbnkgbG93ZXItbGV2ZWwgb3V0ZXIKam9pbnMgd2l0aGluIHRoZSBjdXJy ZW50IHN1YnRyZWUsIHdlIGNvbGxlY3QgdGhlIHJlbGlkcyBvZiBiYXNlIHJlbHMKdGhhdCBhcmUg bnVsbGFibGUgd2l0aGluIGVhY2ggc3VidHJlZSBkdXJpbmcgdGhlIGZpcnN0IHBhc3Mgb2YgdGhl CnJlZHVjZS1vdXRlci1qb2lucyBwcm9jZXNzLiAgVGhpcyBhbGxvd3MgdXMgdG8gdmVyaWZ5IGlu IHRoZSBzZWNvbmQKcGFzcyB0aGF0IGEgTk9UIE5VTEwgdmFyIGlzIGluZGVlZCBzYWZlIHRvIHRy ZWF0IGFzIG5vbi1udWxsYWJsZS4KCkJhc2VkIG9uIGEgcHJvcG9zYWwgYnkgTmljb2xhcyBBZGVu aXMtTGFtYXJyZSwgYnV0IHRoaXMgaXMgbm90IHRoZQpvcmlnaW5hbCBwYXRjaC4KClN1Z2dlc3Rl ZC1ieTogTmljb2xhcyBBZGVuaXMtTGFtYXJyZSA8bmljb2xhcy5hZGVuaXMubGFtYXJyZUBnbWFp bC5jb20+CkF1dGhvcjogVGVuZGVyIFdhbmcgPHRuZHJ3YW5nQGdtYWlsLmNvbT4KQ28tYXV0aG9y ZWQtYnk6IFJpY2hhcmQgR3VvIDxndW9mZW5nbGludXhAZ21haWwuY29tPgpEaXNjdXNzaW9uOiBo dHRwczovL3Bvc3Rnci5lcy9tL0NBQ1BHYmN0S01EUDUwUHBSSDA5aW4rb1diSHRaZGFoV1Nyb1Jz dExQT29TREt3b0Zzd0BtYWlsLmdtYWlsLmNvbQoKQnJhbmNoCi0tLS0tLQptYXN0ZXIKCkRldGFp bHMKLS0tLS0tLQpodHRwczovL2dpdC5wb3N0Z3Jlc3FsLm9yZy9wZy9jb21taXRkaWZmL2NmNzQ1 NThmZWI4ZjQxYjJiYzQ1OWY1OWVkM2Y5OTEwMjRkMDQ4OTMKCk1vZGlmaWVkIEZpbGVzCi0tLS0t LS0tLS0tLS0tCnNyYy9iYWNrZW5kL29wdGltaXplci9wcmVwL3ByZXBqb2ludHJlZS5jIHwgMjA0 ICsrKysrKysrKysrKysrKysrKysrKysrKystLS0tLQpzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L2pvaW4ub3V0ICAgICAgICB8ICA2MiArKysrKysrKysKc3JjL3Rlc3QvcmVncmVzcy9zcWwvam9p bi5zcWwgICAgICAgICAgICAgfCAgMjcgKysrKwozIGZpbGVzIGNoYW5nZWQsIDI2MCBpbnNlcnRp b25zKCspLCAzMyBkZWxldGlvbnMoLSkKCg== --===============5273056247447984642==--