sql_rename.cc, sql_table.cc, type_decimal.result, mix2_myisam.result:

  merge fixes
parent aaed3982
...@@ -1611,15 +1611,15 @@ i 10 ...@@ -1611,15 +1611,15 @@ i 10
select sql_big_result v,count(c) from t1 group by v limit 10; select sql_big_result v,count(c) from t1 group by v limit 10;
v count(c) v count(c)
a 1 a 1
a 10 a 10
b 10 b 10
c 10 c 10
d 10 d 10
e 10 e 10
f 10 f 10
g 10 g 10
h 10 h 10
i 10 i 10
select c,count(*) from t1 group by c limit 10; select c,count(*) from t1 group by c limit 10;
c count(*) c count(*)
a 1 a 1
......
...@@ -786,7 +786,7 @@ select group_concat(t) from t1 group by week(date)/10; ...@@ -786,7 +786,7 @@ select group_concat(t) from t1 group by week(date)/10;
group_concat(t) group_concat(t)
t t
Warnings: Warnings:
Warning 1292 Truncated incorrect datetime value: '0000-00-00' Warning 1292 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 Truncated incorrect datetime value: '0000-00-00' Warning 1292 Incorrect datetime value: '0000-00-00'
drop table t1; drop table t1;
...@@ -165,7 +165,7 @@ do_rename(THD *thd, TABLE_LIST *ren_table, char *new_db, char *new_table_name, ...@@ -165,7 +165,7 @@ do_rename(THD *thd, TABLE_LIST *ren_table, char *new_db, char *new_table_name,
else else
{ {
old_alias= ren_table->table_name; old_alias= ren_table->table_name;
new_alias= new_table_table_name; new_alias= new_table_name;
} }
build_table_filename(name, sizeof(name), build_table_filename(name, sizeof(name),
new_db, new_alias, reg_ext, 0); 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, ...@@ -182,8 +182,10 @@ do_rename(THD *thd, TABLE_LIST *ren_table, char *new_db, char *new_table_name,
{ {
case FRMTYPE_TABLE: case FRMTYPE_TABLE:
{ {
if (!(rc= mysql_rename_table(table_type, ren_table->db, old_alias, if (!(rc= mysql_rename_table(ha_resolve_by_legacy_type(thd,
new_db, new_alias))) table_type),
ren_table->db, old_alias,
new_db, new_alias, 0)))
{ {
if ((rc= Table_triggers_list::change_table_name(thd, ren_table->db, if ((rc= Table_triggers_list::change_table_name(thd, ren_table->db,
old_alias, old_alias,
...@@ -204,7 +206,6 @@ do_rename(THD *thd, TABLE_LIST *ren_table, char *new_db, char *new_table_name, ...@@ -204,7 +206,6 @@ do_rename(THD *thd, TABLE_LIST *ren_table, char *new_db, char *new_table_name,
} }
} }
break; break;
}
case FRMTYPE_VIEW: case FRMTYPE_VIEW:
/* change of schema is not allowed */ /* change of schema is not allowed */
if (strcmp(ren_table->db, new_db)) if (strcmp(ren_table->db, new_db))
......
...@@ -5151,7 +5151,8 @@ bool mysql_alter_table(THD *thd,char *new_db, char *new_name, ...@@ -5151,7 +5151,8 @@ bool mysql_alter_table(THD *thd,char *new_db, char *new_name,
char reg_path[FN_REFLEN+1]; char reg_path[FN_REFLEN+1];
ha_rows copied,deleted; ha_rows copied,deleted;
uint db_create_options, used_fields; 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; HA_CREATE_INFO *create_info;
frm_type_enum frm_type; frm_type_enum frm_type;
uint need_copy_table= 0; uint need_copy_table= 0;
...@@ -5235,8 +5236,9 @@ bool mysql_alter_table(THD *thd,char *new_db, char *new_name, ...@@ -5235,8 +5236,9 @@ bool mysql_alter_table(THD *thd,char *new_db, char *new_name,
if (alter_info->tablespace_op != NO_TABLESPACE_OP) if (alter_info->tablespace_op != NO_TABLESPACE_OP)
DBUG_RETURN(mysql_discard_or_import_tablespace(thd,table_list, DBUG_RETURN(mysql_discard_or_import_tablespace(thd,table_list,
alter_info->tablespace_op)); alter_info->tablespace_op));
sprintf(new_name_buff,"%s/%s/%s%s",mysql_data_home, db, table_name, reg_ext); strxnmov(new_name_buff, sizeof (new_name_buff) - 1, mysql_data_home, "/", db,
unpack_filename(new_name_buff, new_name_buff); "/", table_name, reg_ext, NullS);
(void) unpack_filename(new_name_buff, new_name_buff);
if (lower_case_table_names != 2) if (lower_case_table_names != 2)
my_casedn_str(files_charset_info, new_name_buff); my_casedn_str(files_charset_info, new_name_buff);
frm_type= mysql_frm_type(thd, new_name_buff, &table_type); frm_type= mysql_frm_type(thd, new_name_buff, &table_type);
......
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