diff options
author | unknown <df@pippilotta.erinye.com> | 2007-12-20 21:37:21 +0100 |
---|---|---|
committer | unknown <df@pippilotta.erinye.com> | 2007-12-20 21:37:21 +0100 |
commit | 6dd1f417d32c8d545997fba0e4b7cbb7d64f6e64 (patch) | |
tree | bc0e858cda1071572638961e1b87b453acdb69f1 /client | |
parent | adfd5ddcf58a767f5f589006ba90e21f352656c9 (diff) | |
download | mariadb-git-6dd1f417d32c8d545997fba0e4b7cbb7d64f6e64.tar.gz |
BUG#33057 mysql command line client slows down and uses 100% CPU when restoring dump
client/mysql.cc:
BUG#33057, avoid calling strlen() *for every single character* in the client's input
Diffstat (limited to 'client')
-rw-r--r-- | client/mysql.cc | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/client/mysql.cc b/client/mysql.cc index 999a37e0f7e..6744600aadb 100644 --- a/client/mysql.cc +++ b/client/mysql.cc @@ -1272,9 +1272,7 @@ static bool add_line(String &buffer,char *line,char *in_string, if (status.add_to_history && line[0] && not_in_history(line)) add_history(line); #endif -#ifdef USE_MB char *end_of_line=line+(uint) strlen(line); -#endif for (pos=out=line ; (inchar= (uchar) *pos) ; pos++) { @@ -1364,7 +1362,7 @@ static bool add_line(String &buffer,char *line,char *in_string, } } else if (!*ml_comment && !*in_string && - strlen(pos) >= 10 && + (end_of_line - pos) >= 10 && !my_strnncoll(charset_info, (uchar*) pos, 10, (const uchar*) "delimiter ", 10)) { |