Remove self join on a unique column

Log in to edit
ID 5043
Title Remove self join on a unique column
CI (CFBot) Summary
Stats (from CFBot) Patch version: v1, Patch count: 1, First patch: +53−28, All patches: +53−28
Tags Performance
Created 2024-06-16 16:40:33
Last modified 2025-02-24 14:25:39 (1 year ago)
Latest email 2025-04-07 13:11:55 (1 year ago)
Status
2025-03 (2025-03-01 – 2025-04-08): Committed
2025-01 (2025-01-01 – 2025-01-31): Moved to different CF
2024-11 (2024-11-01 – 2024-11-30): Moved to different CF
2024-09 (2024-09-01 – 2024-09-30): Moved to different CF
2024-07 (2024-07-01 – 2024-07-31): Moved to different CF
Target version
Authors Andrei Lepikhov (lepikhov)
Reviewers Dean Rasheed (deanr) Log in to become reviewer
Committer Alexander Korotkov (smagen)
Links
Emails
Removing unneeded self joins
First at 2018-05-16 15:43:33 by Alexander Kuzmenkov <a.kuzmenkov at postgrespro.ru>
Latest at 2025-04-07 13:11:55 by Alexander Korotkov <aekorotkov at gmail.com>
Latest attachment (0001-Put-enable_self_join_elimination-into-postgresql.con.patch) at 2025-04-06 04:02:38 from Tender Wang <tndrwang at gmail.com>
    Attachment (0001-Put-enable_self_join_elimination-into-postgresql.con.patch) at 2025-04-06 04:02:38 from Tender Wang <tndrwang at gmail.com> (Patch: Yes)
    Attachment (v2-0001-Disallow-removing-placeholders-during-Self-Join-E.patch) at 2025-04-05 10:09:23 from Alexander Korotkov <aekorotkov at gmail.com> (Patch: Yes)
    Attachment (v1-0001-Disallow-removing-placeholders-during-Self-Join-E.patch) at 2025-04-03 16:02:16 from Alexander Korotkov <aekorotkov at gmail.com> (Patch: Yes)
    Attachment (avoid-expensive-function-indxpath.patch) at 2025-03-21 17:06:13 from Ranier Vilela <ranier.vf at gmail.com> (Patch: Yes)
    Attachment (v2-0001-Get-rid-of-ojrelid-local-variable-in-remove_rel_f.patch) at 2025-02-26 12:12:30 from Alexander Korotkov <aekorotkov at gmail.com> (Patch: Yes)
    Attachment (v1-0001-Get-rid-of-ojrelid-local-variable-in-remove_rel_f.patch) at 2025-02-23 21:15:35 from Alexander Korotkov <aekorotkov at gmail.com> (Patch: Yes)
    Attachment (v14-0001-Implement-Self-Join-Elimination.patch) at 2025-02-15 09:19:42 from Alexander Korotkov <aekorotkov at gmail.com> (Patch: No)
    Attachment (v13-0001-Implement-Self-Join-Elimination.patch) at 2025-02-12 23:00:41 from Alexander Korotkov <aekorotkov at gmail.com> (Patch: No)
    Attachment (self-join-removal.diff) at 2025-02-11 15:31:33 from Alena Rybakina <a.rybakina at postgrespro.ru> (Patch: Yes)
    Attachment (v12-0001-Remove-useless-self-joins.patch) at 2025-02-10 19:58:54 from Alexander Korotkov <aekorotkov at gmail.com> (Patch: No)
    Attachment (comment.diff) at 2025-02-10 05:19:49 from Andrei Lepikhov <lepihov at gmail.com> (Patch: Yes)
    Attachment (v11-0001-Remove-useless-self-joins.patch) at 2025-02-09 11:41:10 from Alexander Korotkov <aekorotkov at gmail.com> (Patch: No)
    Attachment (v10-0001-Remove-useless-self-joins.patch) at 2025-01-31 04:57:46 from Andrei Lepikhov <lepihov at gmail.com> (Patch: No)
    Attachment (v9-0001-Remove-useless-self-joins.patch) at 2025-01-10 03:13:52 from Alexander Korotkov <aekorotkov at gmail.com> (Patch: No)
    Attachment (v8-0001-Remove-useless-self-joins.patch) at 2024-12-23 08:25:32 from Andrei Lepikhov <lepihov at gmail.com> (Patch: No)
    Attachment (v10-0001-Remove-useless-self-joins.patch) at 2024-10-28 21:18:27 from Alexander Korotkov <aekorotkov at gmail.com> (Patch: Yes)
    Attachment (v9-0001-Remove-useless-self-joins.patch) at 2024-10-28 09:32:50 from Andrei Lepikhov <lepihov at gmail.com> (Patch: Yes)
    Attachment (v8-0001-Remove-useless-self-joins.patch) at 2024-10-08 03:54:02 from Andrei Lepikhov <lepihov at gmail.com> (Patch: Yes)
    Attachment (v7-0001-Remove-useless-self-joins.patch) at 2024-07-20 11:38:48 from Alexander Korotkov <aekorotkov at gmail.com> (Patch: Yes)
    Attachment (unknown_filename) at 2024-07-16 14:26:40 from Вардан Погосян <vardan.pogosyn at yandex.ru> (Patch: No)
    Attachment (v6-0001-Remove-useless-self-joins.patch) at 2024-07-15 05:31:33 from jian he <jian.universality at gmail.com> (Patch: Yes)
    Attachment (v4-0002-Apply-SJE-to-DML-queries-2.patch) at 2024-07-12 03:05:15 from Andrei Lepikhov <lepihov at gmail.com> (Patch: Yes)
    Attachment (v5-0002-refactor-comments-in-remove_self_joins_one_group.patch) at 2024-07-11 07:43:00 from jian he <jian.universality at gmail.com> (Patch: Yes)
    Attachment (v4-0001-Remove-useless-self-joins.patch) at 2024-07-09 06:06:10 from Andrei Lepikhov <lepihov at gmail.com> (Patch: Yes)
    Attachment (v3-0002-make-SJE-to-apply-DML-MERGE-UPDATE-INSERT-DELETE.patch) at 2024-07-02 00:25:00 from jian he <jian.universality at gmail.com> (Patch: Yes)
    Attachment (v2-0002-make-SJE-to-apply-DML.patch) at 2024-06-17 00:00:00 from jian he <jian.universality at gmail.com> (Patch: Yes)
    Attachment (0001-Remove-useless-self-joins-v49.patch) at 2024-06-13 03:45:38 from Andrei Lepikhov <a.lepikhov at postgrespro.ru> (Patch: Yes)
    Attachment (v2-0002-Minor-refactoring-for-self-join-elimination-code.patch) at 2024-05-02 23:04:40 from Alexander Korotkov <aekorotkov at gmail.com> (Patch: Yes)
    Attachment (v1-0001-Fix-bogus-lateral-dependency-after-self-join-removal.patch) at 2024-05-02 13:14:20 from Richard Guo <guofenglinux at gmail.com> (Patch: Yes)
    Attachment (0001-Forbid-self-join-elimination-on-table-sampling-scans.patch) at 2024-05-02 09:44:54 from Andrei Lepikhov <a.lepikhov at postgrespro.ru> (Patch: Yes)
    Attachment (sje_tablesample.patch) at 2024-05-01 11:59:58 from Alexander Korotkov <aekorotkov at gmail.com> (Patch: Yes)
    Attachment (sje_skip_cross_lateral_vars.patch) at 2024-04-30 10:20:54 from Alexander Korotkov <aekorotkov at gmail.com> (Patch: Yes)
    Attachment (v1-0001-Replace-lateral-references-to-removed-rels-in-subqueries.patch) at 2024-02-21 07:26:57 from Richard Guo <guofenglinux at gmail.com> (Patch: Yes)
    Attachment (0001-Replace-relids-in-lateral-subquery-target-list-du-v2.patch) at 2024-02-19 05:24:09 from Andrei Lepikhov <a.lepikhov at postgrespro.ru> (Patch: Yes)
    Attachment (0001-Replace-relids-in-lateral-subquery-target-list-du-v1.patch) at 2024-02-18 16:18:21 from Alexander Korotkov <aekorotkov at gmail.com> (Patch: Yes)
    Attachment (quickfix.diff) at 2023-12-29 09:58:11 from Andrei Lepikhov <a.lepikhov at postgrespro.ru> (Patch: Yes)
    Attachment (0001-Remove-useless-self-joins-v48.patch) at 2023-10-23 11:29:15 from Alexander Korotkov <aekorotkov at gmail.com> (Patch: Yes)
    Attachment (0001-Remove-useless-self-joins-v47.patch) at 2023-10-23 09:47:53 from Alexander Korotkov <aekorotkov at gmail.com> (Patch: Yes)
    Attachment (minor_changes.diff) at 2023-10-23 03:43:13 from Andrei Lepikhov <a.lepikhov at postgrespro.ru> (Patch: Yes)
    Attachment (0001-Remove-useless-self-joins-v46.patch) at 2023-10-21 22:01:49 from Alexander Korotkov <aekorotkov at gmail.com> (Patch: Yes)
    Attachment (0001-Remove-useless-self-joins-v45.patch) at 2023-10-18 18:50:37 from Alexander Korotkov <aekorotkov at gmail.com> (Patch: Yes)
    Attachment (iterative_elimination.diff) at 2023-10-16 08:28:13 from Andrei Lepikhov <a.lepikhov at postgrespro.ru> (Patch: Yes)
    Attachment (minor-changes-v44.diff) at 2023-10-13 02:55:13 from Andrei Lepikhov <a.lepikhov at postgrespro.ru> (Patch: Yes)
    Attachment (0001-Remove-useless-self-joins-v44.patch) at 2023-10-12 11:32:27 from Alexander Korotkov <aekorotkov at gmail.com> (Patch: Yes)
    Attachment (self-join-removal.diff) at 2023-10-10 19:29:58 from Alena Rybakina <lena.ribackina at yandex.ru> (Patch: Yes)
    Attachment (check_attnotnull.diff) at 2023-10-05 09:17:08 from Andrei Lepikhov <a.lepikhov at postgrespro.ru> (Patch: Yes)
    Attachment (v43-0001-Remove-self-joins.patch) at 2023-09-12 11:49:05 from Andrey Lepikhov <a.lepikhov at postgrespro.ru> (Patch: Yes)
    Attachment (v41-v42-delta.txt) at 2023-07-05 14:28:59 from Andrey Lepikhov <a.lepikhov at postgrespro.ru> (Patch: Yes)
    Attachment (v41-0001-Remove-self-joins.patch) at 2023-06-30 10:50:19 from Andrey Lepikhov <a.lepikhov at postgrespro.ru> (Patch: Yes)
    Attachment (v40-0001-Remove-self-joins.patch) at 2023-05-25 09:40:35 from Andrey Lepikhov <a.lepikhov at postgrespro.ru> (Patch: Yes)
    Attachment (v39-0001-Remove-self-joins.patch) at 2022-12-16 06:45:30 from Andrey Lepikhov <a.lepikhov at postgrespro.ru> (Patch: Yes)
    Attachment (v38-0001-Remove-self-joins.patch) at 2022-10-05 12:25:18 from Andrey Lepikhov <a.lepikhov at postgrespro.ru> (Patch: Yes)
    Attachment (v37-0001-Remove-self-joins.patch) at 2022-08-29 05:05:29 from Andrey Lepikhov <a.lepikhov at postgrespro.ru> (Patch: Yes)
    Attachment (v36-0001-Remove-self-joins.patch) at 2022-08-26 12:22:08 from Andrey Lepikhov <a.lepikhov at postgrespro.ru> (Patch: Yes)
    Attachment (v35-0001-Remove-self-joins.patch) at 2022-06-30 14:11:51 from Andrey Lepikhov <a.lepikhov at postgrespro.ru> (Patch: Yes)
    Attachment (v34-0001-Remove-self-joins.patch) at 2022-05-19 10:48:18 from Andrey Lepikhov <a.lepikhov at postgrespro.ru> (Patch: Yes)
    Attachment (v33-0001-Remove-self-joins.patch) at 2022-05-13 05:07:47 from Andrey Lepikhov <a.lepikhov at postgrespro.ru> (Patch: Yes)
    Attachment (v32-0001-Remove-self-joins.patch) at 2022-04-04 08:27:45 from "Andrey V. Lepikhov" <a.lepikhov at postgrespro.ru> (Patch: Yes)
    Attachment (v31-0001-Remove-self-joins.patch) at 2022-03-24 05:21:54 from "Andrey V. Lepikhov" <a.lepikhov at postgrespro.ru> (Patch: Yes)
    Attachment (v30-0001-Remove-self-joins.patch) at 2022-03-04 10:47:47 from Andrey Lepikhov <a.lepikhov at postgrespro.ru> (Patch: Yes)
    Attachment (select_nonoptimize1.sql) at 2022-03-01 00:09:49 from Jaime Casanova <jcasanov at systemguards.com.ec> (Patch: No)
    Attachment (v29-0001-Remove-self-joins.patch) at 2021-07-27 05:34:30 from "Andrey V. Lepikhov" <a.lepikhov at postgrespro.ru> (Patch: Yes)
    Attachment (v28-0001-Remove-self-joins.patch) at 2021-07-15 14:49:11 from Andrey Lepikhov <a.lepikhov at postgrespro.ru> (Patch: Yes)
    Attachment (equivclass.patch) at 2021-05-27 06:51:23 from "Andrey V. Lepikhov" <a.lepikhov at postgrespro.ru> (Patch: Yes)
    Attachment (v26-0001-Remove-self-joins.patch) at 2021-05-07 07:23:00 from Andrey Lepikhov <a.lepikhov at postgrespro.ru> (Patch: Yes)
    Attachment (v25_1-0001-Remove-self-joins.patch) at 2021-01-11 04:07:15 from "Andrey V. Lepikhov" <a.lepikhov at postgrespro.ru> (Patch: Yes)
    Attachment (v25-0001-Remove-self-joins.patch) at 2020-11-30 05:50:57 from "Andrey V. Lepikhov" <a.lepikhov at postgrespro.ru> (Patch: Yes)
    Attachment (v24-0001-Remove-self-joins.patch) at 2020-10-31 09:26:29 from "Andrey V. Lepikhov" <a.lepikhov at postgrespro.ru> (Patch: Yes)
    Attachment (0001-Remove-Self-Joins-v.23.patch) at 2020-04-03 04:43:41 from Andrey Lepikhov <a.lepikhov at postgrespro.ru> (Patch: No)
    Attachment (0001-Remove-self-joins-v.22.patch) at 2020-01-28 04:10:07 from Andrey Lepikhov <a.lepikhov at postgrespro.ru> (Patch: Yes)
    Attachment (0001-Remove-self-joins-v21.patch) at 2019-11-05 18:20:28 from Andrey Lepikhov <a.lepikhov at postgrespro.ru> (Patch: Yes)
    Attachment (0001-Remove-self-joins-v20.patch) at 2019-09-30 08:29:44 from Konstantin Knizhnik <k.knizhnik at postgrespro.ru> (Patch: Yes)
    Attachment (0001-Remove-self-joins-20.patch) at 2019-09-27 16:38:00 from Konstantin Knizhnik <k.knizhnik at postgrespro.ru> (Patch: Yes)
    Attachment (0001-Remove-self-joins-v19.patch) at 2019-08-07 16:23:34 from Konstantin Knizhnik <k.knizhnik at postgrespro.ru> (Patch: Yes)
    Attachment (0001-Remove-self-joins-v18.patch) at 2019-08-05 11:24:52 from Andrey Lepikhov <a.lepikhov at postgrespro.ru> (Patch: Yes)
    Attachment (0001-Remove-Self-Joins-v17.patch) at 2019-06-27 06:42:05 from Andrey Lepikhov <a.lepikhov at postgrespro.ru> (Patch: Yes)
    Attachment (0001-Remove-self-joins-v16.patch) at 2019-05-13 16:21:24 from Alexander Kuzmenkov <a.kuzmenkov at postgrespro.ru> (Patch: Yes)
    Attachment (v15-0001-Remove-self-joins.patch) at 2019-03-25 15:13:24 from Alexander Kuzmenkov <a.kuzmenkov at postgrespro.ru> (Patch: Yes)
    Attachment (v14-remove-unique-self-joins.patch) at 2019-03-25 04:07:33 from David Rowley <david.rowley at 2ndquadrant.com> (Patch: Yes)
    Attachment (v13-0001-Remove-unique-self-joins.patch) at 2019-03-22 14:39:40 from Alexander Kuzmenkov <a.kuzmenkov at postgrespro.ru> (Patch: Yes)
    Attachment (v12-0001-Remove-unique-self-joins.patch) at 2019-03-20 12:20:35 from Alexander Kuzmenkov <a.kuzmenkov at postgrespro.ru> (Patch: Yes)
    Attachment (v11-0001-Remove-self-joins-on-a-unique-column.patch) at 2019-02-28 14:09:34 from Alexander Kuzmenkov <a.kuzmenkov at postgrespro.ru> (Patch: Yes)
    Attachment (0001-Remove-self-joins-v10.patch) at 2019-02-22 00:25:12 from Tom Lane <tgl at sss.pgh.pa.us> (Patch: Yes)
    Attachment (0001-Remove-self-joins-v9.patch) at 2018-12-24 16:28:01 from Alexander Kuzmenkov <a.kuzmenkov at postgrespro.ru> (Patch: Yes)
    Attachment (remove-self-join-v7.patch) at 2018-11-21 12:54:20 from Alexander Kuzmenkov <a.kuzmenkov at postgrespro.ru> (Patch: Yes)
    Attachment (remove-self-join-v6.patch) at 2018-10-18 12:47:09 from Alexander Kuzmenkov <a.kuzmenkov at postgrespro.ru> (Patch: Yes)
    Attachment (remove-self-joins-v5.patch) at 2018-10-08 14:52:21 from Alexander Kuzmenkov <a.kuzmenkov at postgrespro.ru> (Patch: Yes)
    Attachment (0001-Remove-unique-self-joins-v4.patch) at 2018-08-03 16:49:47 from Alexander Kuzmenkov <a.kuzmenkov at postgrespro.ru> (Patch: Yes)
    Attachment (0001-Remove-unique-self-joins-v3.patch) at 2018-07-27 12:26:03 from Alexander Kuzmenkov <a.kuzmenkov at postgrespro.ru> (Patch: Yes)
    Attachment (0002-Remove-unique-self-joins-v2.patch) at 2018-06-25 15:26:28 from Alexander Kuzmenkov <a.kuzmenkov at postgrespro.ru> (Patch: Yes)
    Attachment (remove-self-join-v1.patch) at 2018-05-16 15:43:33 from Alexander Kuzmenkov <a.kuzmenkov at postgrespro.ru> (Patch: Yes)
