mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Bug #3403 Wrong encoding in EXPLAIN SELECT output
This commit is contained in:
@ -44,3 +44,12 @@ explain select count(*) from t1;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Select tables optimized away
|
||||
drop table t1;
|
||||
set names koi8r;
|
||||
create table <20><><EFBFBD> (<28><><EFBFBD>0 int, <20><><EFBFBD>1 int, key <20><><EFBFBD>0 (<28><><EFBFBD>0), key <20><><EFBFBD>01 (<28><><EFBFBD>0,<2C><><EFBFBD>1));
|
||||
insert into <20><><EFBFBD> (<28><><EFBFBD>0) values (1);
|
||||
insert into <20><><EFBFBD> (<28><><EFBFBD>0) values (2);
|
||||
explain select <20><><EFBFBD>0 from <20><><EFBFBD> where <20><><EFBFBD>0=1;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE <09><><EFBFBD> ref <09><><EFBFBD>0,<2C><><EFBFBD>01 <09><><EFBFBD>0 5 const 1 Using where; Using index
|
||||
drop table <20><><EFBFBD>;
|
||||
set names latin1;
|
||||
|
@ -30,3 +30,14 @@ explain select count(*) from t1;
|
||||
insert into t1 values(1);
|
||||
explain select count(*) from t1;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Bug #3403 Wrong encoding in EXPLAIN SELECT output
|
||||
#
|
||||
set names koi8r;
|
||||
create table <20><><EFBFBD> (<28><><EFBFBD>0 int, <20><><EFBFBD>1 int, key <20><><EFBFBD>0 (<28><><EFBFBD>0), key <20><><EFBFBD>01 (<28><><EFBFBD>0,<2C><><EFBFBD>1));
|
||||
insert into <20><><EFBFBD> (<28><><EFBFBD>0) values (1);
|
||||
insert into <20><><EFBFBD> (<28><><EFBFBD>0) values (2);
|
||||
explain select <20><><EFBFBD>0 from <20><><EFBFBD> where <20><><EFBFBD>0=1;
|
||||
drop table <20><><EFBFBD>;
|
||||
set names latin1;
|
||||
|
@ -9123,7 +9123,7 @@ static void select_describe(JOIN *join, bool need_tmp_table, bool need_order,
|
||||
THD *thd=join->thd;
|
||||
select_result *result=join->result;
|
||||
Item *item_null= new Item_null();
|
||||
CHARSET_INFO *cs= &my_charset_latin1;
|
||||
CHARSET_INFO *cs= system_charset_info;
|
||||
DBUG_ENTER("select_describe");
|
||||
DBUG_PRINT("info", ("Select 0x%lx, type %s, message %s",
|
||||
(ulong)join->select_lex, join->select_lex->type,
|
||||
@ -9190,7 +9190,7 @@ static void select_describe(JOIN *join, bool need_tmp_table, bool need_order,
|
||||
{
|
||||
if (tmp1.length())
|
||||
tmp1.append(',');
|
||||
tmp1.append(table->key_info[j].name);
|
||||
tmp1.append(table->key_info[j].name, 0, system_charset_info);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -9209,7 +9209,7 @@ static void select_describe(JOIN *join, bool need_tmp_table, bool need_order,
|
||||
{
|
||||
if (tmp2.length())
|
||||
tmp2.append(',');
|
||||
tmp2.append((*ref)->name());
|
||||
tmp2.append((*ref)->name(), 0, system_charset_info);
|
||||
}
|
||||
item_list.push_back(new Item_string(tmp2.ptr(),tmp2.length(),cs));
|
||||
}
|
||||
|
Reference in New Issue
Block a user