|
| 1 | +# |
| 2 | +# MDEV-17429 mysqldump uses 10.3 options with pre-10.3 servers and breaks |
| 3 | +# |
| 4 | +SELECT @@version; |
| 5 | +@@version |
| 6 | +10.2.1-MariaDB |
| 7 | +SET sql_mode=ORACLE; |
| 8 | +CREATE DATABASE db1_mdev17429; |
| 9 | +USE db1_mdev17429; |
| 10 | +CREATE PROCEDURE p1(a INT) |
| 11 | +AS BEGIN |
| 12 | +NULL; |
| 13 | +END; |
| 14 | +$$ |
| 15 | +CREATE OR REPLACE PACKAGE employee_tools AS |
| 16 | +FUNCTION getSalary(eid INT) RETURN DECIMAL(10,2); |
| 17 | +PROCEDURE raiseSalary(eid INT, amount DECIMAL(10,2)); |
| 18 | +PROCEDURE raiseSalaryStd(eid INT); |
| 19 | +PROCEDURE hire(ename TEXT, esalary DECIMAL(10,2)); |
| 20 | +END; |
| 21 | +$$ |
| 22 | +CREATE PACKAGE BODY employee_tools AS |
| 23 | +-- package body variables |
| 24 | +stdRaiseAmount DECIMAL(10,2):=500; |
| 25 | +-- private routines |
| 26 | +PROCEDURE log (eid INT, ecmnt TEXT) AS |
| 27 | +BEGIN |
| 28 | +INSERT INTO employee_log (id, cmnt) VALUES (eid, ecmnt); |
| 29 | +END; |
| 30 | +-- public routines |
| 31 | +PROCEDURE hire(ename TEXT, esalary DECIMAL(10,2)) AS |
| 32 | +eid INT; |
| 33 | +BEGIN |
| 34 | +INSERT INTO employee (name, salary) VALUES (ename, esalary); |
| 35 | +eid:= last_insert_id(); |
| 36 | +log(eid, 'hire ' || ename); |
| 37 | +END; |
| 38 | +FUNCTION getSalary(eid INT) RETURN DECIMAL(10,2) AS |
| 39 | +nSalary DECIMAL(10,2); |
| 40 | +BEGIN |
| 41 | +SELECT salary INTO nSalary FROM employee WHERE id=eid; |
| 42 | +log(eid, 'getSalary id=' || eid || ' salary=' || nSalary); |
| 43 | +RETURN nSalary; |
| 44 | +END; |
| 45 | +PROCEDURE raiseSalary(eid INT, amount DECIMAL(10,2)) AS |
| 46 | +BEGIN |
| 47 | +UPDATE employee SET salary=salary+amount WHERE id=eid; |
| 48 | +log(eid, 'raiseSalary id=' || eid || ' amount=' || amount); |
| 49 | +END; |
| 50 | +PROCEDURE raiseSalaryStd(eid INT) AS |
| 51 | +BEGIN |
| 52 | +raiseSalary(eid, stdRaiseAmount); |
| 53 | +log(eid, 'raiseSalaryStd id=' || eid); |
| 54 | +END; |
| 55 | +BEGIN |
| 56 | +-- This code is executed when the current session |
| 57 | +-- accesses any of the package routines for the first time |
| 58 | +log(0, 'Session ' || connection_id() || ' ' || current_user || ' started'); |
| 59 | +END; |
| 60 | +$$ |
| 61 | +-- MySQL 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' */ ; |
| 89 | +DELIMITER ;; |
| 90 | +CREATE DEFINER="root"@"localhost" PROCEDURE "p1"(a INT) |
| 91 | +AS BEGIN |
| 92 | +NULL; |
| 93 | +END ;; |
| 94 | +DELIMITER ; |
| 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 |
| 109 | +DROP DATABASE db1_mdev17429; |
| 110 | +SET sql_mode=DEFAULT; |
0 commit comments