Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-10142 PL/SQL parser
  3. MDEV-10840

sql_mode=ORACLE: RAISE statement for predefined exceptions

Details

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

    Description

      Implement the RAISE statement:

      RAISE [exception_name];
      

      where exceptions_name is one of those implemented in MDEV-10839 and MDEV-10582:

      • NO_DATA_FOUND
      • TOO_MANY_ROWS
      • DUP_VAL_ON_INDEX
      • INVALID_CURSOR

      NO_DATA_FOUND

      Oracle's NO_DATA_FOUND will be translated to MariaDB warning ER_SP_FETCH_NO_DATA.

      The following three scripts do not return any errors, which proves that NO_DATA_FOUND is cought and raised silently and therefore is more like a warning than an error:

      DROP PROCEDURE p1;
      CREATE PROCEDURE p1
      AS
      BEGIN
        RAISE NO_DATA_FOUND;
      END;
      /
      CALL p1();
      

      DROP TABLE t1;
      DROP PROCEDURE p1;
      CREATE TABLE t1 (a INT);
      CREATE PROCEDURE p1
      AS
        a INT;
      BEGIN
        SELECT a INTO a FROM t1;
      END;
      /
      CALL p1();
      

      DROP TABLE t1;
      DROP PROCEDURE p1;
      CREATE TABLE t1 (a INT);
      CREATE PROCEDURE p1
      AS
        a INT;
      BEGIN
        SELECT a INTO a FROM t1;
      EXCEPTION
        WHEN NO_DATA_FOUND THEN RAISE;
      END;
      /
      CALL p1();
      

      This script demonstrates that NO_DATA_FOUND is actually cought and can be translated to a fatal error using an EXCEPTION..RAISE statement.

      DROP TABLE t1;
      DROP PROCEDURE p1;
      CREATE TABLE t1 (a INT);
      CREATE PROCEDURE p1
      AS
        a INT;
        e EXCEPTION;
      BEGIN
        SELECT a INTO a FROM t1;
      EXCEPTION
        WHEN NO_DATA_FOUND THEN RAISE e;
      END;
      /
      CALL p1();
      

      TOO_MANY_ROWS

      Oracle's TOO_MANY_ROWS will be translated to MariaDB error TOO_MANY_ROWS.

      The following three scripts return an error:

      ORA-01422: exact fetch returns more than requested number of rows
      

      DROP PROCEDURE p1;
      CREATE PROCEDURE p1
      AS
      BEGIN
        RAISE TOO_MANY_ROWS;
      END;
      /
      CALL p1();
      

      DROP TABLE t1;
      DROP PROCEDURE p1;
      CREATE TABLE t1 (a INT);
      INSERT INTO t1 VALUES (10);
      INSERT INTO t1 VALUES (20);
      CREATE PROCEDURE p1
      AS
        a INT;
      BEGIN
        SELECT a INTO a FROM t1;
      END;
      /
      CALL p1();
      

      DROP TABLE t1;
      DROP PROCEDURE p1;
      CREATE TABLE t1 (a INT);
      INSERT INTO t1 VALUES (10);
      INSERT INTO t1 VALUES (20);
      CREATE PROCEDURE p1
      AS
        a INT;
      BEGIN
        SELECT a INTO a FROM t1;
      EXCEPTION
        WHEN TOO_MANY_ROWS THEN RAISE;
      END;
      /
      CALL p1();
      

      DUP_VAL_ON_INDEX

      Oracle's DUP_VAL_ON_INDEX will be translated to MariaDB error ER_DUP_ENTRY.

      The following three scripts return an error:

      ORA-00001: unique constraint ... violated
      

      DROP PROCEDURE p1;
      CREATE PROCEDURE p1
      AS
      BEGIN
        RAISE DUP_VAL_ON_INDEX;
      END;
      /
      CALL p1();
      

      DROP TABLE t1;
      DROP PROCEDURE p1;
      CREATE TABLE t1 (a INT PRIMARY KEY);
      CREATE PROCEDURE p1
      AS
      BEGIN
        INSERT INTO t1 VALUES (10);
        INSERT INTO t1 VALUES (10);
      END;
      /
      CALL p1();
      

      DROP TABLE t1;
      DROP PROCEDURE p1;
      CREATE TABLE t1 (a INT PRIMARY KEY);
      CREATE PROCEDURE p1
      AS
      BEGIN
        INSERT INTO t1 VALUES (10);
        INSERT INTO t1 VALUES (10);
      EXCEPTION
        WHEN DUP_VAL_ON_INDEX THEN RAISE;
      END;
      /
      CALL p1();
      

      INVALID_CURSOR

      Oracle's INVALID_CURSOR will be translated to MariaDB error ER_SP_CURSOR_NOT_OPEN.

      Attachments

        Activity

          bar Alexander Barkov created issue -
          bar Alexander Barkov made changes -
          Field Original Value New Value
          Summary sql_mode=ORACLE: RAISE statement sql_mode=ORACLE: RAISE statement for pre-defined exceptions
          bar Alexander Barkov made changes -
          Description Implement the {{RAISE}} statement:
          {code:sql}
          RAISE [exception_name];
          {code}
          Implement the {{RAISE}} statement:
          {code:sql}
          RAISE [exception_name];
          {code}
          where {{exceptions_name}} is one of those implemented in MDEV-10839:
          - NO_DATA_FOUND
          - TOO_MANY_ROWS
          - DUP_VAL_ON_INDEX
          bar Alexander Barkov made changes -
          Summary sql_mode=ORACLE: RAISE statement for pre-defined exceptions sql_mode=ORACLE: RAISE statement for predefined exceptions
          bar Alexander Barkov made changes -
          Description Implement the {{RAISE}} statement:
          {code:sql}
          RAISE [exception_name];
          {code}
          where {{exceptions_name}} is one of those implemented in MDEV-10839:
          - NO_DATA_FOUND
          - TOO_MANY_ROWS
          - DUP_VAL_ON_INDEX
          Implement the {{RAISE}} statement:
          {code:sql}
          RAISE [exception_name];
          {code}
          where {{exceptions_name}} is one of those implemented in MDEV-10839:
          - NO_DATA_FOUND
          - TOO_MANY_ROWS
          - DUP_VAL_ON_INDEX

          h2. {{NO_DATA_FOUND}}

          {{NO_DATA_FOUND}} will be translated to MariaDB warning.

          The following three scripts do not return any errors, which proves that {{NO_DATA_FOUND}} is cought and raised silenty.
          {code:sql}
          DROP PROCEDURE p1;
          CREATE PROCEDURE p1
          AS
          BEGIN
            RAISE NO_DATA_FOUND;
          END;
          /
          CALL p1();
          {code}
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          END;
          /
          CALL p1();
          {code}
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          EXCEPTION
            WHEN NO_DATA_FOUND THEN RAISE;
          END;
          /
          CALL p1();
          {code}

          This script demonstrates that {{NO_DATA_FOUND}} is actually cought and can be translated to a fatal error using an {{EXCEPTION..RAISE}} statement.
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
            e EXCEPTION;
          BEGIN
            SELECT a INTO a FROM t1;
          EXCEPTION
            WHEN NO_DATA_FOUND THEN RAISE e;
          END;
          /
          CALL p1();
          {code}

          bar Alexander Barkov made changes -
          Description Implement the {{RAISE}} statement:
          {code:sql}
          RAISE [exception_name];
          {code}
          where {{exceptions_name}} is one of those implemented in MDEV-10839:
          - NO_DATA_FOUND
          - TOO_MANY_ROWS
          - DUP_VAL_ON_INDEX

          h2. {{NO_DATA_FOUND}}

          {{NO_DATA_FOUND}} will be translated to MariaDB warning.

          The following three scripts do not return any errors, which proves that {{NO_DATA_FOUND}} is cought and raised silenty.
          {code:sql}
          DROP PROCEDURE p1;
          CREATE PROCEDURE p1
          AS
          BEGIN
            RAISE NO_DATA_FOUND;
          END;
          /
          CALL p1();
          {code}
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          END;
          /
          CALL p1();
          {code}
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          EXCEPTION
            WHEN NO_DATA_FOUND THEN RAISE;
          END;
          /
          CALL p1();
          {code}

          This script demonstrates that {{NO_DATA_FOUND}} is actually cought and can be translated to a fatal error using an {{EXCEPTION..RAISE}} statement.
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
            e EXCEPTION;
          BEGIN
            SELECT a INTO a FROM t1;
          EXCEPTION
            WHEN NO_DATA_FOUND THEN RAISE e;
          END;
          /
          CALL p1();
          {code}

          _emphasized text_Implement the {{RAISE}} statement:
          {code:sql}
          RAISE [exception_name];
          {code}
          where {{exceptions_name}} is one of those implemented in MDEV-10839:
          - NO_DATA_FOUND
          - TOO_MANY_ROWS
          - DUP_VAL_ON_INDEX

          h2. {{NO_DATA_FOUND}}

          {{NO_DATA_FOUND}} will be translated to MariaDB warning.

          The following three scripts do not return any errors, which proves that {{NO_DATA_FOUND}} is cought and raised silenty.
          {code:sql}
          DROP PROCEDURE p1;
          CREATE PROCEDURE p1
          AS
          BEGIN
            RAISE NO_DATA_FOUND;
          END;
          /
          CALL p1();
          {code}
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          END;
          /
          CALL p1();
          {code}
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          EXCEPTION
            WHEN NO_DATA_FOUND THEN RAISE;
          END;
          /
          CALL p1();
          {code}

          This script demonstrates that {{NO_DATA_FOUND}} is actually cought and can be translated to a fatal error using an {{EXCEPTION..RAISE}} statement.
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
            e EXCEPTION;
          BEGIN
            SELECT a INTO a FROM t1;
          EXCEPTION
            WHEN NO_DATA_FOUND THEN RAISE e;
          END;
          /
          CALL p1();
          {code}

          bar Alexander Barkov made changes -
          Description _emphasized text_Implement the {{RAISE}} statement:
          {code:sql}
          RAISE [exception_name];
          {code}
          where {{exceptions_name}} is one of those implemented in MDEV-10839:
          - NO_DATA_FOUND
          - TOO_MANY_ROWS
          - DUP_VAL_ON_INDEX

          h2. {{NO_DATA_FOUND}}

          {{NO_DATA_FOUND}} will be translated to MariaDB warning.

          The following three scripts do not return any errors, which proves that {{NO_DATA_FOUND}} is cought and raised silenty.
          {code:sql}
          DROP PROCEDURE p1;
          CREATE PROCEDURE p1
          AS
          BEGIN
            RAISE NO_DATA_FOUND;
          END;
          /
          CALL p1();
          {code}
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          END;
          /
          CALL p1();
          {code}
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          EXCEPTION
            WHEN NO_DATA_FOUND THEN RAISE;
          END;
          /
          CALL p1();
          {code}

          This script demonstrates that {{NO_DATA_FOUND}} is actually cought and can be translated to a fatal error using an {{EXCEPTION..RAISE}} statement.
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
            e EXCEPTION;
          BEGIN
            SELECT a INTO a FROM t1;
          EXCEPTION
            WHEN NO_DATA_FOUND THEN RAISE e;
          END;
          /
          CALL p1();
          {code}

          _emphasized text_Implement the {{RAISE}} statement:
          {code:sql}
          RAISE [exception_name];
          {code}
          where {{exceptions_name}} is one of those implemented in MDEV-10839:
          - NO_DATA_FOUND
          - TOO_MANY_ROWS
          - DUP_VAL_ON_INDEX

          h2. {{NO_DATA_FOUND}}

          {{NO_DATA_FOUND}} will be translated to MariaDB warning {{NO_DATA_FOUND}}.

          The following three scripts do not return any errors, which proves that {{NO_DATA_FOUND}} is cought and raised silenty.
          {code:sql}
          DROP PROCEDURE p1;
          CREATE PROCEDURE p1
          AS
          BEGIN
            RAISE NO_DATA_FOUND;
          END;
          /
          CALL p1();
          {code}
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          END;
          /
          CALL p1();
          {code}
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          EXCEPTION
            WHEN NO_DATA_FOUND THEN RAISE;
          END;
          /
          CALL p1();
          {code}

          This script demonstrates that {{NO_DATA_FOUND}} is actually cought and can be translated to a fatal error using an {{EXCEPTION..RAISE}} statement.
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
            e EXCEPTION;
          BEGIN
            SELECT a INTO a FROM t1;
          EXCEPTION
            WHEN NO_DATA_FOUND THEN RAISE e;
          END;
          /
          CALL p1();
          {code}

          bar Alexander Barkov made changes -
          Description _emphasized text_Implement the {{RAISE}} statement:
          {code:sql}
          RAISE [exception_name];
          {code}
          where {{exceptions_name}} is one of those implemented in MDEV-10839:
          - NO_DATA_FOUND
          - TOO_MANY_ROWS
          - DUP_VAL_ON_INDEX

          h2. {{NO_DATA_FOUND}}

          {{NO_DATA_FOUND}} will be translated to MariaDB warning {{NO_DATA_FOUND}}.

          The following three scripts do not return any errors, which proves that {{NO_DATA_FOUND}} is cought and raised silenty.
          {code:sql}
          DROP PROCEDURE p1;
          CREATE PROCEDURE p1
          AS
          BEGIN
            RAISE NO_DATA_FOUND;
          END;
          /
          CALL p1();
          {code}
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          END;
          /
          CALL p1();
          {code}
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          EXCEPTION
            WHEN NO_DATA_FOUND THEN RAISE;
          END;
          /
          CALL p1();
          {code}

          This script demonstrates that {{NO_DATA_FOUND}} is actually cought and can be translated to a fatal error using an {{EXCEPTION..RAISE}} statement.
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
            e EXCEPTION;
          BEGIN
            SELECT a INTO a FROM t1;
          EXCEPTION
            WHEN NO_DATA_FOUND THEN RAISE e;
          END;
          /
          CALL p1();
          {code}

          _emphasized text_Implement the {{RAISE}} statement:
          {code:sql}
          RAISE [exception_name];
          {code}
          where {{exceptions_name}} is one of those implemented in MDEV-10839:
          - NO_DATA_FOUND
          - TOO_MANY_ROWS
          - DUP_VAL_ON_INDEX

          h2. {{NO_DATA_FOUND}}

          Oracle's {{NO_DATA_FOUND}} will be translated to MariaDB warning {{NO_DATA_FOUND}}.

          The following three scripts do not return any errors, which proves that {{NO_DATA_FOUND}} is cought and raised silenty.
          {code:sql}
          DROP PROCEDURE p1;
          CREATE PROCEDURE p1
          AS
          BEGIN
            RAISE NO_DATA_FOUND;
          END;
          /
          CALL p1();
          {code}
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          END;
          /
          CALL p1();
          {code}
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          EXCEPTION
            WHEN NO_DATA_FOUND THEN RAISE;
          END;
          /
          CALL p1();
          {code}

          This script demonstrates that {{NO_DATA_FOUND}} is actually cought and can be translated to a fatal error using an {{EXCEPTION..RAISE}} statement.
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
            e EXCEPTION;
          BEGIN
            SELECT a INTO a FROM t1;
          EXCEPTION
            WHEN NO_DATA_FOUND THEN RAISE e;
          END;
          /
          CALL p1();
          {code}

          bar Alexander Barkov made changes -
          Description _emphasized text_Implement the {{RAISE}} statement:
          {code:sql}
          RAISE [exception_name];
          {code}
          where {{exceptions_name}} is one of those implemented in MDEV-10839:
          - NO_DATA_FOUND
          - TOO_MANY_ROWS
          - DUP_VAL_ON_INDEX

          h2. {{NO_DATA_FOUND}}

          Oracle's {{NO_DATA_FOUND}} will be translated to MariaDB warning {{NO_DATA_FOUND}}.

          The following three scripts do not return any errors, which proves that {{NO_DATA_FOUND}} is cought and raised silenty.
          {code:sql}
          DROP PROCEDURE p1;
          CREATE PROCEDURE p1
          AS
          BEGIN
            RAISE NO_DATA_FOUND;
          END;
          /
          CALL p1();
          {code}
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          END;
          /
          CALL p1();
          {code}
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          EXCEPTION
            WHEN NO_DATA_FOUND THEN RAISE;
          END;
          /
          CALL p1();
          {code}

          This script demonstrates that {{NO_DATA_FOUND}} is actually cought and can be translated to a fatal error using an {{EXCEPTION..RAISE}} statement.
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
            e EXCEPTION;
          BEGIN
            SELECT a INTO a FROM t1;
          EXCEPTION
            WHEN NO_DATA_FOUND THEN RAISE e;
          END;
          /
          CALL p1();
          {code}

          _emphasized text_Implement the {{RAISE}} statement:
          {code:sql}
          RAISE [exception_name];
          {code}
          where {{exceptions_name}} is one of those implemented in MDEV-10839:
          - NO_DATA_FOUND
          - TOO_MANY_ROWS
          - DUP_VAL_ON_INDEX

          h2. {{NO_DATA_FOUND}}

          Oracle's {{NO_DATA_FOUND}} will be translated to MariaDB warning {{NO_DATA_FOUND}}.

          The following three scripts do not return any errors, which proves that {{NO_DATA_FOUND}} is cought and raised silently and therefore is more like a warning than an error:
          {code:sql}
          DROP PROCEDURE p1;
          CREATE PROCEDURE p1
          AS
          BEGIN
            RAISE NO_DATA_FOUND;
          END;
          /
          CALL p1();
          {code}
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          END;
          /
          CALL p1();
          {code}
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          EXCEPTION
            WHEN NO_DATA_FOUND THEN RAISE;
          END;
          /
          CALL p1();
          {code}

          This script demonstrates that {{NO_DATA_FOUND}} is actually cought and can be translated to a fatal error using an {{EXCEPTION..RAISE}} statement.
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
            e EXCEPTION;
          BEGIN
            SELECT a INTO a FROM t1;
          EXCEPTION
            WHEN NO_DATA_FOUND THEN RAISE e;
          END;
          /
          CALL p1();
          {code}

          bar Alexander Barkov made changes -
          Description _emphasized text_Implement the {{RAISE}} statement:
          {code:sql}
          RAISE [exception_name];
          {code}
          where {{exceptions_name}} is one of those implemented in MDEV-10839:
          - NO_DATA_FOUND
          - TOO_MANY_ROWS
          - DUP_VAL_ON_INDEX

          h2. {{NO_DATA_FOUND}}

          Oracle's {{NO_DATA_FOUND}} will be translated to MariaDB warning {{NO_DATA_FOUND}}.

          The following three scripts do not return any errors, which proves that {{NO_DATA_FOUND}} is cought and raised silently and therefore is more like a warning than an error:
          {code:sql}
          DROP PROCEDURE p1;
          CREATE PROCEDURE p1
          AS
          BEGIN
            RAISE NO_DATA_FOUND;
          END;
          /
          CALL p1();
          {code}
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          END;
          /
          CALL p1();
          {code}
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          EXCEPTION
            WHEN NO_DATA_FOUND THEN RAISE;
          END;
          /
          CALL p1();
          {code}

          This script demonstrates that {{NO_DATA_FOUND}} is actually cought and can be translated to a fatal error using an {{EXCEPTION..RAISE}} statement.
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
            e EXCEPTION;
          BEGIN
            SELECT a INTO a FROM t1;
          EXCEPTION
            WHEN NO_DATA_FOUND THEN RAISE e;
          END;
          /
          CALL p1();
          {code}

          _emphasized text_Implement the {{RAISE}} statement:
          {code:sql}
          RAISE [exception_name];
          {code}
          where {{exceptions_name}} is one of those implemented in MDEV-10839:
          - NO_DATA_FOUND
          - TOO_MANY_ROWS
          - DUP_VAL_ON_INDEX

          h2. {{NO_DATA_FOUND}}

          Oracle's {{NO_DATA_FOUND}} will be translated to MariaDB warning {{NO_DATA_FOUND}}.

          The following three scripts do not return any errors, which proves that {{NO_DATA_FOUND}} is cought and raised silently and therefore is more like a warning than an error:
          {code:sql}
          DROP PROCEDURE p1;
          CREATE PROCEDURE p1
          AS
          BEGIN
            RAISE NO_DATA_FOUND;
          END;
          /
          CALL p1();
          {code}
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          END;
          /
          CALL p1();
          {code}
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          EXCEPTION
            WHEN NO_DATA_FOUND THEN RAISE;
          END;
          /
          CALL p1();
          {code}

          This script demonstrates that {{NO_DATA_FOUND}} is actually cought and can be translated to a fatal error using an {{EXCEPTION..RAISE}} statement.
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
            e EXCEPTION;
          BEGIN
            SELECT a INTO a FROM t1;
          EXCEPTION
            WHEN NO_DATA_FOUND THEN RAISE e;
          END;
          /
          CALL p1();
          {code}



          h2. {{TOO_MANY_ROWS}}

          Oracle's {{TOO_MANY_ROWS}} will be translated to MariaDB error {{TOO_MANY_ROWS}}.

          The following three scripts return an error:
          {noformat}
          ORA-01422: exact fetch returns more than requested number of rows
          {noformat}

          {code:sql}
          DROP PROCEDURE p1;
          CREATE PROCEDURE p1
          AS
          BEGIN
            RAISE TOO_MANY_ROWS;
          END;
          /
          CALL p1();
          {code}

          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          INSERT INTO t1 VALUES (10);
          INSERT INTO t1 VALUES (20);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          END;
          /
          CALL p1();
          {code}

          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          INSERT INTO t1 VALUES (10);
          INSERT INTO t1 VALUES (20);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          EXCEPTION
            WHEN TOO_MANY_ROWS THEN RAISE;
          END;
          /
          CALL p1();
          {code}

          bar Alexander Barkov made changes -
          Description _emphasized text_Implement the {{RAISE}} statement:
          {code:sql}
          RAISE [exception_name];
          {code}
          where {{exceptions_name}} is one of those implemented in MDEV-10839:
          - NO_DATA_FOUND
          - TOO_MANY_ROWS
          - DUP_VAL_ON_INDEX

          h2. {{NO_DATA_FOUND}}

          Oracle's {{NO_DATA_FOUND}} will be translated to MariaDB warning {{NO_DATA_FOUND}}.

          The following three scripts do not return any errors, which proves that {{NO_DATA_FOUND}} is cought and raised silently and therefore is more like a warning than an error:
          {code:sql}
          DROP PROCEDURE p1;
          CREATE PROCEDURE p1
          AS
          BEGIN
            RAISE NO_DATA_FOUND;
          END;
          /
          CALL p1();
          {code}
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          END;
          /
          CALL p1();
          {code}
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          EXCEPTION
            WHEN NO_DATA_FOUND THEN RAISE;
          END;
          /
          CALL p1();
          {code}

          This script demonstrates that {{NO_DATA_FOUND}} is actually cought and can be translated to a fatal error using an {{EXCEPTION..RAISE}} statement.
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
            e EXCEPTION;
          BEGIN
            SELECT a INTO a FROM t1;
          EXCEPTION
            WHEN NO_DATA_FOUND THEN RAISE e;
          END;
          /
          CALL p1();
          {code}



          h2. {{TOO_MANY_ROWS}}

          Oracle's {{TOO_MANY_ROWS}} will be translated to MariaDB error {{TOO_MANY_ROWS}}.

          The following three scripts return an error:
          {noformat}
          ORA-01422: exact fetch returns more than requested number of rows
          {noformat}

          {code:sql}
          DROP PROCEDURE p1;
          CREATE PROCEDURE p1
          AS
          BEGIN
            RAISE TOO_MANY_ROWS;
          END;
          /
          CALL p1();
          {code}

          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          INSERT INTO t1 VALUES (10);
          INSERT INTO t1 VALUES (20);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          END;
          /
          CALL p1();
          {code}

          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          INSERT INTO t1 VALUES (10);
          INSERT INTO t1 VALUES (20);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          EXCEPTION
            WHEN TOO_MANY_ROWS THEN RAISE;
          END;
          /
          CALL p1();
          {code}

          _emphasized text_Implement the {{RAISE}} statement:
          {code:sql}
          RAISE [exception_name];
          {code}
          where {{exceptions_name}} is one of those implemented in MDEV-10839:
          - NO_DATA_FOUND
          - TOO_MANY_ROWS
          - DUP_VAL_ON_INDEX

          h2. {{NO_DATA_FOUND}}

          Oracle's {{NO_DATA_FOUND}} will be translated to MariaDB warning {{ER_SP_FETCH_NO_DATA}}.

          The following three scripts do not return any errors, which proves that {{NO_DATA_FOUND}} is cought and raised silently and therefore is more like a warning than an error:
          {code:sql}
          DROP PROCEDURE p1;
          CREATE PROCEDURE p1
          AS
          BEGIN
            RAISE NO_DATA_FOUND;
          END;
          /
          CALL p1();
          {code}
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          END;
          /
          CALL p1();
          {code}
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          EXCEPTION
            WHEN NO_DATA_FOUND THEN RAISE;
          END;
          /
          CALL p1();
          {code}

          This script demonstrates that {{NO_DATA_FOUND}} is actually cought and can be translated to a fatal error using an {{EXCEPTION..RAISE}} statement.
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
            e EXCEPTION;
          BEGIN
            SELECT a INTO a FROM t1;
          EXCEPTION
            WHEN NO_DATA_FOUND THEN RAISE e;
          END;
          /
          CALL p1();
          {code}



          h2. {{TOO_MANY_ROWS}}

          Oracle's {{TOO_MANY_ROWS}} will be translated to MariaDB error {{TOO_MANY_ROWS}}.

          The following three scripts return an error:
          {noformat}
          ORA-01422: exact fetch returns more than requested number of rows
          {noformat}

          {code:sql}
          DROP PROCEDURE p1;
          CREATE PROCEDURE p1
          AS
          BEGIN
            RAISE TOO_MANY_ROWS;
          END;
          /
          CALL p1();
          {code}

          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          INSERT INTO t1 VALUES (10);
          INSERT INTO t1 VALUES (20);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          END;
          /
          CALL p1();
          {code}

          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          INSERT INTO t1 VALUES (10);
          INSERT INTO t1 VALUES (20);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          EXCEPTION
            WHEN TOO_MANY_ROWS THEN RAISE;
          END;
          /
          CALL p1();
          {code}

          bar Alexander Barkov made changes -
          Description _emphasized text_Implement the {{RAISE}} statement:
          {code:sql}
          RAISE [exception_name];
          {code}
          where {{exceptions_name}} is one of those implemented in MDEV-10839:
          - NO_DATA_FOUND
          - TOO_MANY_ROWS
          - DUP_VAL_ON_INDEX

          h2. {{NO_DATA_FOUND}}

          Oracle's {{NO_DATA_FOUND}} will be translated to MariaDB warning {{ER_SP_FETCH_NO_DATA}}.

          The following three scripts do not return any errors, which proves that {{NO_DATA_FOUND}} is cought and raised silently and therefore is more like a warning than an error:
          {code:sql}
          DROP PROCEDURE p1;
          CREATE PROCEDURE p1
          AS
          BEGIN
            RAISE NO_DATA_FOUND;
          END;
          /
          CALL p1();
          {code}
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          END;
          /
          CALL p1();
          {code}
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          EXCEPTION
            WHEN NO_DATA_FOUND THEN RAISE;
          END;
          /
          CALL p1();
          {code}

          This script demonstrates that {{NO_DATA_FOUND}} is actually cought and can be translated to a fatal error using an {{EXCEPTION..RAISE}} statement.
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
            e EXCEPTION;
          BEGIN
            SELECT a INTO a FROM t1;
          EXCEPTION
            WHEN NO_DATA_FOUND THEN RAISE e;
          END;
          /
          CALL p1();
          {code}



          h2. {{TOO_MANY_ROWS}}

          Oracle's {{TOO_MANY_ROWS}} will be translated to MariaDB error {{TOO_MANY_ROWS}}.

          The following three scripts return an error:
          {noformat}
          ORA-01422: exact fetch returns more than requested number of rows
          {noformat}

          {code:sql}
          DROP PROCEDURE p1;
          CREATE PROCEDURE p1
          AS
          BEGIN
            RAISE TOO_MANY_ROWS;
          END;
          /
          CALL p1();
          {code}

          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          INSERT INTO t1 VALUES (10);
          INSERT INTO t1 VALUES (20);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          END;
          /
          CALL p1();
          {code}

          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          INSERT INTO t1 VALUES (10);
          INSERT INTO t1 VALUES (20);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          EXCEPTION
            WHEN TOO_MANY_ROWS THEN RAISE;
          END;
          /
          CALL p1();
          {code}

          _emphasized text_Implement the {{RAISE}} statement:
          {code:sql}
          RAISE [exception_name];
          {code}
          where {{exceptions_name}} is one of those implemented in MDEV-10839:
          - NO_DATA_FOUND
          - TOO_MANY_ROWS
          - DUP_VAL_ON_INDEX

          h2. {{NO_DATA_FOUND}}

          Oracle's {{NO_DATA_FOUND}} will be translated to MariaDB warning {{ER_SP_FETCH_NO_DATA}}.

          The following three scripts do not return any errors, which proves that {{NO_DATA_FOUND}} is cought and raised silently and therefore is more like a warning than an error:
          {code:sql}
          DROP PROCEDURE p1;
          CREATE PROCEDURE p1
          AS
          BEGIN
            RAISE NO_DATA_FOUND;
          END;
          /
          CALL p1();
          {code}
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          END;
          /
          CALL p1();
          {code}
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          EXCEPTION
            WHEN NO_DATA_FOUND THEN RAISE;
          END;
          /
          CALL p1();
          {code}

          This script demonstrates that {{NO_DATA_FOUND}} is actually cought and can be translated to a fatal error using an {{EXCEPTION..RAISE}} statement.
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
            e EXCEPTION;
          BEGIN
            SELECT a INTO a FROM t1;
          EXCEPTION
            WHEN NO_DATA_FOUND THEN RAISE e;
          END;
          /
          CALL p1();
          {code}



          h2. {{TOO_MANY_ROWS}}

          Oracle's {{TOO_MANY_ROWS}} will be translated to MariaDB error {{TOO_MANY_ROWS}}.

          The following three scripts return an error:
          {noformat}
          ORA-01422: exact fetch returns more than requested number of rows
          {noformat}

          {code:sql}
          DROP PROCEDURE p1;
          CREATE PROCEDURE p1
          AS
          BEGIN
            RAISE TOO_MANY_ROWS;
          END;
          /
          CALL p1();
          {code}

          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          INSERT INTO t1 VALUES (10);
          INSERT INTO t1 VALUES (20);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          END;
          /
          CALL p1();
          {code}

          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          INSERT INTO t1 VALUES (10);
          INSERT INTO t1 VALUES (20);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          EXCEPTION
            WHEN TOO_MANY_ROWS THEN RAISE;
          END;
          /
          CALL p1();
          {code}


          h2. {{DUP_VAL_ON_INDEX}}

          Oracle's {{DUP_VAL_ON_INDEX}} will be translated to MariaDB error {{ER_DUP_ENTRY}}.

          The following three scripts return an error:
          {noformat}
          ORA-00001: unique constraint ... violated
          {noformat}

          {code:sql}
          DROP PROCEDURE p1;
          CREATE PROCEDURE p1
          AS
          BEGIN
            RAISE DUP_VAL_ON_INDEX;
          END;
          /
          CALL p1();
          {code}

          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT PRIMARY KEY);
          CREATE PROCEDURE p1
          AS
          BEGIN
            INSERT INTO t1 VALUES (10);
            INSERT INTO t1 VALUES (10);
          END;
          /
          CALL p1();
          {code}

          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT PRIMARY KEY);
          CREATE PROCEDURE p1
          AS
          BEGIN
            INSERT INTO t1 VALUES (10);
            INSERT INTO t1 VALUES (10);
          EXCEPTION
            WHEN DUP_VAL_ON_INDEX THEN RAISE;
          END;
          /
          CALL p1();
          {code}

          bar Alexander Barkov made changes -
          Status Open [ 1 ] In Progress [ 3 ]
          bar Alexander Barkov made changes -
          Fix Version/s 10.3.0 [ 22127 ]
          Fix Version/s 10.3 [ 22126 ]
          Resolution Fixed [ 1 ]
          Status In Progress [ 3 ] Closed [ 6 ]
          serg Sergei Golubchik made changes -
          Labels Compatibility
          bar Alexander Barkov made changes -
          Description _emphasized text_Implement the {{RAISE}} statement:
          {code:sql}
          RAISE [exception_name];
          {code}
          where {{exceptions_name}} is one of those implemented in MDEV-10839:
          - NO_DATA_FOUND
          - TOO_MANY_ROWS
          - DUP_VAL_ON_INDEX

          h2. {{NO_DATA_FOUND}}

          Oracle's {{NO_DATA_FOUND}} will be translated to MariaDB warning {{ER_SP_FETCH_NO_DATA}}.

          The following three scripts do not return any errors, which proves that {{NO_DATA_FOUND}} is cought and raised silently and therefore is more like a warning than an error:
          {code:sql}
          DROP PROCEDURE p1;
          CREATE PROCEDURE p1
          AS
          BEGIN
            RAISE NO_DATA_FOUND;
          END;
          /
          CALL p1();
          {code}
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          END;
          /
          CALL p1();
          {code}
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          EXCEPTION
            WHEN NO_DATA_FOUND THEN RAISE;
          END;
          /
          CALL p1();
          {code}

          This script demonstrates that {{NO_DATA_FOUND}} is actually cought and can be translated to a fatal error using an {{EXCEPTION..RAISE}} statement.
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
            e EXCEPTION;
          BEGIN
            SELECT a INTO a FROM t1;
          EXCEPTION
            WHEN NO_DATA_FOUND THEN RAISE e;
          END;
          /
          CALL p1();
          {code}



          h2. {{TOO_MANY_ROWS}}

          Oracle's {{TOO_MANY_ROWS}} will be translated to MariaDB error {{TOO_MANY_ROWS}}.

          The following three scripts return an error:
          {noformat}
          ORA-01422: exact fetch returns more than requested number of rows
          {noformat}

          {code:sql}
          DROP PROCEDURE p1;
          CREATE PROCEDURE p1
          AS
          BEGIN
            RAISE TOO_MANY_ROWS;
          END;
          /
          CALL p1();
          {code}

          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          INSERT INTO t1 VALUES (10);
          INSERT INTO t1 VALUES (20);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          END;
          /
          CALL p1();
          {code}

          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          INSERT INTO t1 VALUES (10);
          INSERT INTO t1 VALUES (20);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          EXCEPTION
            WHEN TOO_MANY_ROWS THEN RAISE;
          END;
          /
          CALL p1();
          {code}


          h2. {{DUP_VAL_ON_INDEX}}

          Oracle's {{DUP_VAL_ON_INDEX}} will be translated to MariaDB error {{ER_DUP_ENTRY}}.

          The following three scripts return an error:
          {noformat}
          ORA-00001: unique constraint ... violated
          {noformat}

          {code:sql}
          DROP PROCEDURE p1;
          CREATE PROCEDURE p1
          AS
          BEGIN
            RAISE DUP_VAL_ON_INDEX;
          END;
          /
          CALL p1();
          {code}

          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT PRIMARY KEY);
          CREATE PROCEDURE p1
          AS
          BEGIN
            INSERT INTO t1 VALUES (10);
            INSERT INTO t1 VALUES (10);
          END;
          /
          CALL p1();
          {code}

          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT PRIMARY KEY);
          CREATE PROCEDURE p1
          AS
          BEGIN
            INSERT INTO t1 VALUES (10);
            INSERT INTO t1 VALUES (10);
          EXCEPTION
            WHEN DUP_VAL_ON_INDEX THEN RAISE;
          END;
          /
          CALL p1();
          {code}

          Implement the {{RAISE}} statement:
          {code:sql}
          RAISE [exception_name];
          {code}
          where {{exceptions_name}} is one of those implemented in MDEV-10839:
          - NO_DATA_FOUND
          - TOO_MANY_ROWS
          - DUP_VAL_ON_INDEX

          h2. {{NO_DATA_FOUND}}

          Oracle's {{NO_DATA_FOUND}} will be translated to MariaDB warning {{ER_SP_FETCH_NO_DATA}}.

          The following three scripts do not return any errors, which proves that {{NO_DATA_FOUND}} is cought and raised silently and therefore is more like a warning than an error:
          {code:sql}
          DROP PROCEDURE p1;
          CREATE PROCEDURE p1
          AS
          BEGIN
            RAISE NO_DATA_FOUND;
          END;
          /
          CALL p1();
          {code}
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          END;
          /
          CALL p1();
          {code}
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          EXCEPTION
            WHEN NO_DATA_FOUND THEN RAISE;
          END;
          /
          CALL p1();
          {code}

          This script demonstrates that {{NO_DATA_FOUND}} is actually cought and can be translated to a fatal error using an {{EXCEPTION..RAISE}} statement.
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
            e EXCEPTION;
          BEGIN
            SELECT a INTO a FROM t1;
          EXCEPTION
            WHEN NO_DATA_FOUND THEN RAISE e;
          END;
          /
          CALL p1();
          {code}



          h2. {{TOO_MANY_ROWS}}

          Oracle's {{TOO_MANY_ROWS}} will be translated to MariaDB error {{TOO_MANY_ROWS}}.

          The following three scripts return an error:
          {noformat}
          ORA-01422: exact fetch returns more than requested number of rows
          {noformat}

          {code:sql}
          DROP PROCEDURE p1;
          CREATE PROCEDURE p1
          AS
          BEGIN
            RAISE TOO_MANY_ROWS;
          END;
          /
          CALL p1();
          {code}

          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          INSERT INTO t1 VALUES (10);
          INSERT INTO t1 VALUES (20);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          END;
          /
          CALL p1();
          {code}

          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          INSERT INTO t1 VALUES (10);
          INSERT INTO t1 VALUES (20);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          EXCEPTION
            WHEN TOO_MANY_ROWS THEN RAISE;
          END;
          /
          CALL p1();
          {code}


          h2. {{DUP_VAL_ON_INDEX}}

          Oracle's {{DUP_VAL_ON_INDEX}} will be translated to MariaDB error {{ER_DUP_ENTRY}}.

          The following three scripts return an error:
          {noformat}
          ORA-00001: unique constraint ... violated
          {noformat}

          {code:sql}
          DROP PROCEDURE p1;
          CREATE PROCEDURE p1
          AS
          BEGIN
            RAISE DUP_VAL_ON_INDEX;
          END;
          /
          CALL p1();
          {code}

          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT PRIMARY KEY);
          CREATE PROCEDURE p1
          AS
          BEGIN
            INSERT INTO t1 VALUES (10);
            INSERT INTO t1 VALUES (10);
          END;
          /
          CALL p1();
          {code}

          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT PRIMARY KEY);
          CREATE PROCEDURE p1
          AS
          BEGIN
            INSERT INTO t1 VALUES (10);
            INSERT INTO t1 VALUES (10);
          EXCEPTION
            WHEN DUP_VAL_ON_INDEX THEN RAISE;
          END;
          /
          CALL p1();
          {code}

          bar Alexander Barkov made changes -
          Description Implement the {{RAISE}} statement:
          {code:sql}
          RAISE [exception_name];
          {code}
          where {{exceptions_name}} is one of those implemented in MDEV-10839:
          - NO_DATA_FOUND
          - TOO_MANY_ROWS
          - DUP_VAL_ON_INDEX

          h2. {{NO_DATA_FOUND}}

          Oracle's {{NO_DATA_FOUND}} will be translated to MariaDB warning {{ER_SP_FETCH_NO_DATA}}.

          The following three scripts do not return any errors, which proves that {{NO_DATA_FOUND}} is cought and raised silently and therefore is more like a warning than an error:
          {code:sql}
          DROP PROCEDURE p1;
          CREATE PROCEDURE p1
          AS
          BEGIN
            RAISE NO_DATA_FOUND;
          END;
          /
          CALL p1();
          {code}
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          END;
          /
          CALL p1();
          {code}
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          EXCEPTION
            WHEN NO_DATA_FOUND THEN RAISE;
          END;
          /
          CALL p1();
          {code}

          This script demonstrates that {{NO_DATA_FOUND}} is actually cought and can be translated to a fatal error using an {{EXCEPTION..RAISE}} statement.
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
            e EXCEPTION;
          BEGIN
            SELECT a INTO a FROM t1;
          EXCEPTION
            WHEN NO_DATA_FOUND THEN RAISE e;
          END;
          /
          CALL p1();
          {code}



          h2. {{TOO_MANY_ROWS}}

          Oracle's {{TOO_MANY_ROWS}} will be translated to MariaDB error {{TOO_MANY_ROWS}}.

          The following three scripts return an error:
          {noformat}
          ORA-01422: exact fetch returns more than requested number of rows
          {noformat}

          {code:sql}
          DROP PROCEDURE p1;
          CREATE PROCEDURE p1
          AS
          BEGIN
            RAISE TOO_MANY_ROWS;
          END;
          /
          CALL p1();
          {code}

          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          INSERT INTO t1 VALUES (10);
          INSERT INTO t1 VALUES (20);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          END;
          /
          CALL p1();
          {code}

          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          INSERT INTO t1 VALUES (10);
          INSERT INTO t1 VALUES (20);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          EXCEPTION
            WHEN TOO_MANY_ROWS THEN RAISE;
          END;
          /
          CALL p1();
          {code}


          h2. {{DUP_VAL_ON_INDEX}}

          Oracle's {{DUP_VAL_ON_INDEX}} will be translated to MariaDB error {{ER_DUP_ENTRY}}.

          The following three scripts return an error:
          {noformat}
          ORA-00001: unique constraint ... violated
          {noformat}

          {code:sql}
          DROP PROCEDURE p1;
          CREATE PROCEDURE p1
          AS
          BEGIN
            RAISE DUP_VAL_ON_INDEX;
          END;
          /
          CALL p1();
          {code}

          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT PRIMARY KEY);
          CREATE PROCEDURE p1
          AS
          BEGIN
            INSERT INTO t1 VALUES (10);
            INSERT INTO t1 VALUES (10);
          END;
          /
          CALL p1();
          {code}

          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT PRIMARY KEY);
          CREATE PROCEDURE p1
          AS
          BEGIN
            INSERT INTO t1 VALUES (10);
            INSERT INTO t1 VALUES (10);
          EXCEPTION
            WHEN DUP_VAL_ON_INDEX THEN RAISE;
          END;
          /
          CALL p1();
          {code}

          Implement the {{RAISE}} statement:
          {code:sql}
          RAISE [exception_name];
          {code}
          where {{exceptions_name}} is one of those implemented in MDEV-10839 and MDEV-10582:
          - NO_DATA_FOUND
          - TOO_MANY_ROWS
          - DUP_VAL_ON_INDEX
          - INVALID_CURSOR

          h2. {{NO_DATA_FOUND}}

          Oracle's {{NO_DATA_FOUND}} will be translated to MariaDB warning {{ER_SP_FETCH_NO_DATA}}.

          The following three scripts do not return any errors, which proves that {{NO_DATA_FOUND}} is cought and raised silently and therefore is more like a warning than an error:
          {code:sql}
          DROP PROCEDURE p1;
          CREATE PROCEDURE p1
          AS
          BEGIN
            RAISE NO_DATA_FOUND;
          END;
          /
          CALL p1();
          {code}
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          END;
          /
          CALL p1();
          {code}
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          EXCEPTION
            WHEN NO_DATA_FOUND THEN RAISE;
          END;
          /
          CALL p1();
          {code}

          This script demonstrates that {{NO_DATA_FOUND}} is actually cought and can be translated to a fatal error using an {{EXCEPTION..RAISE}} statement.
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
            e EXCEPTION;
          BEGIN
            SELECT a INTO a FROM t1;
          EXCEPTION
            WHEN NO_DATA_FOUND THEN RAISE e;
          END;
          /
          CALL p1();
          {code}



          h2. {{TOO_MANY_ROWS}}

          Oracle's {{TOO_MANY_ROWS}} will be translated to MariaDB error {{TOO_MANY_ROWS}}.

          The following three scripts return an error:
          {noformat}
          ORA-01422: exact fetch returns more than requested number of rows
          {noformat}

          {code:sql}
          DROP PROCEDURE p1;
          CREATE PROCEDURE p1
          AS
          BEGIN
            RAISE TOO_MANY_ROWS;
          END;
          /
          CALL p1();
          {code}

          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          INSERT INTO t1 VALUES (10);
          INSERT INTO t1 VALUES (20);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          END;
          /
          CALL p1();
          {code}

          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          INSERT INTO t1 VALUES (10);
          INSERT INTO t1 VALUES (20);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          EXCEPTION
            WHEN TOO_MANY_ROWS THEN RAISE;
          END;
          /
          CALL p1();
          {code}


          h2. {{DUP_VAL_ON_INDEX}}

          Oracle's {{DUP_VAL_ON_INDEX}} will be translated to MariaDB error {{ER_DUP_ENTRY}}.

          The following three scripts return an error:
          {noformat}
          ORA-00001: unique constraint ... violated
          {noformat}

          {code:sql}
          DROP PROCEDURE p1;
          CREATE PROCEDURE p1
          AS
          BEGIN
            RAISE DUP_VAL_ON_INDEX;
          END;
          /
          CALL p1();
          {code}

          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT PRIMARY KEY);
          CREATE PROCEDURE p1
          AS
          BEGIN
            INSERT INTO t1 VALUES (10);
            INSERT INTO t1 VALUES (10);
          END;
          /
          CALL p1();
          {code}

          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT PRIMARY KEY);
          CREATE PROCEDURE p1
          AS
          BEGIN
            INSERT INTO t1 VALUES (10);
            INSERT INTO t1 VALUES (10);
          EXCEPTION
            WHEN DUP_VAL_ON_INDEX THEN RAISE;
          END;
          /
          CALL p1();
          {code}

          bar Alexander Barkov made changes -
          Description Implement the {{RAISE}} statement:
          {code:sql}
          RAISE [exception_name];
          {code}
          where {{exceptions_name}} is one of those implemented in MDEV-10839 and MDEV-10582:
          - NO_DATA_FOUND
          - TOO_MANY_ROWS
          - DUP_VAL_ON_INDEX
          - INVALID_CURSOR

          h2. {{NO_DATA_FOUND}}

          Oracle's {{NO_DATA_FOUND}} will be translated to MariaDB warning {{ER_SP_FETCH_NO_DATA}}.

          The following three scripts do not return any errors, which proves that {{NO_DATA_FOUND}} is cought and raised silently and therefore is more like a warning than an error:
          {code:sql}
          DROP PROCEDURE p1;
          CREATE PROCEDURE p1
          AS
          BEGIN
            RAISE NO_DATA_FOUND;
          END;
          /
          CALL p1();
          {code}
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          END;
          /
          CALL p1();
          {code}
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          EXCEPTION
            WHEN NO_DATA_FOUND THEN RAISE;
          END;
          /
          CALL p1();
          {code}

          This script demonstrates that {{NO_DATA_FOUND}} is actually cought and can be translated to a fatal error using an {{EXCEPTION..RAISE}} statement.
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
            e EXCEPTION;
          BEGIN
            SELECT a INTO a FROM t1;
          EXCEPTION
            WHEN NO_DATA_FOUND THEN RAISE e;
          END;
          /
          CALL p1();
          {code}



          h2. {{TOO_MANY_ROWS}}

          Oracle's {{TOO_MANY_ROWS}} will be translated to MariaDB error {{TOO_MANY_ROWS}}.

          The following three scripts return an error:
          {noformat}
          ORA-01422: exact fetch returns more than requested number of rows
          {noformat}

          {code:sql}
          DROP PROCEDURE p1;
          CREATE PROCEDURE p1
          AS
          BEGIN
            RAISE TOO_MANY_ROWS;
          END;
          /
          CALL p1();
          {code}

          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          INSERT INTO t1 VALUES (10);
          INSERT INTO t1 VALUES (20);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          END;
          /
          CALL p1();
          {code}

          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          INSERT INTO t1 VALUES (10);
          INSERT INTO t1 VALUES (20);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          EXCEPTION
            WHEN TOO_MANY_ROWS THEN RAISE;
          END;
          /
          CALL p1();
          {code}


          h2. {{DUP_VAL_ON_INDEX}}

          Oracle's {{DUP_VAL_ON_INDEX}} will be translated to MariaDB error {{ER_DUP_ENTRY}}.

          The following three scripts return an error:
          {noformat}
          ORA-00001: unique constraint ... violated
          {noformat}

          {code:sql}
          DROP PROCEDURE p1;
          CREATE PROCEDURE p1
          AS
          BEGIN
            RAISE DUP_VAL_ON_INDEX;
          END;
          /
          CALL p1();
          {code}

          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT PRIMARY KEY);
          CREATE PROCEDURE p1
          AS
          BEGIN
            INSERT INTO t1 VALUES (10);
            INSERT INTO t1 VALUES (10);
          END;
          /
          CALL p1();
          {code}

          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT PRIMARY KEY);
          CREATE PROCEDURE p1
          AS
          BEGIN
            INSERT INTO t1 VALUES (10);
            INSERT INTO t1 VALUES (10);
          EXCEPTION
            WHEN DUP_VAL_ON_INDEX THEN RAISE;
          END;
          /
          CALL p1();
          {code}

          Implement the {{RAISE}} statement:
          {code:sql}
          RAISE [exception_name];
          {code}
          where {{exceptions_name}} is one of those implemented in MDEV-10839 and MDEV-10582:
          - NO_DATA_FOUND
          - TOO_MANY_ROWS
          - DUP_VAL_ON_INDEX
          - INVALID_CURSOR

          h2. {{NO_DATA_FOUND}}

          Oracle's {{NO_DATA_FOUND}} will be translated to MariaDB warning {{ER_SP_FETCH_NO_DATA}}.

          The following three scripts do not return any errors, which proves that {{NO_DATA_FOUND}} is cought and raised silently and therefore is more like a warning than an error:
          {code:sql}
          DROP PROCEDURE p1;
          CREATE PROCEDURE p1
          AS
          BEGIN
            RAISE NO_DATA_FOUND;
          END;
          /
          CALL p1();
          {code}
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          END;
          /
          CALL p1();
          {code}
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          EXCEPTION
            WHEN NO_DATA_FOUND THEN RAISE;
          END;
          /
          CALL p1();
          {code}

          This script demonstrates that {{NO_DATA_FOUND}} is actually cought and can be translated to a fatal error using an {{EXCEPTION..RAISE}} statement.
          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          CREATE PROCEDURE p1
          AS
            a INT;
            e EXCEPTION;
          BEGIN
            SELECT a INTO a FROM t1;
          EXCEPTION
            WHEN NO_DATA_FOUND THEN RAISE e;
          END;
          /
          CALL p1();
          {code}



          h2. {{TOO_MANY_ROWS}}

          Oracle's {{TOO_MANY_ROWS}} will be translated to MariaDB error {{TOO_MANY_ROWS}}.

          The following three scripts return an error:
          {noformat}
          ORA-01422: exact fetch returns more than requested number of rows
          {noformat}

          {code:sql}
          DROP PROCEDURE p1;
          CREATE PROCEDURE p1
          AS
          BEGIN
            RAISE TOO_MANY_ROWS;
          END;
          /
          CALL p1();
          {code}

          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          INSERT INTO t1 VALUES (10);
          INSERT INTO t1 VALUES (20);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          END;
          /
          CALL p1();
          {code}

          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT);
          INSERT INTO t1 VALUES (10);
          INSERT INTO t1 VALUES (20);
          CREATE PROCEDURE p1
          AS
            a INT;
          BEGIN
            SELECT a INTO a FROM t1;
          EXCEPTION
            WHEN TOO_MANY_ROWS THEN RAISE;
          END;
          /
          CALL p1();
          {code}


          h2. {{DUP_VAL_ON_INDEX}}

          Oracle's {{DUP_VAL_ON_INDEX}} will be translated to MariaDB error {{ER_DUP_ENTRY}}.

          The following three scripts return an error:
          {noformat}
          ORA-00001: unique constraint ... violated
          {noformat}

          {code:sql}
          DROP PROCEDURE p1;
          CREATE PROCEDURE p1
          AS
          BEGIN
            RAISE DUP_VAL_ON_INDEX;
          END;
          /
          CALL p1();
          {code}

          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT PRIMARY KEY);
          CREATE PROCEDURE p1
          AS
          BEGIN
            INSERT INTO t1 VALUES (10);
            INSERT INTO t1 VALUES (10);
          END;
          /
          CALL p1();
          {code}

          {code:sql}
          DROP TABLE t1;
          DROP PROCEDURE p1;
          CREATE TABLE t1 (a INT PRIMARY KEY);
          CREATE PROCEDURE p1
          AS
          BEGIN
            INSERT INTO t1 VALUES (10);
            INSERT INTO t1 VALUES (10);
          EXCEPTION
            WHEN DUP_VAL_ON_INDEX THEN RAISE;
          END;
          /
          CALL p1();
          {code}


          h2. {{INVALID_CURSOR}}

          Oracle's {{INVALID_CURSOR}} will be translated to MariaDB error {{ER_SP_CURSOR_NOT_OPEN}}.
          alvinr Alvin Richards (Inactive) made changes -
          Labels Compatibility Compatibility NRE-307517
          alvinr Alvin Richards (Inactive) made changes -
          Labels Compatibility NRE-307517 Approved Compatibility NRE-307517
          alvinr Alvin Richards (Inactive) made changes -
          NRE Projects NRE-307517
          alvinr Alvin Richards (Inactive) made changes -
          Labels Approved Compatibility NRE-307517 Approved Compatibility
          alvinr Alvin Richards (Inactive) made changes -
          NRE Approved Yes [ 10304 ]
          alvinr Alvin Richards (Inactive) made changes -
          Labels Approved Compatibility Compatibility
          bar Alexander Barkov made changes -
          Labels Compatibility Compatibility need_review
          bar Alexander Barkov made changes -
          Component/s Stored routines [ 13905 ]
          serg Sergei Golubchik made changes -
          Labels Compatibility need_review Compatibility
          serg Sergei Golubchik made changes -
          Workflow MariaDB v3 [ 77141 ] MariaDB v4 [ 150935 ]

          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.