summaryrefslogtreecommitdiff
path: root/sql/sql_class.cc
diff options
context:
space:
mode:
authorunknown <bar@mysql.com>2004-09-16 14:47:39 +0500
committerunknown <bar@mysql.com>2004-09-16 14:47:39 +0500
commite177c9586d10e7c55277051a3e51edfeddbb25f8 (patch)
tree11eb7f684a2c3f7ffcfd151072f718831d62f1cd /sql/sql_class.cc
parent5218404b1234bcfc20f4ccf0b7591800c323328b (diff)
downloadmariadb-git-e177c9586d10e7c55277051a3e51edfeddbb25f8.tar.gz
Return character strings in table, type, possible_keys, key fields
of EXPLAIN SELECT, rather than binary strings.
Diffstat (limited to 'sql/sql_class.cc')
-rw-r--r--sql/sql_class.cc18
1 files changed, 10 insertions, 8 deletions
diff --git a/sql/sql_class.cc b/sql/sql_class.cc
index 349fc792a2a..16c0c206df3 100644
--- a/sql/sql_class.cc
+++ b/sql/sql_class.cc
@@ -654,27 +654,29 @@ CHANGED_TABLE_LIST* THD::changed_table_dup(const char *key, long key_length)
return new_table;
}
+
int THD::send_explain_fields(select_result *result)
{
List<Item> field_list;
Item *item;
+ CHARSET_INFO *cs= system_charset_info;
field_list.push_back(new Item_return_int("id",3, MYSQL_TYPE_LONGLONG));
- field_list.push_back(new Item_empty_string("select_type",19));
- field_list.push_back(new Item_empty_string("table",NAME_LEN));
- field_list.push_back(new Item_empty_string("type",10));
+ field_list.push_back(new Item_empty_string("select_type", 19, cs));
+ field_list.push_back(new Item_empty_string("table", NAME_LEN, cs));
+ field_list.push_back(new Item_empty_string("type", 10, cs));
field_list.push_back(item=new Item_empty_string("possible_keys",
- NAME_LEN*MAX_KEY));
+ NAME_LEN*MAX_KEY, cs));
item->maybe_null=1;
- field_list.push_back(item=new Item_empty_string("key",NAME_LEN));
+ field_list.push_back(item=new Item_empty_string("key", NAME_LEN, cs));
item->maybe_null=1;
field_list.push_back(item=new Item_return_int("key_len",3,
MYSQL_TYPE_LONGLONG));
item->maybe_null=1;
field_list.push_back(item=new Item_empty_string("ref",
- NAME_LEN*MAX_REF_PARTS));
+ NAME_LEN*MAX_REF_PARTS, cs));
item->maybe_null=1;
- field_list.push_back(new Item_return_int("rows",10, MYSQL_TYPE_LONGLONG));
- field_list.push_back(new Item_empty_string("Extra",255));
+ field_list.push_back(new Item_return_int("rows", 10, MYSQL_TYPE_LONGLONG));
+ field_list.push_back(new Item_empty_string("Extra", 255, cs));
return (result->send_fields(field_list,1));
}