summaryrefslogtreecommitdiff
path: root/sql/sql_db.cc
diff options
context:
space:
mode:
authorbar@bar.mysql.r18.ru <>2003-01-09 15:37:59 +0400
committerbar@bar.mysql.r18.ru <>2003-01-09 15:37:59 +0400
commita89df5a09691fbdab3c267a4a3172f29e5611803 (patch)
tree2c12b6fd2894db12083ab482be40e695af20e8f0 /sql/sql_db.cc
parent4df915a7b50ed4a69f77c7968f437d66f9412d9e (diff)
downloadmariadb-git-a89df5a09691fbdab3c267a4a3172f29e5611803.tar.gz
Separating CHARSET and COLLATION terms
Diffstat (limited to 'sql/sql_db.cc')
-rw-r--r--sql/sql_db.cc10
1 files changed, 7 insertions, 3 deletions
diff --git a/sql/sql_db.cc b/sql/sql_db.cc
index d4bd521cca5..f14fe50b200 100644
--- a/sql/sql_db.cc
+++ b/sql/sql_db.cc
@@ -676,9 +676,13 @@ int mysqld_show_create_db(THD *thd, const char *dbname,
to=strxmov(to,"`",dbname,"`", NullS);
if (create.table_charset)
- to= strxmov(to," /*!40100 DEFAULT CHARACTER SET ",
- create.table_charset->name,"*/",NullS);
-
+ {
+ int cl= (create.table_charset->state & MY_CS_PRIMARY) ? 0 : 1;
+ to= strxmov(to," /*!40100"
+ " DEFAULT CHARACTER SET ",create.table_charset->csname,
+ cl ? " COLLATE " : "", cl ? create.table_charset->name : "",
+ " */",NullS);
+ }
protocol->store(path, (uint) (to-path));
if (protocol->write())