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 1x020z-004PTa-21 for pgsql-committers@arkaria.postgresql.org; Fri, 28 Aug 2026 19:13:25 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1x020y-008yP9-1Q for pgsql-committers@arkaria.postgresql.org; Fri, 28 Aug 2026 19:13:24 +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 1x020t-008xBq-1E for pgsql-committers@lists.postgresql.org; Fri, 28 Aug 2026 19:13:19 +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 1x020p-00000002tEC-0BbW for pgsql-committers@lists.postgresql.org; Fri, 28 Aug 2026 19:13:18 +0000 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 1x020o-008keZ-2N for pgsql-committers@lists.postgresql.org; Fri, 28 Aug 2026 19:13: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 1x020n-00000002XCt-0q6E for pgsql-committers@lists.postgresql.org; Fri, 28 Aug 2026 19:13:14 +0000 Content-Type: multipart/mixed; boundary="===============0939610781327113826==" MIME-Version: 1.0 From: Tom Lane To: pgsql-committers@lists.postgresql.org Subject: pgsql: Perform join removal by editing the query's jointree. X-Auto-Response-Suppress: All Auto-Submitted: auto-generated Message-Id: Date: Fri, 28 Aug 2026 19:13:14 +0000 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --===============0939610781327113826== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 UGVyZm9ybSBqb2luIHJlbW92YWwgYnkgZWRpdGluZyB0aGUgcXVlcnkncyBqb2ludHJlZS4KCmFu YWx5emVqb2lucy5jIGRlY2lkZWQgd2hpY2ggam9pbnMgY291bGQgYmUgZHJvcHBlZCBieSBjb25z dWx0aW5nIHRoZQpwbGFubmVyJ3MgZGVyaXZlZCBkYXRhIHN0cnVjdHVyZXMsIGJ1dCB0aGVuIGlt cGxlbWVudGVkIHRoZSByZW1vdmFsCmJ5IHVwZGF0aW5nIHRob3NlIHN0cnVjdHVyZXMgaW4tcGxh Y2UuICBUaGF0IGlzIGEgbG90IG9mIGZpZGRseSB3b3JrLAphbmQgbm90aGluZyBrZWVwcyBpdCBp biBzdGVwIHdpdGggdGhlIHJlc3Qgb2YgdGhlIHBsYW5uZXI6CnJlbW92ZV9sZWZ0am9pbnJlbF9m cm9tX3F1ZXJ5IG9ubHkgYm90aGVyZWQgdG8gdXBkYXRlICJwYXJ0cyBvZiB0aGUKcGxhbm5lcidz IGRhdGEgc3RydWN0dXJlcyB0aGF0IHdpbGwgYWN0dWFsbHkgYmUgY29uc3VsdGVkIGxhdGVyIiwg d2l0aApubyBnb29kIHdheSB0byBrbm93IHdoYXQgdGhvc2UgYXJlLiAgQnVnICMxOTU2MCBpcyBv bmUgY29uc2VxdWVuY2UuCkluIHRoYXQgcmVwb3J0LCByZW1vdmluZyBhIGpvaW4gbGVhdmVzIGFu IEVxdWl2YWxlbmNlQ2xhc3MgdGhhdCBub3cKZ2l2ZXMgcmlzZSB0byBhIGJhc2UgcmVzdHJpY3Rp b24gY2xhdXNlLCBidXQgYmFzZSByZXN0cmljdGlvbiBjbGF1c2VzCmhhdmUgYWxyZWFkeSBiZWVu IGdlbmVyYXRlZCBhbmQgbm90aGluZyByZWNvbnNpZGVycyB0aGVtLCBzbyB0aGUgV0hFUkUKY29u ZGl0aW9uIGRpc2FwcGVhcnMgZnJvbSB0aGUgcGxhbiBhbmQgd2UgcmV0dXJuIHdyb25nIGFuc3dl cnMuCgpUaGUgc2VsZi1qb2luIGVsaW1pbmF0aW9uIGNvZGUgaGFzIHRoZSBzYW1lIGRlc2lnbiBh bmQgdGhlIHNhbWUgdHlwZQpvZiBoYXphcmQuICBXZSBoYXZlIHNlZW4gbWFueSByZWxhdGVkIGJ1 Z3Mgb3ZlciB0aGUgeWVhcnMgdG9vLCBzbyBpdCdzCnRpbWUgdG8gZG8gc29tZXRoaW5nIGRyYXN0 aWMuCgpUbyBmaXgsIGRvIHRoZSByZW1vdmFscyBieSBlZGl0aW5nIHJvb3QtPnBhcnNlLT5qb2lu dHJlZSAod2hpY2ggaXMgYQpmYXIgc2ltcGxlciBhbmQgbW9yZSBzdGFibGUgcmVwcmVzZW50YXRp b24gdGhhbiB0aGUgZGVyaXZlZCBkYXRhKSwKYW5kIHRoZW4gaGF2ZSBxdWVyeV9wbGFubmVyKCkg ZGlzY2FyZCBldmVyeXRoaW5nIGl0IGNvbXB1dGVkIGZyb20gdGhlCmpvaW50cmVlIGFuZCBkZXJp dmUgaXQgb3ZlciBhZ2Fpbi4gIFRoaXMgcmVxdWlyZXMgcXVpdGUgYSBiaXQgbGVzcwpjb2RlLCBh bmQgZG9lc24ndCByZXF1aXJlIHRvdWNoaW5nIGFuYWx5emVqb2lucy5jIGV2ZXJ5IHRpbWUgd2Ug Y2hhbmdlCnRoZSBkYXRhIGRlcml2ZWQgYnkgcXVlcnlfcGxhbm5lcigpLiAgRm9yIHR5cGljYWwg Y2FzZXMgaXQgY2FuIGFjdHVhbGx5CnNhdmUgYSBiaXQgb2YgcGxhbm5pbmcgdGltZSwgdGhvdWdo IGluIGNhc2VzIHdoZXJlIHdlIGhhdmUgdG8gaXRlcmF0ZQp0aGUgZGVyaXZhdGlvbiBsb29wIG1h bnkgdGltZXMgaXQgZG9lcyBhZGQgc29tZSB0aW1lLgoKcmVkdWNlX3VuaXF1ZV9zZW1pam9pbnMo KSBnZXRzIHRoZSBzYW1lIHRyZWF0bWVudDogcmF0aGVyIHRoYW4gZGVsZXRpbmcKdGhlIHNlbWlq b2luJ3MgU3BlY2lhbEpvaW5JbmZvIGFuZCByZWx5aW5nIG9uIHRoZSBqb2ludHJlZSBub3QgYmVp bmcKY29uc3VsdGVkIGFnYWluLCBpdCBub3cgY2hhbmdlcyB0aGUgSm9pbkV4cHIncyBqb2ludHlw ZSB0byBKT0lOX0lOTkVSCmFuZCByZWNhbGN1bGF0ZXMgZXZlcnl0aGluZy4KClNvbWUgcGxhbnMg Y2hhbmdlIGluIHRoZSBqb2luIHJlZ3Jlc3Npb24gdGVzdC4gIFF1YWwgZXZhbHVhdGlvbiBvcmRl cgpzaGlmdHMgaW4gYSBmZXcgY2FzZXMsIGJlY2F1c2UgdGhlIGNvbmRpdGlvbnMgbm93IHJlYWNo IGxhdGVyIHBsYW5uaW5nCmluIGpvaW50cmVlIG9yZGVyIHJhdGhlciB0aGFuIGluIHdoYXRldmVy IG9yZGVyIHRoZSByZW1vdmFsIGNvZGUKcmUtZGlzdHJpYnV0ZWQgdGhlbS4gIEEgZmV3IHBsYW5z IGltcHJvdmUsIHNpbmNlIHRoZSByZWJ1aWx0IHJlbGF0aW9uCnRhcmdldGxpc3RzIG5vIGxvbmdl ciBjYXJyeSBjb2x1bW5zIHRoYXQgb25seSBhIHJlbW92ZWQgam9pbiBuZWVkZWQuCldlIGFsc28g ZGV0ZWN0IGEgY29uc3RhbnQtZmFsc2UgZmlsdGVyIGNvbmRpdGlvbiB3aG9zZSB0ZXN0IHVzZWQg dG8KY2FycnkgYSBGSVhNRSBsYWJlbC4gIE9uZSBwbGFuIGdldHMgbWFyZ2luYWxseSB3b3JzZSwg YmVjYXVzZSB0aGUgb2xkCmNvZGUgcmVjb21wdXRlZCBhdHRyX25lZWRlZCBmcm9tIGVxdWl2YWxl bmNlIGNsYXNzZXMgYWZ0ZXIgYSBqb2luCnJlbW92YWw7IHRoYXQgaXMgbW9yZSBhY2N1cmF0ZSB0 aGFuIHdoYXQgZGVjb25zdHJ1Y3Rfam9pbnRyZWUoKQpkZXJpdmVzIGZyb20gdGhlIG9yaWdpbmFs IGNsYXVzZXMsIGJ1dCB3ZSBubyBsb25nZXIgZG8gdGhhdC4gIE1ha2luZwp0aGF0IHJlY29tcHV0 YXRpb24gaGFwcGVuIGFueXdheSBjb3VsZCBiZSB3b3J0aCBkb2luZywgYnV0IGl0IHNob3VsZApi ZSBjb25zaWRlcmVkIGluZGVwZW5kZW50bHkgYW5kIHBlcmhhcHMgaW1wbGVtZW50ZWQgZGlmZmVy ZW50bHkuCgpCYWNrLXBhdGNoIHRvIHYxNiwgb24gdGhlIGdyb3VuZHMgdGhhdCB0aGUgaW50cm9k dWN0aW9uIG9mCnZhcm51bGxpbmdyZWxzIGluIHYxNiBtYWRlIHRoZSBvbGQgYXBwcm9hY2ggc2ln bmlmaWNhbnRseSBtb3JlIGNvbXBsZXgKYW5kIGJ1Zy1wcm9uZTsgbm90YWJseSwgYnVnICMxOTU2 MCBkb2VzIG5vdCBtYW5pZmVzdCBiZWZvcmUgdjE2LgpJbiByZWxlYXNlZCBicmFuY2hlcywgZG8g bm90IHJlbW92ZSBleHRlcm5hbGx5LXZpc2libGUgZml4dXAKZnVuY3Rpb25zIHN1Y2ggYXMgcmVt b3ZlX2pvaW5fY2xhdXNlX2Zyb21fcmVscywgaW4gY2FzZSBhbnkKZXh0ZW5zaW9ucyBhcmUgcmVs eWluZyBvbiB0aGVtOyBidXQgdGhleSdyZSBubyBsb25nZXIgdXNlZCBieSBjb3JlCmNvZGUuICBC dXQgd2UgbXVzdCBub25ldGhlbGVzcyBicmVhayBBUEkvQUJJIGZvciByZW1vdmVfdXNlbGVzc19q b2lucywKcmVkdWNlX3VuaXF1ZV9zZW1pam9pbnMsIGFuZCByZW1vdmVfdXNlbGVzc19zZWxmX2pv aW5zLCBhcyB0aG9zZSBub3cKaGF2ZSBkaWZmZXJlbnQgb3V0cHV0cyBhbmQgdmVyeSBkaWZmZXJl bnQgYmVoYXZpb3IgdGhhbiBiZWZvcmUuCkl0IHNlZW1zIHVubGlrZWx5IHRoYXQgYW55IGV4dGVu c2lvbnMgYXJlIGNhbGxpbmcgdGhvc2U7IGJ1dCBqdXN0IGluCmNhc2UsIG1ha2UgdGhlIGJyZWFr YWdlIG1vcmUgb2J2aW91cyBieSByZW5hbWluZyByZW1vdmVfdXNlbGVzc19qb2lucwp0byByZW1v dmVfdXNlbGVzc19vdXRlcl9qb2lucywgd2hpY2ggaXMgYSBtb3JlIHNlbnNpYmxlIG5hbWUgZm9y IGl0CmFueXdheSBzaW5jZSB0aGUgYWRkaXRpb24gb2YgcmVtb3ZlX3VzZWxlc3Nfc2VsZl9qb2lu cy4KCkZ1bGwgZGlzY2xvc3VyZTogaW5pdGlhbCBkcmFmdHMgb2YgdGhpcyBwYXRjaCB3ZXJlIG1h ZGUgd2l0aApDbGF1ZGUgT3B1cyA0LjguCgpCdWc6ICMxOTU2MApSZXBvcnRlZC1ieTogT3Jlc3Rp cyBNYXJrb3UgPG9yZXN0aXNAb3Jlc3Rpcy5ncj4KQXV0aG9yOiBUb20gTGFuZSA8dGdsQHNzcy5w Z2gucGEudXM+ClJldmlld2VkLWJ5OiBSaWNoYXJkIEd1byA8Z3VvZmVuZ2xpbnV4QGdtYWlsLmNv bT4KUmV2aWV3ZWQtYnk6IFRob20gQnJvd24gPHRob21AbGludXguY29tPgpSZXZpZXdlZC1ieTog SmFjb2IgQnJhemVhbCA8amFjb2IuYnJhemVhbEBnbWFpbC5jb20+CkRpc2N1c3Npb246IGh0dHBz Oi8vcG9zdGdyLmVzL20vMTE4NjgxNi4xNzg0NTczNTQ0QHNzcy5wZ2gucGEudXMKQmFja3BhdGNo LXRocm91Z2g6IDE2CgpCcmFuY2gKLS0tLS0tClJFTF8xOV9TVEFCTEUKCkRldGFpbHMKLS0tLS0t LQpodHRwczovL2dpdC5wb3N0Z3Jlc3FsLm9yZy9wZy9jb21taXRkaWZmLzBhYjkwYTVjOTQxODhh YjBhMjExM2UzNmM3M2YwOTNmNzQxMTI5YzEKCk1vZGlmaWVkIEZpbGVzCi0tLS0tLS0tLS0tLS0t CnNyYy9iYWNrZW5kL29wdGltaXplci9wYXRoL2VxdWl2Y2xhc3MuYyAgIHwgICA1MSArLQpzcmMv YmFja2VuZC9vcHRpbWl6ZXIvcGxhbi9hbmFseXplam9pbnMuYyB8IDE4NzggKysrKysrKysrKy0t LS0tLS0tLS0tLS0tLS0tLS0Kc3JjL2JhY2tlbmQvb3B0aW1pemVyL3BsYW4vaW5pdHNwbGFuLmMg ICAgfCAgMTg1ICstLQpzcmMvYmFja2VuZC9vcHRpbWl6ZXIvcGxhbi9wbGFubWFpbi5jICAgICB8 ICAgOTggKy0Kc3JjL2JhY2tlbmQvb3B0aW1pemVyL3BsYW4vcGxhbm5lci5jICAgICAgfCAgIDE4 ICstCnNyYy9iYWNrZW5kL29wdGltaXplci91dGlsL2pvaW5pbmZvLmMgICAgIHwgICAzNiAtCnNy Yy9iYWNrZW5kL29wdGltaXplci91dGlsL3BsYWNlaG9sZGVyLmMgIHwgICAyNyAtCnNyYy9iYWNr ZW5kL3Jld3JpdGUvcmV3cml0ZU1hbmlwLmMgICAgICAgIHwgIDEwOSArLQpzcmMvaW5jbHVkZS9u b2Rlcy9wcmltbm9kZXMuaCAgICAgICAgICAgICB8ICAgIDQgKwpzcmMvaW5jbHVkZS9vcHRpbWl6 ZXIvam9pbmluZm8uaCAgICAgICAgICB8ICAgIDMgLQpzcmMvaW5jbHVkZS9vcHRpbWl6ZXIvcGF0 aHMuaCAgICAgICAgICAgICB8ICAgIDIgLQpzcmMvaW5jbHVkZS9vcHRpbWl6ZXIvcGxhY2Vob2xk ZXIuaCAgICAgICB8ICAgIDEgLQpzcmMvaW5jbHVkZS9vcHRpbWl6ZXIvcGxhbm1haW4uaCAgICAg ICAgICB8ICAgMTQgKy0Kc3JjL2luY2x1ZGUvcmV3cml0ZS9yZXdyaXRlTWFuaXAuaCAgICAgICAg fCAgIDE5IC0Kc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9qb2luLm91dCAgICAgICAgfCAgMTU5 ICsrLQpzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Jvd3NlY3VyaXR5Lm91dCB8ICAgMTEgKwpz cmMvdGVzdC9yZWdyZXNzL3NxbC9qb2luLnNxbCAgICAgICAgICAgICB8ICAgNTggKy0Kc3JjL3Rl c3QvcmVncmVzcy9zcWwvcm93c2VjdXJpdHkuc3FsICAgICAgfCAgICA0ICsKc3JjL3Rvb2xzL3Bn aW5kZW50L3R5cGVkZWZzLmxpc3QgICAgICAgICAgfCAgICAxIC0KMTkgZmlsZXMgY2hhbmdlZCwg MTAwNSBpbnNlcnRpb25zKCspLCAxNjczIGRlbGV0aW9ucygtKQoK --===============0939610781327113826==--