History
When Who What
2025-02-24 14:25:39 Alexander Korotkov (smagen) Closed in commitfest 2025-03 with status: Committed
2025-02-24 14:25:39 Alexander Korotkov (smagen) Changed committer to smagen
2025-02-23 21:31:40 CFbot Patch does not need rebase anymore
2025-02-19 11:02:37 CFbot Patch needs rebase
2025-02-06 08:00:20 Andrei Lepikhov (lepikhov) Closed in commitfest 2025-01 with status: Moved to next CF
2024-12-02 13:28:24 Dmitry Dolgov (erthalion) Closed in commitfest 2024-11 with status: Moved to next CF
2024-10-07 08:45:30 Andrei Lepikhov (lepikhov) Closed in commitfest 2024-09 with status: Moved to next CF
2024-08-01 06:07:14 Corey Huinker (coreyh) Closed in commitfest 2024-07 with status: Moved to next CF
2024-07-24 11:13:40 Dean Rasheed (deanr) Added deanr as reviewer
2024-06-16 16:40:46 Alexander Korotkov (smagen) Changed authors to Andrei Lepikhov (lepikhov)
2024-06-16 16:40:33 Alexander Korotkov (smagen) Attached mail thread 64486b0b-0404-e39e-322d-0801154901f3@postgrespro.ru
2024-06-16 16:40:33 Alexander Korotkov (smagen) Created patch record
Log in to edit