summaryrefslogtreecommitdiff
path: root/sql/sql_class.cc
diff options
context:
space:
mode:
authorunknown <gshchepa/uchum@gleb.loc>2007-07-07 20:14:06 +0500
committerunknown <gshchepa/uchum@gleb.loc>2007-07-07 20:14:06 +0500
commita0336ad7d8f28b8de5a2b01ec285634952692abb (patch)
treea95fb8d593c69b8db4fa05ae09a5b11c223c117c /sql/sql_class.cc
parentbc52d1d6e306e5fa915d5ebd4db673f2ca552329 (diff)
parent8195a213c2fadfb185e755ce6dda2162df1a5529 (diff)
downloadmariadb-git-a0336ad7d8f28b8de5a2b01ec285634952692abb.tar.gz
Merge gleb.loc:/home/uchum/work/bk/5.0-opt
into gleb.loc:/home/uchum/work/bk/5.1-opt mysql-test/r/gis.result: Auto merged mysql-test/r/view.result: Auto merged mysql-test/t/gis.test: Auto merged mysql-test/t/loaddata.test: Auto merged sql/item.h: Auto merged sql/spatial.cc: Auto merged sql/sql_class.cc: Auto merged sql/sql_class.h: Auto merged mysql-test/r/loaddata.result: Merge with 5.0-opt. mysql-test/t/view.test: Merge with 5.0-opt.
Diffstat (limited to 'sql/sql_class.cc')
-rw-r--r--sql/sql_class.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/sql/sql_class.cc b/sql/sql_class.cc
index 677454d5b6a..901d35844e3 100644
--- a/sql/sql_class.cc
+++ b/sql/sql_class.cc
@@ -1446,6 +1446,7 @@ select_export::prepare(List<Item> &list, SELECT_LEX_UNIT *u)
field_term_length ? (*exchange->field_term)[0] : INT_MAX);
escape_char= (exchange->escaped->length() ? (*exchange->escaped)[0] : -1);
is_ambiguous_field_sep= test(strchr(ESCAPE_CHARS, field_sep_char));
+ is_unsafe_field_sep= test(strchr(NUMERIC_CHARS, field_sep_char));
line_sep_char= (exchange->line_term->length() ?
(*exchange->line_term)[0] : INT_MAX);
if (!field_term_length)
@@ -1520,7 +1521,8 @@ bool select_export::send_data(List<Item> &items)
used_length=min(res->length(),item->max_length);
else
used_length=res->length();
- if (result_type == STRING_RESULT && escape_char != -1)
+ if ((result_type == STRING_RESULT || is_unsafe_field_sep) &&
+ escape_char != -1)
{
char *pos, *start, *end;
CHARSET_INFO *res_charset= res->charset();