From 3f18c6bc4726227f74bd3abc6f79c99407a2e7f4 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 30 Apr 2007 11:30:07 +0200 Subject: Bug#27293: mysqldump crashes when dumping procedure defined by different user mysqldump didn't properly handle getting no data on SHOW CREATE PROCEDURE. If S/C/P fails (due to dumping user's insufficient privileges on mysql.proc, say), mysqldump will print a comment to that effect to the output and return an error-code. If the -f (force) option is used, the dump will continue, otherwise, it will abort right there and then. Also fixes Bug#22761, "mysqldump reports no errors when using --routines without mysql.proc privileges" --- Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-maint into mysql.com:/home/tnurnberg/27293/50-27293 client/mysqldump.c: Bug#27293: mysqldump crashes when dumping procedure defined by different user handle failure of SHOW CREATE PROCEDURE, give user diagnostics, heed -f (force) option mysql-test/r/mysqldump.result: Bug#27293: mysqldump crashes when dumping procedure defined by different user show that trying to mysqldump --routines with insufficient privileges will no longer crash the client --- manual merge mysql-test/t/mysqldump.test: Bug#27293: mysqldump crashes when dumping procedure defined by different user show that trying to mysqldump --routines with insufficient privileges will no longer crash the client --- manual merge --- mysql-test/r/mysqldump.result | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'mysql-test/r/mysqldump.result') diff --git a/mysql-test/r/mysqldump.result b/mysql-test/r/mysqldump.result index 5caaa9264d0..d9198ffeb48 100644 --- a/mysql-test/r/mysqldump.result +++ b/mysql-test/r/mysqldump.result @@ -3282,6 +3282,33 @@ v3 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VI drop database bug23491_original; drop database bug23491_restore; use test; +# +# Bug 27293: mysqldump crashes when dumping routines +# defined by a different user +# +# Bug #22761: mysqldump reports no errors when using +# --routines without mysql.proc privileges +# +create database mysqldump_test_db; +grant all privileges on mysqldump_test_db.* to user1; +grant all privileges on mysqldump_test_db.* to user2; +create procedure mysqldump_test_db.sp1() select 'hello'; +DELIMITER ;; + +-- insufficient privileges to SHOW CREATE PROCEDURE `sp1` +-- does user2 have permissions on mysql.proc? + +DELIMITER ; +DELIMITER ;; +/*!50003 SET SESSION SQL_MODE=""*/;; +/*!50003 CREATE*/ /*!50020 DEFINER=`user1`@`%`*/ /*!50003 PROCEDURE `sp1`() +select 'hello' */;; +/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;; +DELIMITER ; +drop procedure sp1; +drop user user1; +drop user user2; +drop database mysqldump_test_db; # # End of 5.0 tests # -- cgit v1.2.1