summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--BitKeeper/etc/logging_ok1
-rw-r--r--mysql-test/r/type_enum.result16
-rw-r--r--mysql-test/t/type_enum.test14
-rw-r--r--sql/sql_show.cc2
4 files changed, 33 insertions, 0 deletions
diff --git a/BitKeeper/etc/logging_ok b/BitKeeper/etc/logging_ok
index b0c0a611033..da85ed6391f 100644
--- a/BitKeeper/etc/logging_ok
+++ b/BitKeeper/etc/logging_ok
@@ -24,6 +24,7 @@ bar@bar.udmsearch.izhnet.ru
bar@deer.(none)
bar@gw.udmsearch.izhnet.ru
bar@mysql.com
+bar@noter.intranet.mysql.r18.ru
bell@laptop.sanja.is.com.ua
bell@sanja.is.com.ua
bk@admin.bk
diff --git a/mysql-test/r/type_enum.result b/mysql-test/r/type_enum.result
index 976c484dabf..a94e90885db 100644
--- a/mysql-test/r/type_enum.result
+++ b/mysql-test/r/type_enum.result
@@ -1661,3 +1661,19 @@ t1 CREATE TABLE `t1` (
`a` enum('ä','1','2') NOT NULL default 'ä'
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1;
+set names latin1;
+CREATE TABLE t1 (
+a INT default 1,
+b ENUM('value','öäü_value','ÊÃÕ') character set latin1 NOT NULL
+);
+show create table t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) default '1',
+ `b` enum('value','öäü_value','ÊÃÕ') NOT NULL default 'value'
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+show columns from t1;
+Field Type Null Key Default Extra
+a int(11) YES 1
+b enum('value','öäü_value','ÊÃÕ') value
+drop table t1;
diff --git a/mysql-test/t/type_enum.test b/mysql-test/t/type_enum.test
index b8f32107892..2f1e11810af 100644
--- a/mysql-test/t/type_enum.test
+++ b/mysql-test/t/type_enum.test
@@ -45,3 +45,17 @@ create table t1 (a enum(0xE4, '1', '2') not null default 0xE4);
show columns from t1;
show create table t1;
drop table t1;
+
+
+#
+# Bug #5628 German characters in field-defs will be '?'
+# with some table definitions
+#
+set names latin1;
+CREATE TABLE t1 (
+ a INT default 1,
+ b ENUM('value','öäü_value','ÊÃÕ') character set latin1 NOT NULL
+);
+show create table t1;
+show columns from t1;
+drop table t1;
diff --git a/sql/sql_show.cc b/sql/sql_show.cc
index 57c5f01d0bf..fbb45ce2484 100644
--- a/sql/sql_show.cc
+++ b/sql/sql_show.cc
@@ -1265,6 +1265,8 @@ store_create_info(THD *thd, TABLE *table, String *packet)
// check for surprises from the previous call to Field::sql_type()
if (type.ptr() != tmp)
type.set(tmp, sizeof(tmp), system_charset_info);
+ else
+ type.set_charset(system_charset_info);
field->sql_type(type);
packet->append(type.ptr(), type.length(), system_charset_info);