Commit 0a22a1b9 authored by unknown's avatar unknown

Additional fix for bug#22369


mysql-test/t/events_bugs.test:
  let events_bugs not fail because of timing
sql/sql_table.cc:
  if the db or name has been changed ALTER_RENAME,
  then fix table_list
  Solution by having the second table added in the parser to the
  list of used tables, won't work because checking of rights of merge
  tables goes over table_list->next_local and checks the rights, so
  we will fail there.
sql/sql_yacc.yy:
  fix name - prevents ddd from correct working
parent 1963159f
...@@ -280,7 +280,7 @@ create event e22830_3 on schedule every 1 hour do alter event e22830_3 on schedu ...@@ -280,7 +280,7 @@ create event e22830_3 on schedule every 1 hour do alter event e22830_3 on schedu
create event e22830_4 on schedule every 1 hour do alter event e22830_4 on schedule every (select f22830() from dual) hour; create event e22830_4 on schedule every 1 hour do alter event e22830_4 on schedule every (select f22830() from dual) hour;
select event_name, event_definition, interval_value, interval_field from information_schema.events order by event_name; select event_name, event_definition, interval_value, interval_field from information_schema.events order by event_name;
set global event_scheduler=on; set global event_scheduler=on;
--sleep 2.4 --sleep 4
set global event_scheduler=off; set global event_scheduler=off;
select event_name, event_definition, interval_value, interval_field from information_schema.events order by event_name; select event_name, event_definition, interval_value, interval_field from information_schema.events order by event_name;
drop function f22830; drop function f22830;
......
...@@ -6527,6 +6527,15 @@ bool mysql_alter_table(THD *thd,char *new_db, char *new_name, ...@@ -6527,6 +6527,15 @@ bool mysql_alter_table(THD *thd,char *new_db, char *new_name,
{ {
if (! table) if (! table)
{ {
if (new_name != table_name || new_db != db)
{
table_list->alias= new_name;
table_list->table_name= new_name;
table_list->table_name_length= strlen(new_name);
table_list->db= new_db;
table_list->db_length= strlen(new_db);
}
VOID(pthread_mutex_unlock(&LOCK_open)); VOID(pthread_mutex_unlock(&LOCK_open));
if (! (table= open_ltable(thd, table_list, TL_WRITE_ALLOW_READ))) if (! (table= open_ltable(thd, table_list, TL_WRITE_ALLOW_READ)))
goto err; goto err;
......
...@@ -4868,7 +4868,7 @@ alter_commands: ...@@ -4868,7 +4868,7 @@ alter_commands:
| remove_partitioning | remove_partitioning
| partitioning | partitioning
/* /*
This part was added for release 5.1 by Mikael Ronstrm. This part was added for release 5.1 by Mikael Ronström.
From here we insert a number of commands to manage the partitions of a From here we insert a number of commands to manage the partitions of a
partitioned table such as adding partitions, dropping partitions, partitioned table such as adding partitions, dropping partitions,
reorganising partitions in various manners. In future releases the list reorganising partitions in various manners. In future releases the list
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment