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-004PTb-1g 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-008yP6-1P 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-008xDN-2G 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-00000002tEK-37TP 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 1x020p-008keY-1V for pgsql-committers@lists.postgresql.org; Fri, 28 Aug 2026 19:13:15 +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-00000002XCr-0lpe for pgsql-committers@lists.postgresql.org; Fri, 28 Aug 2026 19:13:14 +0000 Content-Type: multipart/mixed; boundary="===============3112015437764292484==" 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 --===============3112015437764292484== 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 LXRocm91Z2g6IDE2CgpCcmFuY2gKLS0tLS0tCm1hc3RlcgoKRGV0YWlscwotLS0tLS0tCmh0dHBz Oi8vZ2l0LnBvc3RncmVzcWwub3JnL3BnL2NvbW1pdGRpZmYvMmViZjI1ZTdkNzBhOGZjZTMxYWNl NzhkNzIzZmE5MjcxYWI4YWY3MgoKTW9kaWZpZWQgRmlsZXMKLS0tLS0tLS0tLS0tLS0Kc3JjL2Jh Y2tlbmQvb3B0aW1pemVyL3BhdGgvZXF1aXZjbGFzcy5jICAgfCAgIDUxICstCnNyYy9iYWNrZW5k L29wdGltaXplci9wbGFuL2FuYWx5emVqb2lucy5jIHwgMTg3OCArKysrKysrKysrLS0tLS0tLS0t LS0tLS0tLS0tLQpzcmMvYmFja2VuZC9vcHRpbWl6ZXIvcGxhbi9pbml0c3BsYW4uYyAgICB8ICAx ODUgKy0tCnNyYy9iYWNrZW5kL29wdGltaXplci9wbGFuL3BsYW5tYWluLmMgICAgIHwgICA5OCAr LQpzcmMvYmFja2VuZC9vcHRpbWl6ZXIvcGxhbi9wbGFubmVyLmMgICAgICB8ICAgMTggKy0Kc3Jj L2JhY2tlbmQvb3B0aW1pemVyL3V0aWwvam9pbmluZm8uYyAgICAgfCAgIDM2IC0Kc3JjL2JhY2tl bmQvb3B0aW1pemVyL3V0aWwvcGxhY2Vob2xkZXIuYyAgfCAgIDI3IC0Kc3JjL2JhY2tlbmQvcmV3 cml0ZS9yZXdyaXRlTWFuaXAuYyAgICAgICAgfCAgMTA5ICstCnNyYy9pbmNsdWRlL25vZGVzL3By aW1ub2Rlcy5oICAgICAgICAgICAgIHwgICAgNCArCnNyYy9pbmNsdWRlL29wdGltaXplci9qb2lu aW5mby5oICAgICAgICAgIHwgICAgMyAtCnNyYy9pbmNsdWRlL29wdGltaXplci9wYXRocy5oICAg ICAgICAgICAgIHwgICAgMiAtCnNyYy9pbmNsdWRlL29wdGltaXplci9wbGFjZWhvbGRlci5oICAg ICAgIHwgICAgMSAtCnNyYy9pbmNsdWRlL29wdGltaXplci9wbGFubWFpbi5oICAgICAgICAgIHwg ICAxNCArLQpzcmMvaW5jbHVkZS9yZXdyaXRlL3Jld3JpdGVNYW5pcC5oICAgICAgICB8ICAgMTkg LQpzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2pvaW4ub3V0ICAgICAgICB8ICAxNTkgKystCnNy Yy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcm93c2VjdXJpdHkub3V0IHwgICAxMSArCnNyYy90ZXN0 L3JlZ3Jlc3Mvc3FsL2pvaW4uc3FsICAgICAgICAgICAgIHwgICA1OCArLQpzcmMvdGVzdC9yZWdy ZXNzL3NxbC9yb3dzZWN1cml0eS5zcWwgICAgICB8ICAgIDQgKwpzcmMvdG9vbHMvcGdpbmRlbnQv dHlwZWRlZnMubGlzdCAgICAgICAgICB8ICAgIDEgLQoxOSBmaWxlcyBjaGFuZ2VkLCAxMDA1IGlu c2VydGlvbnMoKyksIDE2NzMgZGVsZXRpb25zKC0pCgo= --===============3112015437764292484==--