From 3752c3b33bac1d6d647845ecd800183693a13cf9 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 17 Jan 2005 12:22:23 -0800 Subject: [PATCH] Print a warning when an old table (with no character set stored) is opened and the default character set is multi-byte, which will result in character column size changes. (Bug #6913) sql/table.cc: Print a warning when an old table is opened and the default character set is multi-byte that warns about character column sizes possibly getting changed --- sql/table.cc | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/sql/table.cc b/sql/table.cc index 5ede9c1e43d..4be69a40782 100644 --- a/sql/table.cc +++ b/sql/table.cc @@ -145,8 +145,19 @@ int openfrm(const char *name, const char *alias, uint db_stat, uint prgflag, outparam->table_charset=get_charset((uint) head[38],MYF(0)); null_field_first=1; } - if (!outparam->table_charset) /* unknown charset in head[38] or pre-3.23 frm */ + if (!outparam->table_charset) + { + /* unknown charset in head[38] or pre-3.23 frm */ + if (use_mb(default_charset_info)) + { + /* Warn that we may be changing the size of character columns */ + sql_print_warning("'%s' had no or invalid character set, " + "and default character set is multi-byte, " + "so character column sizes may have changed", + name); + } outparam->table_charset=default_charset_info; + } outparam->db_record_offset=1; if (db_create_options & HA_OPTION_LONG_BLOB_PTR) outparam->blob_ptr_size=portable_sizeof_char_ptr;