mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 12:32:27 +01:00
Merge svlasenko@bk-internal.mysql.com:/home/bk/mysql-5.0
into selena.:H:/MYSQL/src/#14569-mysql-5.0 sql/sql_parse.cc: Auto merged
This commit is contained in:
commit
14637f97cd
4 changed files with 41 additions and 3 deletions
|
@ -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;
|
||||
|
|
|
@ -1337,6 +1337,22 @@ DROP PROCEDURE bug13037_p1;
|
|||
DROP PROCEDURE bug13037_p2;
|
||||
DROP PROCEDURE bug13037_p3;
|
||||
|
||||
#
|
||||
# Bug#14569 "editing a stored procedure kills mysqld-nt"
|
||||
#
|
||||
create database mysqltest1;
|
||||
create database mysqltest2;
|
||||
use mysqltest1;
|
||||
drop database mysqltest1;
|
||||
create procedure mysqltest2.p1() select version();
|
||||
--error ER_NO_DB_ERROR
|
||||
create procedure p2() select version();
|
||||
use mysqltest2;
|
||||
--replace_column 5 '0000-00-00 00:00:00' 6 '0000-00-00 00:00:00'
|
||||
show procedure status;
|
||||
drop database mysqltest2;
|
||||
use test;
|
||||
|
||||
|
||||
# BUG#NNNN: New bug synopsis
|
||||
#
|
||||
|
|
|
@ -1163,8 +1163,17 @@ bool mysql_change_db(THD *thd, const char *name, bool no_access_check)
|
|||
}
|
||||
end:
|
||||
x_free(thd->db);
|
||||
thd->db=dbname; // THD::~THD will free this
|
||||
thd->db_length=db_length;
|
||||
if (dbname && dbname[0] == 0)
|
||||
{
|
||||
x_free(dbname);
|
||||
thd->db= NULL;
|
||||
thd->db_length= 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
thd->db= dbname; // THD::~THD will free this
|
||||
thd->db_length= db_length;
|
||||
}
|
||||
#ifndef NO_EMBEDDED_ACCESS_CHECKS
|
||||
if (!no_access_check)
|
||||
sctx->db_access= db_access;
|
||||
|
|
|
@ -4099,7 +4099,7 @@ end_with_restore_list:
|
|||
|
||||
if (!lex->sphead->m_db.str || !lex->sphead->m_db.str[0])
|
||||
{
|
||||
if (! thd->db)
|
||||
if (!thd->db)
|
||||
{
|
||||
my_message(ER_NO_DB_ERROR, ER(ER_NO_DB_ERROR), MYF(0));
|
||||
delete lex->sphead;
|
||||
|
|
Loading…
Reference in a new issue