From 666efa1c43344a0b4dbe815e57333647d4d8f2b3 Mon Sep 17 00:00:00 2001 From: unknown <gluh@mysql.com/eagle.(none)> Date: Wed, 17 Oct 2007 14:08:03 +0500 Subject: [PATCH] Bug#31381 Error in retrieving Data from INFORMATION_SCHEMA move 'table_collation' field filling outside of if(file) condition because this field has 'OPEN_FRM_ONLY' attribute mysql-test/r/information_schema.result: test result mysql-test/t/information_schema.test: test case sql/sql_show.cc: move 'table_collation' field filling outside of if(file) condition because this field has 'OPEN_FRM_ONLY' attribute --- mysql-test/r/information_schema.result | 4 ++++ mysql-test/t/information_schema.test | 6 ++++++ sql/sql_show.cc | 7 ++++--- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/mysql-test/r/information_schema.result b/mysql-test/r/information_schema.result index f185522470..a33e3470d2 100644 --- a/mysql-test/r/information_schema.result +++ b/mysql-test/r/information_schema.result @@ -1560,4 +1560,8 @@ SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME ='information_schema'; SCHEMA_NAME information_schema +SELECT TABLE_COLLATION FROM INFORMATION_SCHEMA.TABLES +WHERE TABLE_SCHEMA='mysql' and TABLE_NAME= 'db'; +TABLE_COLLATION +utf8_bin End of 5.1 tests. diff --git a/mysql-test/t/information_schema.test b/mysql-test/t/information_schema.test index 96d510e207..6d6efd9939 100644 --- a/mysql-test/t/information_schema.test +++ b/mysql-test/t/information_schema.test @@ -1201,5 +1201,11 @@ DROP VIEW v1; # SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME ='information_schema'; + +# +# Bug#31381 Error in retrieving Data from INFORMATION_SCHEMA +# +SELECT TABLE_COLLATION FROM INFORMATION_SCHEMA.TABLES +WHERE TABLE_SCHEMA='mysql' and TABLE_NAME= 'db'; --echo End of 5.1 tests. diff --git a/sql/sql_show.cc b/sql/sql_show.cc index cc0cda4232..6104efd776 100644 --- a/sql/sql_show.cc +++ b/sql/sql_show.cc @@ -3487,6 +3487,10 @@ static int get_schema_tables_record(THD *thd, TABLE_LIST *tables, (ptr == option_buff ? 0 : (uint) (ptr-option_buff)-1), cs); + tmp_buff= (share->table_charset ? + share->table_charset->name : "default"); + table->field[17]->store(tmp_buff, strlen(tmp_buff), cs); + if (share->comment.str) table->field[20]->store(share->comment.str, share->comment.length, cs); @@ -3564,9 +3568,6 @@ static int get_schema_tables_record(THD *thd, TABLE_LIST *tables, table->field[16]->store_time(&time, MYSQL_TIMESTAMP_DATETIME); table->field[16]->set_notnull(); } - tmp_buff= (share->table_charset ? - share->table_charset->name : "default"); - table->field[17]->store(tmp_buff, strlen(tmp_buff), cs); if (file->ha_table_flags() & (ulong) HA_HAS_CHECKSUM) { table->field[18]->store((longlong) file->checksum(), TRUE); -- 2.30.9