summaryrefslogtreecommitdiff
path: root/strings
diff options
context:
space:
mode:
authorunknown <bar@mysql.com>2005-10-27 17:40:21 +0500
committerunknown <bar@mysql.com>2005-10-27 17:40:21 +0500
commit4cccc642e9169cafd865f4a7acf7bbd8f1a77eca (patch)
tree2037115c468438ed9463eb60a47f025f8b9d31c7 /strings
parentfed8b2082a958e840add62b774588639fc306420 (diff)
downloadmariadb-git-4cccc642e9169cafd865f4a7acf7bbd8f1a77eca.tar.gz
conf_to_src.c:
Dump MY_CS_CSSORT when it's necessary. strings/conf_to_src.c: Dump MY_CS_CSSORT when it's necessary.
Diffstat (limited to 'strings')
-rw-r--r--strings/conf_to_src.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/strings/conf_to_src.c b/strings/conf_to_src.c
index f07855af9e2..93088bc7512 100644
--- a/strings/conf_to_src.c
+++ b/strings/conf_to_src.c
@@ -169,13 +169,22 @@ static int my_read_charset_file(const char *filename)
return FALSE;
}
+static int
+is_case_sensitive(CHARSET_INFO *cs)
+{
+ return (cs->sort_order &&
+ cs->sort_order['A'] < cs->sort_order['a'] &&
+ cs->sort_order['a'] < cs->sort_order['B']) ? 1 : 0;
+}
+
void dispcset(FILE *f,CHARSET_INFO *cs)
{
fprintf(f,"{\n");
fprintf(f," %d,%d,%d,\n",cs->number,0,0);
- fprintf(f," MY_CS_COMPILED%s%s,\n",
+ fprintf(f," MY_CS_COMPILED%s%s%s,\n",
cs->state & MY_CS_BINSORT ? "|MY_CS_BINSORT" : "",
- cs->state & MY_CS_PRIMARY ? "|MY_CS_PRIMARY" : "");
+ cs->state & MY_CS_PRIMARY ? "|MY_CS_PRIMARY" : "",
+ is_case_sensitive(cs) ? "|MY_CS_CSSORT" : "");
if (cs->name)
{