Details

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

      Description

      MariaDB allows to use only user variables in EXECUTE..USING:

      EXECUTE stmt USING @a;
      

      Under terms of this task, we'll allow passing expressions as parameters to Dynamic SQL:

      PREPARE stmt FROM 'SELECT ? FROM t1';
      EXECUTE stmt USING 1+2;
      

      Note, these expression types should work as output parameters (in addition to user variables):

      • SP variables
      • Trigger NEW and OLD fields

      Note, stored functions and subselects as parameters will not be supported under terms of this task. Using stored functions and subselects would require some additional changes in table locking, SP cache and transaction handling (for the same reason, SET STATEMENT disallows stored functions and subselects as variable values). So the following scripts will return errors:

      PREPARE stmt FROM 'SELECT ? FROM DUAL';
      EXECUTE stmt USING (SELECT 1);
      

      CREATE FUNCTION f1() RETURNS VARCHAR(10) RETURN 'test';
      PREPARE stmt FROM 'SELECT ? FROM DUAL';
      EXECUTE stmt USING f1();
      

      Support for stored functions and subselects as parameters (as well as in SET STATEMENT variable values) will be added under terms of a separate task.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                bar Alexander Barkov
                Reporter:
                bar Alexander Barkov
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: