summaryrefslogtreecommitdiff
path: root/sql/table.cc
diff options
context:
space:
mode:
authormonty@mysql.com <>2004-09-01 04:12:09 +0300
committermonty@mysql.com <>2004-09-01 04:12:09 +0300
commit054cea4ca8c1c86bd4434d5d068cf21e8623a5ff (patch)
tree4ad5995c2fe0e62dfd3c25bcb2a946ad44728c19 /sql/table.cc
parentba4d4ce97ab4287dd0c3da55f1bae0aaa963a309 (diff)
parent3f0f1a4fb2b3b1b8e60471a5ef8a83e2b978acda (diff)
downloadmariadb-git-054cea4ca8c1c86bd4434d5d068cf21e8623a5ff.tar.gz
Merge with 4.0
Diffstat (limited to 'sql/table.cc')
-rw-r--r--sql/table.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/sql/table.cc b/sql/table.cc
index 7d1c733b116..eb3e0e8d1a7 100644
--- a/sql/table.cc
+++ b/sql/table.cc
@@ -1084,6 +1084,17 @@ void append_unescaped(String *res, const char *pos, uint length)
for (; pos != end ; pos++)
{
+#if defined(USE_MB) && MYSQL_VERSION_ID < 40100
+ uint mblen;
+ if (use_mb(default_charset_info) &&
+ (mblen= my_ismbchar(default_charset_info, pos, end)))
+ {
+ res->append(pos, mblen);
+ pos+= mblen;
+ continue;
+ }
+#endif
+
switch (*pos) {
case 0: /* Must be escaped for 'mysql' */
res->append('\\');
@@ -1109,6 +1120,7 @@ void append_unescaped(String *res, const char *pos, uint length)
res->append(*pos);
break;
}
+ pos++;
}
res->append('\'');
}