Remove self join on a unique column

Edit
Title Remove self join on a unique column
Topic Performance
Created 2024-06-16 16:40:33
Last modified 2024-06-16 16:40:46 (4 weeks ago)
Latest email 2024-07-15 08:31:08 (3 hours, 8 minutes ago)
Status
2024-07: Needs review
Target version
Authors Andrei Lepikhov (lepikhov)
Reviewers Become reviewer
Committer
Links
Emails
Removing unneeded self joins
First at 2018-05-16 15:43:33 by Alexander Kuzmenkov <a.kuzmenkov at postgrespro.ru>
Latest at 2024-07-15 08:31:08 by Andrei Lepikhov <lepihov at gmail.com>
Latest attachment (v6-0001-Remove-useless-self-joins.patch) at 2024-07-15 05:31:33 from jian he <jian.universality at gmail.com>
    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-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