From bfbafe4c8edd8087b57c53160ff89da68c2e57c8 Mon Sep 17 00:00:00 2001 From: "cmiller@zippy.cornsilk.net" <> Date: Tue, 27 Mar 2007 11:30:53 -0400 Subject: [PATCH 1/2] Bug#26600: table PROFILING in INFORMATION SCHEMA has wrong data type Bug#27047[partial]: INFORMATION_SCHEMA table cannot have BIGINT \ fields No Information_schema table has ever needed floating-point data before. Transforming all floating point to a string and back to a number causes a real data problem on Windows, where the libc may pad the exponent with more leading zeroes than we expect and the significant digits are truncated away. This also makes interpreting an unimplemented type as a string into a fatal error in debug builds. Thus, we will catch problems when we try to use those types in new I_S tables. --- sql/sql_show.cc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/sql/sql_show.cc b/sql/sql_show.cc index 659dd49d537..d9984552048 100644 --- a/sql/sql_show.cc +++ b/sql/sql_show.cc @@ -3592,7 +3592,16 @@ TABLE *create_schema_table(THD *thd, TABLE_LIST *table_list) DBUG_RETURN(0); } break; + case MYSQL_TYPE_FLOAT: + case MYSQL_TYPE_DOUBLE: + if ((item= new Item_float(fields_info->field_name, 0.0, NOT_FIXED_DEC, + fields_info->field_length)) == NULL) + DBUG_RETURN(NULL); + break; default: + /* Don't let unimplemented types pass through. Could be a grave error. */ + DBUG_ASSERT(fields_info->field_type == MYSQL_TYPE_STRING); + /* this should be changed when Item_empty_string is fixed(in 4.1) */ if (!(item= new Item_empty_string("", 0, cs))) { From 2600dade721d881dd8459478bc78e66415a01777 Mon Sep 17 00:00:00 2001 From: "msvensson@pilot.blaudden" <> Date: Tue, 27 Mar 2007 21:29:45 +0200 Subject: [PATCH 2/2] Remove remnants of ssl_des.test --- mysql-test/t/ssl_des-master.opt | 1 - 1 file changed, 1 deletion(-) delete mode 100644 mysql-test/t/ssl_des-master.opt diff --git a/mysql-test/t/ssl_des-master.opt b/mysql-test/t/ssl_des-master.opt deleted file mode 100644 index 0b2b8cb85ac..00000000000 --- a/mysql-test/t/ssl_des-master.opt +++ /dev/null @@ -1 +0,0 @@ ---loose_ssl-cert=std_data/server-cert-des.pem --loose_ssl-key=std_data/server-key-des.pem