Details

    • 10.2.2-3, 10.2.2-1, 10.2.2-2, 10.2.2-4, 10.1.18

    Description

      In addition to FOR loops on explicitly declared cursors (MDEV-10581), we'll implement FOR loops for implicit cursors.

      The SQL query for the implicit cursor is declared directly inside the FOR loop:

      DROP TABLE IF EXISTS t1;
      CREATE TABLE t1 (a INT, b INT);
      INSERT INTO t1 VALUES (10,20);
       
      DROP PROCEDURE IF EXISTS p1;
      DELIMITER /
      CREATE PROCEDURE p1 AS 
      BEGIN
        FOR rec IN (SELECT a, b FROM t1)
        LOOP
          SELECT rec.a, rec.b;
        END LOOP;
      END;
      /
      DELIMITER ;
      CALL p1();
      

      Attachments

        Issue Links

          Activity

            bar Alexander Barkov created issue -
            bar Alexander Barkov made changes -
            Field Original Value New Value
            bar Alexander Barkov made changes -
            Description In addition to {{FOR}} loops on explicitly declared cursors (MDEV-10581), we'll implement {{FOR}} loops for implicit cursors.

            The SQL query for the implicit cursor is declared directly inside the {{FOR}} loop:
            {code:sql}
            DROP TABLE IF EXISTS t1;
            CREATE TABLE t1 (a INT, b INT);
            INSERT INTO t1 VALUES (10,20);

            SET SERVEROUTPUT ON;
            DROP PROCEDURE IF EXISTS p1;
            DELIMITER /
            CREATE PROCEDURE p1 AS
            BEGIN
              FOR rec IN (SELECT a, b FROM t1)
              LOOP
                SELECT rec.a, rec.b;
              END LOOP;
            END;
            /
            DELIMITER ;
            CALL p1();
            {code}
            In addition to {{FOR}} loops on explicitly declared cursors (MDEV-10581), we'll implement {{FOR}} loops for implicit cursors.

            The SQL query for the implicit cursor is declared directly inside the {{FOR}} loop:
            {code:sql}
            DROP TABLE IF EXISTS t1;
            CREATE TABLE t1 (a INT, b INT);
            INSERT INTO t1 VALUES (10,20);

            DROP PROCEDURE IF EXISTS p1;
            DELIMITER /
            CREATE PROCEDURE p1 AS
            BEGIN
              FOR rec IN (SELECT a, b FROM t1)
              LOOP
                SELECT rec.a, rec.b;
              END LOOP;
            END;
            /
            DELIMITER ;
            CALL p1();
            {code}
            bar Alexander Barkov made changes -
            Status Open [ 1 ] In Progress [ 3 ]

            Pushed to bb-10.2-compatibility

            bar Alexander Barkov added a comment - Pushed to bb-10.2-compatibility
            bar Alexander Barkov made changes -
            issue.field.resolutiondate 2017-03-10 10:19:17.0 2017-03-10 10:19:17.079
            bar Alexander Barkov made changes -
            Component/s Parser [ 10201 ]
            Fix Version/s 10.3.0 [ 22127 ]
            Resolution Fixed [ 1 ]
            Status In Progress [ 3 ] Closed [ 6 ]
            bar Alexander Barkov made changes -
            Component/s Stored routines [ 13905 ]
            bar Alexander Barkov made changes -
            Labels Compatibility need_review
            bar Alexander Barkov made changes -
            bar Alexander Barkov made changes -
            Labels Compatibility need_review Compatibility
            alvinr Alvin Richards (Inactive) made changes -
            NRE Approved Yes [ 10304 ]
            bar Alexander Barkov made changes -
            alice Alice Sherepa made changes -
            serg Sergei Golubchik made changes -
            Workflow MariaDB v3 [ 79699 ] MariaDB v4 [ 151729 ]
            bar Alexander Barkov made changes -

            People

              bar Alexander Barkov
              bar Alexander Barkov
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

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