Remove self join on a unique column

Edit
ID 5043
Title Remove self join on a unique column
Topic Performance
Created 2024-06-16 16:40:33
Last modified 2024-10-07 08:45:30 (1 month ago)
Latest email 2024-10-28 21:18:27 (1 week, 2 days ago)
Status
2024-11: Needs review
2024-09: Moved to next CF
2024-07: Moved to next CF
Target version
Authors Andrei Lepikhov (lepikhov)
Reviewers Dean Rasheed (deanr)Become reviewer
Committer
Links CFbot results (CirrusCI) CFbot GitHub
Checkout latest CFbot patchset Go to your local checkout of the PostgreSQL repository and run:
git remote add commitfest https://github.com/postgresql-cfbot/postgresql.git
git fetch commitfest cf/5043
git checkout commitfest/cf/5043
Emails
Removing unneeded self joins
First at 2018-05-16 15:43:33 by Alexander Kuzmenkov <a.kuzmenkov at postgrespro.ru>
Latest at 2024-10-28 21:18:27 by Alexander Korotkov <aekorotkov at gmail.com>
Latest attachment (v10-0001-Remove-useless-self-joins.patch) at 2024-10-28 21:18:27 from Alexander Korotkov <aekorotkov at gmail.com>
    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
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
Edit