mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Fixes bug #14569. When no db is selected as current and we do create procedure db.sp()...
we changing current db temporarily and restore it when sp is created. however thd->db in this case becomes empty string rather than NULL and so all checks of thd->db == NULL will be false. So if after this we'll issue create procedure sp2()... without specifying db it will succeed and create sp with db=NULL, which causes mysqldto crash on show procedure status statement. This patch fixes the problem.
This commit is contained in:
@ -916,3 +916,16 @@ ERROR 42S22: Unknown column 'bug13037_foo' in 'field list'
|
||||
DROP PROCEDURE bug13037_p1;
|
||||
DROP PROCEDURE bug13037_p2;
|
||||
DROP PROCEDURE bug13037_p3;
|
||||
create database mysqltest1;
|
||||
create database mysqltest2;
|
||||
use mysqltest1;
|
||||
drop database mysqltest1;
|
||||
create procedure mysqltest2.p1() select version();
|
||||
create procedure p2() select version();
|
||||
ERROR 3D000: No database selected
|
||||
use mysqltest2;
|
||||
show procedure status;
|
||||
Db Name Type Definer Modified Created Security_type Comment
|
||||
mysqltest2 p1 PROCEDURE root@localhost 0000-00-00 00:00:00 0000-00-00 00:00:00 DEFINER
|
||||
drop database mysqltest2;
|
||||
use test;
|
||||
|
Reference in New Issue
Block a user