Commit 6dd1f417 authored by unknown's avatar unknown

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
parent adfd5ddc
...@@ -1272,9 +1272,7 @@ static bool add_line(String &buffer,char *line,char *in_string, ...@@ -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)) if (status.add_to_history && line[0] && not_in_history(line))
add_history(line); add_history(line);
#endif #endif
#ifdef USE_MB
char *end_of_line=line+(uint) strlen(line); char *end_of_line=line+(uint) strlen(line);
#endif
for (pos=out=line ; (inchar= (uchar) *pos) ; pos++) for (pos=out=line ; (inchar= (uchar) *pos) ; pos++)
{ {
...@@ -1364,7 +1362,7 @@ static bool add_line(String &buffer,char *line,char *in_string, ...@@ -1364,7 +1362,7 @@ static bool add_line(String &buffer,char *line,char *in_string,
} }
} }
else if (!*ml_comment && !*in_string && else if (!*ml_comment && !*in_string &&
strlen(pos) >= 10 && (end_of_line - pos) >= 10 &&
!my_strnncoll(charset_info, (uchar*) pos, 10, !my_strnncoll(charset_info, (uchar*) pos, 10,
(const uchar*) "delimiter ", 10)) (const uchar*) "delimiter ", 10))
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment