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 1wwV4r-0020qA-00 for pgsql-committers@arkaria.postgresql.org; Wed, 19 Aug 2026 01:26:49 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wwV3p-000eoC-2b for pgsql-committers@arkaria.postgresql.org; Wed, 19 Aug 2026 01:25:46 +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 1wwV3W-000dPL-1V for pgsql-committers@lists.postgresql.org; Wed, 19 Aug 2026 01:25:27 +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 1wwV3U-000000002H1-2OVO for pgsql-committers@lists.postgresql.org; Wed, 19 Aug 2026 01:25:27 +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=dsYk3p/Oz8TM7Q8QetFXGjr//KVU4gVD/Px67WFPLgg=; b=fdUa40ncVPyDZDQs7WbUFhBAA9 GmKt4/HQTFnw6RCuYwpqvb55nwpgFnsv7j7MGWD0h0BT+XIw7YPN1gZ/H9Z3ZXOrFZTgFBBrOWgK3 Mx1TpupJAtXgM8omhzHvC3M+gWuXp8aoYGRqa0lfnkOqhCbHrC/y0h+H4/9eyblOvHmUxuXI5vpAS 0ag/XrIjk913Kn/CmuGAopz+70NxirsXtePrgmZxg6a/JLPIqnLL9aHotlbbkdiSvvRbQxhwyZ6Mx oXgzRlQ5uoOBoakOBltNWG2BNjOYTrQpkU+vOvoGyJ2RkRy4axOFlAJFQH6AfZhQ4zzv8JdOTQEnZ c282AIvQ==; 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 1wwV3T-0040kg-08 for pgsql-committers@lists.postgresql.org; Wed, 19 Aug 2026 01:25:23 +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 1wwV3R-000000018cL-1ThM for pgsql-committers@lists.postgresql.org; Wed, 19 Aug 2026 01:25:22 +0000 Content-Type: multipart/mixed; boundary="===============1350915823503872499==" MIME-Version: 1.0 From: Richard Guo To: pgsql-committers@lists.postgresql.org Subject: pgsql: Reduce FULL JOIN to ANTI JOIN X-Auto-Response-Suppress: All Auto-Submitted: auto-generated Message-Id: Date: Wed, 19 Aug 2026 01:25:22 +0000 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --===============1350915823503872499== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 UmVkdWNlIEZVTEwgSk9JTiB0byBBTlRJIEpPSU4KCnJlZHVjZV9vdXRlcl9qb2lucygpIGFscmVh ZHkgcmVjb2duaXplcyB0aGF0IGEgTEVGVCBKT0lOIGlzIHJlYWxseSBhbgphbnRpLWpvaW4gd2hl biBhbiB1cHBlciBxdWFsIGZvcmNlcyBhIG51bGxhYmxlLXNpZGUgVmFyIHRvIGJlIE5VTEwgYnV0 CnRoYXQgVmFyIGlzIHByb3ZhYmx5IG5vbi1udWxsIGluIGV2ZXJ5IHJvdyB0aGUgbnVsbGFibGUg c2lkZSBlbWl0cy4KT25seSBudWxsLWV4dGVuZGVkIHJvd3MgY2FuIHRoZW4gc2F0aXNmeSB0aGUg cXVhbCwgc28gdGhlIG1hdGNoZWQgcm93cwphbGwgZHJvcCBvdXQgYW5kIEpPSU5fTEVGVCBiZWNv bWVzIEpPSU5fQU5USS4KClRoZSBzYW1lIHJlYXNvbmluZyBhcHBsaWVzIHRvIGEgRlVMTCBKT0lO LiAgSWYgYSBmb3JjZWQtbnVsbCBWYXIgb24Kb25lIHNpZGUgaXMgcHJvdmVuIG5vbi1udWxsLCBl dmVyeSByb3cgd2hlcmUgdGhhdCBzaWRlIGlzIHByZXNlbnQsCm1hdGNoZWQgb3Igbm90LCBoYXMg dGhlIFZhciBub24tbnVsbCBhbmQgaXMgZHJvcHBlZCBieSB0aGUgcXVhbC4gIE9ubHkKdGhlIHJv d3Mgd2hlcmUgdGhhdCBzaWRlIHdhcyBudWxsLWV4dGVuZGVkIHN1cnZpdmUsIHdoaWNoIGlzIGFu CmFudGktam9pbiB0aGF0IGtlZXBzIHRoZSBvdGhlciBzaWRlJ3MgdW5tYXRjaGVkIHJvd3MuCgpX aGVuIHRoZSBwcm92ZW4gVmFyIGlzIG9uIHRoZSBSSFMsIHRoZSBzdXJ2aXZpbmcgTEhTIHJvd3Mg YXJlIGFscmVhZHkKdGhlIGxlZnQgaW5wdXQsIHNvIHRoaXMgaXMgYSBwbGFpbiBKT0lOX0FOVEku ICBXaGVuIGl0IGlzIG9uIHRoZSBMSFMsCnRoZSBzdXJ2aXZpbmcgUkhTIHJvd3MgbXVzdCBiZWNv bWUgdGhlIGxlZnQgaW5wdXQsIHNvIHdlIHRhZyB0aGUgam9pbgpKT0lOX1JJR0hUX0FOVEkgYW5k IGxldCB0aGUgZXhpc3RpbmcgaW5wdXQtc3dpdGNoaW5nIHN0ZXAsIHRoZSBvbmUKdGhhdCBmbGlw cyBKT0lOX1JJR0hUIHRvIEpPSU5fTEVGVCwgbm9ybWFsaXplIGl0IHRvIEpPSU5fQU5USS4gIFVu bGlrZQp0aGUgTEVGVCBKT0lOIGNhc2UsIHRoZSBqb2luJ3Mgb3duIE9OIHF1YWxzIGNhbm5vdCBz ZXJ2ZSBhcyBwcm9vZgpoZXJlLCBiZWNhdXNlIHRoZXkgZG8gbm90IGhvbGQgZm9yIHRoZSB1bm1h dGNoZWQgcm93cyB0aGUgcHJvb2YgbXVzdApjb3Zlci4KClJlZHVjaW5nIHRoZSBmdWxsIGpvaW4g dGhpcyB3YXkgYWxzbyBsZXRzIHF1YWwgY29uc3RyYWludHMgcmVhY2ggaXRzCmlucHV0cy4gIHJl ZHVjZV9vdXRlcl9qb2luc19wYXNzMigpIHBhc3NlcyBub3RoaW5nIGRvd24gdGhyb3VnaCBhCkpP SU5fRlVMTCwgYnV0IGl0IGRvZXMgcGFzcyB0aGUgam9pbidzIG93biBxdWFscyBkb3duIHRocm91 Z2ggdGhlCnJlc3VsdGluZyBKT0lOX0FOVEksIHNvIG91dGVyIGpvaW5zIGJlbG93IGl0IGNhbiBu b3cgYmUgcmVkdWNlZCB0b28uClRoYXQgaXMgc291bmQgZm9yIHRoZSBzYW1lIHJlYXNvbiBpdCBp cyBmb3IgYW55IGFudGktam9pbjogYSByb3cgdGhhdAphIGxvd2VyIGpvaW4gbnVsbC1leHRlbmRz IGNhbm5vdCBzYXRpc2Z5IHRob3NlIHF1YWxzLCBzbyBpdCBjYW4gbmV2ZXIKbWF0Y2gsIGFuZCBy ZW1vdmluZyBpdCBkb2VzIG5vdCBjaGFuZ2Ugd2hpY2ggcm93cyB0aGUgYW50aS1qb2luIGVtaXRz LgoKVGhlIHByb29mIHRoYXQgYSBmb3JjZWQtbnVsbCBWYXIgaXMgbm9uLW51bGwsIGZyb20gdGhl IHF1YWxzIHRoYXQgaG9sZApmb3IgZXZlcnkgcm93IGEgc3VidHJlZSBlbWl0cyAob3B0aW9uYWxs eSBwbHVzIGV4dHJhIHF1YWxzIHRoZSBjYWxsZXIKc3VwcGxpZXMpIG9yIGZyb20gYSBOT1QgTlVM TCBjb25zdHJhaW50LCBpcyBmYWN0b3JlZCBpbnRvCmZvcmNlZF9udWxsX3Zhcl9pc19ub25udWxs YWJsZSgpIGFuZCBzaGFyZWQgYnkgdGhlIExFRlQgYW5kIEZVTEwKcGF0aHMuCgpBdXRob3I6IFJp Y2hhcmQgR3VvIDxndW9mZW5nbGludXhAZ21haWwuY29tPgpSZXZpZXdlZC1ieTogd2VuaHVpIHFp dSA8cWl1d2VuaHVpZnhAZ21haWwuY29tPgpEaXNjdXNzaW9uOiBodHRwczovL3Bvc3Rnci5lcy9t L0NBTWJXczQ5SDlraGYrMUd3eXpEMFRZYWtzNmNFLU9VKzFtYlVpT24zZ1pTb0JpTzd6Z0BtYWls LmdtYWlsLmNvbQoKQnJhbmNoCi0tLS0tLQptYXN0ZXIKCkRldGFpbHMKLS0tLS0tLQpodHRwczov L2dpdC5wb3N0Z3Jlc3FsLm9yZy9wZy9jb21taXRkaWZmLzJjZTVhNTdiYzBkOTNjNmIxNGY3Y2Q1 ZWE1ZWIxMDVhOTg3YmQ0NmYKCk1vZGlmaWVkIEZpbGVzCi0tLS0tLS0tLS0tLS0tCnNyYy9iYWNr ZW5kL29wdGltaXplci9wcmVwL3ByZXBqb2ludHJlZS5jIHwgMTU5ICsrKysrKysrKysrKysrLS0t LS0tCnNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvam9pbi5vdXQgICAgICAgIHwgMjM2ICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrKwpzcmMvdGVzdC9yZWdyZXNzL3NxbC9qb2luLnNxbCAg ICAgICAgICAgICB8ICA3NyArKysrKysrKysrCjMgZmlsZXMgY2hhbmdlZCwgNDI5IGluc2VydGlv bnMoKyksIDQzIGRlbGV0aW9ucygtKQoK --===============1350915823503872499==--