Remove self join on a unique column

Edit
Title Remove self join on a unique column
Topic Performance
Created 2018-07-02 16:28:46
Last modified 2023-10-25 10:02:10 (4 months, 3 weeks ago)
Latest email 2023-10-23 11:29:15 (4 months, 3 weeks ago)
Status
2023-11: Committed
2023-09: Moved to next CF
2023-07: Moved to next CF
2023-03: Moved to next CF
2023-01: Moved to next CF
2022-11: Moved to next CF
2022-09: Moved to next CF
2022-07: Moved to next CF
2022-03: Moved to next CF
2022-01: Moved to next CF
2021-11: Moved to next CF
2021-09: Moved to next CF
2021-07: Moved to next CF
2021-03: Moved to next CF
2021-01: Moved to next CF
2020-11: Moved to next CF
2020-09: Moved to next CF
2020-07: Moved to next CF
2020-03: Moved to next CF
2020-01: Moved to next CF
2019-11: Moved to next CF
2019-09: Moved to next CF
2019-07: Moved to next CF
2019-03: Moved to next CF
2019-01: Moved to next CF
2018-11: Moved to next CF
2018-09: Moved to next CF
Target version
Authors Konstantin Knizhnik (knizhnik), Alexander Kuzmenkov (akuzmenkov), Andrei Lepikhov (lepikhov)
Reviewers Alena Rybakina (a.rybakina)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 2023-10-23 11:29:15 by Alexander Korotkov <aekorotkov at gmail.com>
Latest attachment (0001-Remove-useless-self-joins-v48.patch) at 2023-10-23 11:29:15 from Alexander Korotkov <aekorotkov at gmail.com>
    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
