summaryrefslogtreecommitdiff
path: root/mysql-test/suite/compat/oracle/t/sp.test
diff options
context:
space:
mode:
authorAlexander Barkov <bar@mariadb.org>2016-08-16 10:24:12 +0400
committerAlexander Barkov <bar@mariadb.org>2017-04-05 15:02:43 +0400
commit4b61495576bc240392d7aaaec38ecac8631e447c (patch)
tree709a45ba786bcc894ed9752ea7fb603f1b9da866 /mysql-test/suite/compat/oracle/t/sp.test
parentd2b007d6bc8458d3451bb28cc7319e39dae00e7d (diff)
downloadmariadb-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.test28
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;