diff options
author | Alexander Barkov <bar@mariadb.org> | 2016-08-16 10:24:12 +0400 |
---|---|---|
committer | Alexander Barkov <bar@mariadb.org> | 2017-04-05 15:02:43 +0400 |
commit | 4b61495576bc240392d7aaaec38ecac8631e447c (patch) | |
tree | 709a45ba786bcc894ed9752ea7fb603f1b9da866 /mysql-test/suite/compat/oracle/t/sp.test | |
parent | d2b007d6bc8458d3451bb28cc7319e39dae00e7d (diff) | |
download | mariadb-git-4b61495576bc240392d7aaaec38ecac8631e447c.tar.gz |
MDEV-10411 Providing compatibility for basic PL/SQL constructs
Part 9: EXCEPTION handlers
EXCEPTION is now supported in inner blocks.
Diffstat (limited to 'mysql-test/suite/compat/oracle/t/sp.test')
-rw-r--r-- | mysql-test/suite/compat/oracle/t/sp.test | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/mysql-test/suite/compat/oracle/t/sp.test b/mysql-test/suite/compat/oracle/t/sp.test index a838a74d2da..6b47ab4f7d6 100644 --- a/mysql-test/suite/compat/oracle/t/sp.test +++ b/mysql-test/suite/compat/oracle/t/sp.test @@ -497,3 +497,31 @@ CALL sp1(@v, 30001); CALL sp1(@v, 30002); SELECT @v; DROP PROCEDURE sp1; + + +DELIMITER /; +CREATE PROCEDURE sp1 (v IN OUT INT, error IN INT) +IS +BEGIN + BEGIN + BEGIN + SIGNAL SQLSTATE '45000' SET MYSQL_ERRNO=error, MESSAGE_TEXT='User defined error!'; + v:= 223; + EXCEPTION + WHEN 30001 THEN + BEGIN + v:= 113; + END; + END; + END; +END; +/ +DELIMITER ;/ +SET @v=10; +CALL sp1(@v, 30001); +SELECT @v; +SET @v=10; +--error 30002 +CALL sp1(@v, 30002); +SELECT @v; +DROP PROCEDURE sp1; |