summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorAlexander Barkov <bar@mariadb.org>2015-08-14 09:23:03 +0400
committerAlexander Barkov <bar@mariadb.org>2015-08-14 09:23:03 +0400
commite99bc0d1e21a2048b8fda1719e778ee8ffd1adcc (patch)
tree644718f810b842f2eab76aaa2c8e5f4837a925c5 /sql
parent0750b2df37fb7d6d28e192e3046b4c406ff42779 (diff)
downloadmariadb-git-e99bc0d1e21a2048b8fda1719e778ee8ffd1adcc.tar.gz
Removing unused String_copier::copy_fix.
Fixing misleading comments in String_copiers::well_formed_copy().
Diffstat (limited to 'sql')
-rw-r--r--sql/sql_string.cc8
-rw-r--r--sql/sql_string.h29
2 files changed, 2 insertions, 35 deletions
diff --git a/sql/sql_string.cc b/sql/sql_string.cc
index 1b8ea936c0d..379609ad6e7 100644
--- a/sql/sql_string.cc
+++ b/sql/sql_string.cc
@@ -879,13 +879,7 @@ my_copy_with_hex_escaping(CHARSET_INFO *cs,
with optional character set conversion,
with optional left padding (for binary -> UCS2 conversion)
- In case if there is a Unicode conversion (i.e. to_cs and from_cs are
- different character sets and both are not &my_charset_bin), bad input bytes
- as well as characters that cannot be encoded in to_cs are replaced to '?'.
-
- In case of non-Unicode copying (i.e. to_cs and from_cs are same character set,
- or from_cs is &my_charset_bin), the function stops on the first bad
- byte sequence.
+ Bad input bytes are replaced to '?'.
The string that is written to "to" is always well-formed.
diff --git a/sql/sql_string.h b/sql/sql_string.h
index 547ad54149b..46188ce4652 100644
--- a/sql/sql_string.h
+++ b/sql/sql_string.h
@@ -69,8 +69,7 @@ public:
srccs, src, src_length, nchars, this);
}
/*
- Copy a string. Fix bad bytes/characters one Unicode conversion,
- break on bad bytes in case of non-Unicode copying.
+ Copy a string. Fix bad bytes/characters to '?'.
*/
uint well_formed_copy(CHARSET_INFO *to_cs, char *to, uint to_length,
CHARSET_INFO *from_cs, const char *from,
@@ -84,32 +83,6 @@ public:
from_cs, from, from_length,
from_length /* No limit on "nchars"*/);
}
- /*
- Copy a string. If a bad byte sequence is found in case of non-Unicode
- copying, continues processing and replaces bad bytes to '?'.
- */
- uint copy_fix(CHARSET_INFO *to_cs, char *to, uint to_length,
- CHARSET_INFO *from_cs, const char *from, uint from_length)
- {
- uint length= well_formed_copy(to_cs, to, to_length,
- from_cs, from, from_length,
- from_length /* No limit on nchars */);
- if (well_formed_error_pos() && source_end_pos() < from + from_length)
- {
- /*
- There was an error and there are still some bytes in the source string.
- This is possible if there were no character set conversion and a
- malformed byte sequence was found. Copy the rest and replace bad
- bytes to '?'. Note: m_source_end_pos is not updated!!!
- */
- uint dummy_errors;
- length+= copy_and_convert(to + length, to_length - length, to_cs,
- source_end_pos(),
- from_length - (source_end_pos() - from),
- from_cs, &dummy_errors);
- }
- return length;
- }
};