summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mysql-test/r/mix2_myisam.result16
-rw-r--r--mysql-test/r/type_decimal.result6
-rw-r--r--sql/sql_rename.cc9
-rw-r--r--sql/sql_table.cc8
4 files changed, 21 insertions, 18 deletions
diff --git a/mysql-test/r/mix2_myisam.result b/mysql-test/r/mix2_myisam.result
index 9a7d71820f8..45b4784251a 100644
--- a/mysql-test/r/mix2_myisam.result
+++ b/mysql-test/r/mix2_myisam.result
@@ -1611,15 +1611,15 @@ i 10
select sql_big_result v,count(c) from t1 group by v limit 10;
v count(c)
a 1
-a 10
-b 10
-c 10
-d 10
-e 10
-f 10
-g 10
+a 10
+b 10
+c 10
+d 10
+e 10
+f 10
+g 10
h 10
-i 10
+i 10
select c,count(*) from t1 group by c limit 10;
c count(*)
a 1
diff --git a/mysql-test/r/type_decimal.result b/mysql-test/r/type_decimal.result
index 0840872a7a9..dfbd6619436 100644
--- a/mysql-test/r/type_decimal.result
+++ b/mysql-test/r/type_decimal.result
@@ -786,7 +786,7 @@ select group_concat(t) from t1 group by week(date)/10;
group_concat(t)
t
Warnings:
-Warning 1292 Truncated incorrect datetime value: '0000-00-00'
-Warning 1292 Truncated incorrect datetime value: '0000-00-00'
-Warning 1292 Truncated incorrect datetime value: '0000-00-00'
+Warning 1292 Incorrect datetime value: '0000-00-00'
+Warning 1292 Incorrect datetime value: '0000-00-00'
+Warning 1292 Incorrect datetime value: '0000-00-00'
drop table t1;
diff --git a/sql/sql_rename.cc b/sql/sql_rename.cc
index 8b04345640b..bf2e2d506cd 100644
--- a/sql/sql_rename.cc
+++ b/sql/sql_rename.cc
@@ -165,7 +165,7 @@ do_rename(THD *thd, TABLE_LIST *ren_table, char *new_db, char *new_table_name,
else
{
old_alias= ren_table->table_name;
- new_alias= new_table_table_name;
+ new_alias= new_table_name;
}
build_table_filename(name, sizeof(name),
new_db, new_alias, reg_ext, 0);
@@ -182,8 +182,10 @@ do_rename(THD *thd, TABLE_LIST *ren_table, char *new_db, char *new_table_name,
{
case FRMTYPE_TABLE:
{
- if (!(rc= mysql_rename_table(table_type, ren_table->db, old_alias,
- new_db, new_alias)))
+ if (!(rc= mysql_rename_table(ha_resolve_by_legacy_type(thd,
+ table_type),
+ ren_table->db, old_alias,
+ new_db, new_alias, 0)))
{
if ((rc= Table_triggers_list::change_table_name(thd, ren_table->db,
old_alias,
@@ -204,7 +206,6 @@ do_rename(THD *thd, TABLE_LIST *ren_table, char *new_db, char *new_table_name,
}
}
break;
- }
case FRMTYPE_VIEW:
/* change of schema is not allowed */
if (strcmp(ren_table->db, new_db))
diff --git a/sql/sql_table.cc b/sql/sql_table.cc
index d2f108cb8f2..c024ee8ddbe 100644
--- a/sql/sql_table.cc
+++ b/sql/sql_table.cc
@@ -5151,7 +5151,8 @@ bool mysql_alter_table(THD *thd,char *new_db, char *new_name,
char reg_path[FN_REFLEN+1];
ha_rows copied,deleted;
uint db_create_options, used_fields;
- handlerton *old_db_type, *new_db_type, table_type;
+ handlerton *old_db_type, *new_db_type;
+ legacy_db_type table_type;
HA_CREATE_INFO *create_info;
frm_type_enum frm_type;
uint need_copy_table= 0;
@@ -5235,8 +5236,9 @@ bool mysql_alter_table(THD *thd,char *new_db, char *new_name,
if (alter_info->tablespace_op != NO_TABLESPACE_OP)
DBUG_RETURN(mysql_discard_or_import_tablespace(thd,table_list,
alter_info->tablespace_op));
- sprintf(new_name_buff,"%s/%s/%s%s",mysql_data_home, db, table_name, reg_ext);
- unpack_filename(new_name_buff, new_name_buff);
+ strxnmov(new_name_buff, sizeof (new_name_buff) - 1, mysql_data_home, "/", db,
+ "/", table_name, reg_ext, NullS);
+ (void) unpack_filename(new_name_buff, new_name_buff);
if (lower_case_table_names != 2)
my_casedn_str(files_charset_info, new_name_buff);
frm_type= mysql_frm_type(thd, new_name_buff, &table_type);