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

Using aggregate and window function in unexpected places can crash the server

Details

    Description

      These examples crash the server:

      CREATE OR REPLACE PROCEDURE p1 (a TEXT) BEGIN END;
      CALL p1(RANK() OVER (ORDER BY 1));
      

      CREATE OR REPLACE PROCEDURE p1 (a TEXT) BEGIN END;
      CALL p1(ROW_NUMBER() OVER ());
      

      CREATE OR REPLACE PROCEDURE p1 (a TEXT) BEGIN END;
      CALL p1(SUM(1));
      

      Attachments

        Issue Links

          Activity

            bar Alexander Barkov created issue -

            In 10.1 it works fine:

            MariaDB [test]> CALL p1(SUM(1));
            ERROR 1111 (HY000): Invalid use of group function
            

            bar Alexander Barkov added a comment - In 10.1 it works fine: MariaDB [test]> CALL p1( SUM (1)); ERROR 1111 (HY000): Invalid use of group function
            bar Alexander Barkov made changes -
            Field Original Value New Value
            bar Alexander Barkov made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            bar Alexander Barkov made changes -
            Component/s Stored routines [ 13905 ]
            Component/s OTHER [ 10125 ]
            bar Alexander Barkov made changes -
            Description Examples:

            {code:sql}
            CREATE OR REPLACE PROCEDURE p1 (a TEXT) BEGIN END;
            CALL p1(RANK() OVER (ORDER BY 1));
            {code}

            {code:sql}
            CREATE OR REPLACE PROCEDURE p1 (a TEXT) BEGIN END;
            CALL p1(ROW_NUMBER() OVER ());
            {code}

            {code:sql}
            CREATE OR REPLACE PROCEDURE p1 (a TEXT) BEGIN END;
            CALL p1(SUM(1));
            {code}
            These examples crash the server:

            {code:sql}
            CREATE OR REPLACE PROCEDURE p1 (a TEXT) BEGIN END;
            CALL p1(RANK() OVER (ORDER BY 1));
            {code}

            {code:sql}
            CREATE OR REPLACE PROCEDURE p1 (a TEXT) BEGIN END;
            CALL p1(ROW_NUMBER() OVER ());
            {code}

            {code:sql}
            CREATE OR REPLACE PROCEDURE p1 (a TEXT) BEGIN END;
            CALL p1(SUM(1));
            {code}
            serg Sergei Golubchik made changes -
            Fix Version/s 10.2 [ 14601 ]
            Fix Version/s 10.3 [ 22126 ]
            bar Alexander Barkov made changes -
            Status In Progress [ 3 ] Stalled [ 10000 ]
            bar Alexander Barkov made changes -
            bar Alexander Barkov made changes -
            bar Alexander Barkov made changes -
            issue.field.resolutiondate 2018-06-13 07:57:18.0 2018-06-13 07:57:18.338
            bar Alexander Barkov made changes -
            Fix Version/s 10.2.16 [ 23110 ]
            Fix Version/s 10.3.8 [ 23113 ]
            Fix Version/s 10.2 [ 14601 ]
            Fix Version/s 10.3 [ 22126 ]
            Resolution Fixed [ 1 ]
            Status Stalled [ 10000 ] Closed [ 6 ]
            serg Sergei Golubchik made changes -
            Workflow MariaDB v3 [ 86556 ] MariaDB v4 [ 154158 ]

            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.