2023-10-25 10:02:10 Alexander Korotkov (smagen) Closed in commitfest 2023-11 with status: Committed
2023-10-25 10:02:10 Alexander Korotkov (smagen) Changed committer to smagen
2023-10-19 19:13:19 Alena Rybakina (a.rybakina) Added a.rybakina as reviewer
2023-10-02 17:36:00 Peter Eisentraut (petere) Closed in commitfest 2023-09 with status: Moved to next CF
2023-10-02 17:35:51 Peter Eisentraut (petere) Changed reviewers to
2023-08-02 07:39:15 Daniel Gustafsson (d_gustafsson) Closed in commitfest 2023-07 with status: Moved to next CF
2023-07-04 07:42:16 Daniel Gustafsson (d_gustafsson) New status: Needs review
2023-04-03 20:30:32 Greg Stark (stark) Closed in commitfest 2023-03 with status: Moved to next CF
2023-02-16 22:39:17 David Rowley (davidrowley) Removed davidrowley from reviewers
2023-01-31 16:42:24 vigneshwaran C (vignesh.postgres) Closed in commitfest 2023-01 with status: Moved to next CF
2022-12-08 14:08:27 Ian Barwick (barwick) Closed in commitfest 2022-11 with status: Moved to next CF
2022-12-07 18:29:03 Andres Freund (andresfreund) New status: Waiting on Author
2022-10-12 07:02:18 Michael Paquier (michael-kun) Closed in commitfest 2022-09 with status: Moved to next CF
2022-08-01 16:49:36 Jacob Champion (jchampion) Closed in commitfest 2022-07 with status: Moved to next CF
2022-06-30 15:31:51 Ronan Dunklau (rdunklau) Added rdunklau as reviewer
2022-04-08 14:05:41 Greg Stark (stark) Closed in commitfest 2022-03 with status: Moved to next CF
2022-04-04 09:03:17 Andrei Lepikhov (lepikhov) New status: Needs review
2022-04-01 15:28:01 Greg Stark (stark) New status: Waiting on Author
2022-03-24 05:23:07 Andrei Lepikhov (lepikhov) New status: Needs review
2022-03-22 00:58:49 Andres Freund (andresfreund) New status: Waiting on Author
2022-02-02 16:29:51 Julien Rouhaud (rjuju) Closed in commitfest 2022-01 with status: Moved to next CF
2021-12-02 11:12:04 Daniel Gustafsson (d_gustafsson) Closed in commitfest 2021-11 with status: Moved to next CF
2021-10-05 16:30:59 Jaime Casanova (jcasanov) Closed in commitfest 2021-09 with status: Moved to next CF
2021-10-05 16:30:47 Jaime Casanova (jcasanov) Added jcasanov as reviewer
2021-08-03 02:26:48 Masahiko Sawada (masahikosawada) Closed in commitfest 2021-07 with status: Moved to next CF
2021-07-15 14:50:33 Andrei Lepikhov (lepikhov) New status: Needs review
2021-07-15 12:05:27 vigneshwaran C (vignesh.postgres) New status: Waiting on Author
2021-04-08 15:41:25 David Steele (dsteele) Closed in commitfest 2021-03 with status: Moved to next CF
2021-03-12 09:05:06 Hywel Carver (hywel) Posted review with messageid <161553990603.28624.7702383984090736980.pgcf@coridan.postgresql.org>
2021-02-01 12:33:02 Masahiko Sawada (masahikosawada) Closed in commitfest 2021-01 with status: Moved to next CF
2021-01-11 04:07:53 Andrei Lepikhov (lepikhov) New status: Needs review
2020-12-01 14:09:54 Anastasia Lubennikova (lubennikovaav) New status: Waiting on Author
2020-12-01 14:09:46 Anastasia Lubennikova (lubennikovaav) Closed in commitfest 2020-11 with status: Moved to next CF
2020-12-01 14:09:42 Anastasia Lubennikova (lubennikovaav) New status: Needs review
2020-11-29 17:17:44 Heikki Linnakangas (heikki) New status: Waiting on Author
2020-11-27 10:40:13 Andrei Lepikhov (lepikhov) New status: Needs review
2020-09-30 06:56:09 Michael Paquier (michael-kun) New status: Waiting on Author
2020-09-30 06:56:01 Michael Paquier (michael-kun) Closed in commitfest 2020-09 with status: Moved to next CF
2020-09-30 06:55:59 Michael Paquier (michael-kun) New status: Needs review
2020-09-23 04:23:50 David Rowley (davidrowley) New status: Waiting on Author
2020-09-21 22:16:38 David Rowley (davidrowley) Added davidrowley as reviewer
2020-08-03 08:46:10 Daniel Gustafsson (d_gustafsson) Closed in commitfest 2020-07 with status: Moved to next CF
2020-08-02 21:13:15 David Rowley (davidrowley) Removed davidrowley from reviewers
2020-04-08 15:29:51 David Steele (dsteele) Closed in commitfest 2020-03 with status: Moved to next CF
2020-04-03 04:44:12 Andrei Lepikhov (lepikhov) New status: Needs review
2020-04-01 15:35:08 David Steele (dsteele) New status: Waiting on Author
2020-02-01 12:50:07 Tomas Vondra (fuzzycz) Closed in commitfest 2020-01 with status: Moved to next CF
2019-11-30 02:18:39 Michael Paquier (michael-kun) Closed in commitfest 2019-11 with status: Moved to next CF
2019-11-05 18:21:48 Andrei Lepikhov (lepikhov) Changed authors to Konstantin Knizhnik (knizhnik), Alexander Kuzmenkov (akuzmenkov), Andrey Lepikhov (lepikhov)
2019-09-30 18:55:30 Álvaro Herrera (alvherre) Closed in commitfest 2019-09 with status: Moved to next CF
2019-08-01 23:55:00 Thomas Munro (macdice) Closed in commitfest 2019-07 with status: Moved to next CF
2019-04-03 12:27:44 Alexander Kuzmenkov (akuzmenkov) Closed in commitfest 2019-03 with status: Moved to next CF
2019-04-03 12:27:33 Alexander Kuzmenkov (akuzmenkov) New status: Needs review
2019-03-20 22:55:18 David Rowley (davidrowley) Added davidrowley as reviewer
2019-03-17 11:09:20 David Rowley (davidrowley) New status: Waiting on Author
2019-02-01 12:40:43 Alexander Kuzmenkov (akuzmenkov) Closed in commitfest 2019-01 with status: Moved to next CF
2018-11-29 12:23:49 Alexander Kuzmenkov (akuzmenkov) Closed in commitfest 2018-11 with status: Moved to next CF
2018-10-02 01:18:02 Michael Paquier (michael-kun) Closed in commitfest 2018-09 with status: Moved to next CF
2018-07-02 16:29:07 Alexander Kuzmenkov (akuzmenkov) Changed authors to Alexander Kuzmenkov (akuzmenkov)
2018-07-02 16:28:47 Alexander Kuzmenkov (akuzmenkov) Attached mail thread 64486b0b-0404-e39e-322d-0801154901f3@postgrespro.ru
2018-07-02 16:28:46 Alexander Kuzmenkov (akuzmenkov) Created patch record
Edit