Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-12326

Implement multiple-table UPDATE/DELETE returning a result set

Details

    Description

      A multiple-table UPDATE first performs join operations, then it updates the matching rows.
      A multiple-table UPDATE returning a result set does the following:

      • first performs join operations
      • for each row of the result of the join it calculates some expressions over the columns of the join and forms from them a row of the returned result set
      • after this it updates the matching rows

      A multiple-table DELETE first performs join operations, then it deletes the matching rows.
      A multiple-table DELETE returning a result set does the following:

      • first performs join operations
      • for each row of the result of the join it calculates some expressions over the columns of the join and forms from them a row of the returned result set
      • after this it deletes the matching rows

      Attachments

        Issue Links

          Activity

            igor Igor Babaev (Inactive) created issue -
            Jabbar_Memon Jabbar Memon added a comment -

            hi is this issue is assign to anyone or it is by default it is assign...

            Jabbar_Memon Jabbar Memon added a comment - hi is this issue is assign to anyone or it is by default it is assign...
            igor Igor Babaev (Inactive) added a comment - - edited

            Hi Jabbar,

            No, this task is open for any student.

            igor Igor Babaev (Inactive) added a comment - - edited Hi Jabbar, No, this task is open for any student.
            marko Marko Mäkelä made changes -
            Field Original Value New Value
            serg Sergei Golubchik made changes -
            Labels gsoc17 gsoc17 gsoc18
            shubham95 Shubham Tomar made changes -
            Comment [ Hi,

            My name is Shubham and I'm a final computers science and Engineering student at KIIT University.

            I have previously worked at Amazon as an SDE(Intern) for 6 months.

            I would like to work on this project as a part of GSoC '18.
            Where and How can I begin? ]
            shubham95 Shubham Tomar added a comment -

            Hi,

            My name is Shubham Tomar and I'm a final Computer Science and Engineering student at KIIT University, India.

            I have previously worked at Amazon India Development Centre as an SDE(Intern) for 6 months.

            I would like to work on this project as a part of GSoC '18.
            Where and How can I begin?

            shubham95 Shubham Tomar added a comment - Hi, My name is Shubham Tomar and I'm a final Computer Science and Engineering student at KIIT University, India. I have previously worked at Amazon India Development Centre as an SDE(Intern) for 6 months. I would like to work on this project as a part of GSoC '18. Where and How can I begin?

            You could check how MDEV-3814 was implemented. There's also a related MDEV-5092, still open.

            But as far as this one is concerned, see how mutli-table UPDATE/DELETE work. Take a look at select_result class — this is what SELECT uses to send results to the client. And multi_delete and multi_update classes.

            serg Sergei Golubchik added a comment - You could check how MDEV-3814 was implemented. There's also a related MDEV-5092 , still open. But as far as this one is concerned, see how mutli-table UPDATE/DELETE work. Take a look at select_result class — this is what SELECT uses to send results to the client. And multi_delete and multi_update classes.
            ratzpo Rasmus Johansson (Inactive) made changes -
            Labels gsoc17 gsoc18 gsoc17 gsoc18 gsoc19
            serg Sergei Golubchik made changes -
            igor Igor Babaev (Inactive) made changes -
            igor Igor Babaev (Inactive) made changes -
            danblack Daniel Black made changes -
            serg Sergei Golubchik made changes -
            serg Sergei Golubchik made changes -
            cvicentiu Vicențiu Ciorbaru made changes -
            Labels gsoc17 gsoc18 gsoc19 gsoc17 gsoc18 gsoc19 gsoc20
            KhaledEmaraDev Khaled Emara added a comment -

            Hi,

            I'm Khaled from Egypt. I'm interested in participating in GSoC this year. Any reason this project hasn't been picked up the previous years? Seems like it garnered enough attention from students. Did Google refuse the proposals?

            Anyways, so to clarify: This project is about implementing the RETURNING statement for multiple tables UPDATE/DELETE? Or rather implement the the UPDATE/DELETE itself with - of course - RETURNING?

            I have downloaded and built MariaDB server. Is there any qualification tasks?

            KhaledEmaraDev Khaled Emara added a comment - Hi, I'm Khaled from Egypt. I'm interested in participating in GSoC this year. Any reason this project hasn't been picked up the previous years? Seems like it garnered enough attention from students. Did Google refuse the proposals? Anyways, so to clarify: This project is about implementing the RETURNING statement for multiple tables UPDATE/DELETE ? Or rather implement the the UPDATE/DELETE itself with - of course - RETURNING ? I have downloaded and built MariaDB server. Is there any qualification tasks?

            Hi Khaled,
            A student tried to implement this for GSoc19, but the attempt was not successful though the task was not harder than INSERT ... RETURNING (see MDEV-10014) that was implemented by another student and finally incorporated into MariaDB. You can look at the implementation of MDEV-10014 to figure out how much work it would be to implement UPDATE ... RETURNING.

            igor Igor Babaev (Inactive) added a comment - Hi Khaled, A student tried to implement this for GSoc19, but the attempt was not successful though the task was not harder than INSERT ... RETURNING (see MDEV-10014 ) that was implemented by another student and finally incorporated into MariaDB. You can look at the implementation of MDEV-10014 to figure out how much work it would be to implement UPDATE ... RETURNING.
            Mohammed Mateen Mohammed Hammaad Mateen added a comment - - edited

            Greetings! I'm Hammaad, it is really interesting to know how MDEV-10014 was implemented, thank you @Igor Babaev for the information, I'd like to receive some more hints on this topic if available, as it will help me and Khaled as well.
            Moreover I would love to contribute to solve this requirement.
            Thanks

            Mohammed Mateen Mohammed Hammaad Mateen added a comment - - edited Greetings! I'm Hammaad, it is really interesting to know how MDEV-10014 was implemented, thank you @Igor Babaev for the information, I'd like to receive some more hints on this topic if available, as it will help me and Khaled as well. Moreover I would love to contribute to solve this requirement. Thanks

            Hi Hammaad,
            Have you built MariaDB server from the tree git@github.com:MariaDB/server.git?
            If so, have you checked in debugger how INSERT ... RETURNING works?

            igor Igor Babaev (Inactive) added a comment - Hi Hammaad, Have you built MariaDB server from the tree git@github.com:MariaDB/server.git? If so, have you checked in debugger how INSERT ... RETURNING works?

            Greetings! Yes, I've built the Awesome Maria DB server. Working on MDEV-14558 currently, once done will surely look upon MDEV-10014.

            Mohammed Mateen Mohammed Hammaad Mateen added a comment - Greetings! Yes, I've built the Awesome Maria DB server. Working on MDEV-14558 currently, once done will surely look upon MDEV-10014 .
            serg Sergei Golubchik made changes -
            Assignee Igor Babaev [ igor ] Sergei Golubchik [ serg ]
            ralf.gebhardt Ralf Gebhardt made changes -
            Fix Version/s 10.6 [ 24028 ]
            ralf.gebhardt Ralf Gebhardt made changes -
            Fix Version/s 10.6 [ 24028 ]
            serg Sergei Golubchik made changes -
            Workflow MariaDB v3 [ 80072 ] MariaDB v4 [ 130617 ]
            bar Alexander Barkov made changes -
            bar Alexander Barkov made changes -

            People

              serg Sergei Golubchik
              igor Igor Babaev (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              12 Start watching this issue

              Dates

                Created:
                Updated:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.