1#
2# MDEV-17429 mysqldump uses 10.3 options with pre-10.3 servers and breaks
3#
4SELECT @@version;
5@@version
610.2.1-MariaDB
7SET sql_mode=ORACLE;
8CREATE DATABASE db1_mdev17429;
9USE db1_mdev17429;
10CREATE PROCEDURE p1(a INT)
11AS BEGIN
12NULL;
13END;
14$$
15CREATE OR REPLACE PACKAGE employee_tools AS
16FUNCTION getSalary(eid INT) RETURN DECIMAL(10,2);
17PROCEDURE raiseSalary(eid INT, amount DECIMAL(10,2));
18PROCEDURE raiseSalaryStd(eid INT);
19PROCEDURE hire(ename TEXT, esalary DECIMAL(10,2));
20END;
21$$
22CREATE PACKAGE BODY employee_tools AS
23-- package body variables
24stdRaiseAmount DECIMAL(10,2):=500;
25-- private routines
26PROCEDURE log (eid INT, ecmnt TEXT) AS
27BEGIN
28INSERT INTO employee_log (id, cmnt) VALUES (eid, ecmnt);
29END;
30-- public routines
31PROCEDURE hire(ename TEXT, esalary DECIMAL(10,2)) AS
32eid INT;
33BEGIN
34INSERT INTO employee (name, salary) VALUES (ename, esalary);
35eid:= last_insert_id();
36log(eid, 'hire ' || ename);
37END;
38FUNCTION getSalary(eid INT) RETURN DECIMAL(10,2) AS
39nSalary DECIMAL(10,2);
40BEGIN
41SELECT salary INTO nSalary FROM employee WHERE id=eid;
42log(eid, 'getSalary id=' || eid || ' salary=' || nSalary);
43RETURN nSalary;
44END;
45PROCEDURE raiseSalary(eid INT, amount DECIMAL(10,2)) AS
46BEGIN
47UPDATE employee SET salary=salary+amount WHERE id=eid;
48log(eid, 'raiseSalary id=' || eid || ' amount=' || amount);
49END;
50PROCEDURE raiseSalaryStd(eid INT) AS
51BEGIN
52raiseSalary(eid, stdRaiseAmount);
53log(eid, 'raiseSalaryStd id=' || eid);
54END;
55BEGIN
56-- This code is executed when the current session
57-- accesses any of the package routines for the first time
58log(0, 'Session ' || connection_id() || ' ' || current_user || ' started');
59END;
60$$
61-- MariaDB dump DUMPVERSION  Distrib DISTVERSION, for OS
62--
63-- Host: localhost    Database: db1_mdev17429
64-- ------------------------------------------------------
65-- Server version	10.2.1-MariaDB
66
67/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
68/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
69/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
70/*!40101 SET NAMES utf8mb4 */;
71/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
72/*!40103 SET TIME_ZONE='+00:00' */;
73/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
74/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
75/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
76
77--
78-- Dumping routines for database 'db1_mdev17429'
79--
80/*!50003 DROP PROCEDURE IF EXISTS `p1` */;
81/*!50003 SET @saved_cs_client      = @@character_set_client */ ;
82/*!50003 SET @saved_cs_results     = @@character_set_results */ ;
83/*!50003 SET @saved_col_connection = @@collation_connection */ ;
84/*!50003 SET character_set_client  = latin1 */ ;
85/*!50003 SET character_set_results = latin1 */ ;
86/*!50003 SET collation_connection  = latin1_swedish_ci */ ;
87/*!50003 SET @saved_sql_mode       = @@sql_mode */ ;
88/*!50003 SET sql_mode              = 'PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ORACLE,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_FIELD_OPTIONS,NO_AUTO_CREATE_USER,SIMULTANEOUS_ASSIGNMENT' */ ;
89DELIMITER ;;
90CREATE DEFINER="root"@"localhost" PROCEDURE "p1"(a INT)
91AS BEGIN
92NULL;
93END ;;
94DELIMITER ;
95/*!50003 SET sql_mode              = @saved_sql_mode */ ;
96/*!50003 SET character_set_client  = @saved_cs_client */ ;
97/*!50003 SET character_set_results = @saved_cs_results */ ;
98/*!50003 SET collation_connection  = @saved_col_connection */ ;
99/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
100
101/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
102/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
103/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
104/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
105/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
106/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
107
108-- Dump completed on TIMESTAMP
109DROP DATABASE db1_mdev17429;
110SET sql_mode=DEFAULT;
111