diff options
author | Bjorn Munch <bjorn.munch@oracle.com> | 2010-11-17 11:18:52 +0100 |
---|---|---|
committer | Bjorn Munch <bjorn.munch@oracle.com> | 2010-11-17 11:18:52 +0100 |
commit | f6b1d5a63e7f8f0bdc3844cb26c4e5940a804f53 (patch) | |
tree | 502891c5d3eec174dd2f72f4b6d71f9066be9b13 /client | |
parent | 0f551def8f674669477271fca0d52eb473c91c9f (diff) | |
parent | 9142f7462b48e3d9201100d83c094b315e1750fc (diff) | |
download | mariadb-git-f6b1d5a63e7f8f0bdc3844cb26c4e5940a804f53.tar.gz |
upmerge 58087
Diffstat (limited to 'client')
-rw-r--r-- | client/mysqltest.cc | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/client/mysqltest.cc b/client/mysqltest.cc index 219fd518555..3d89a4c0fe4 100644 --- a/client/mysqltest.cc +++ b/client/mysqltest.cc @@ -488,7 +488,7 @@ VAR* var_init(VAR* v, const char *name, int name_len, const char *val, VAR* var_get(const char *var_name, const char** var_name_end, my_bool raw, my_bool ignore_not_existing); void eval_expr(VAR* v, const char *p, const char** p_end, - bool open_end=false); + bool open_end=false, bool backtick=true); my_bool match_delimiter(int c, const char *delim, uint length); void dump_result_to_reject_file(char *buf, int size); void dump_warning_messages(); @@ -2338,7 +2338,8 @@ void var_query_set(VAR *var, const char *query, const char** query_end) dynstr_append_mem(&result, "\t", 1); } end= result.str + result.length-1; - eval_expr(var, result.str, (const char**) &end); + /* Evaluation should not recurse via backtick */ + eval_expr(var, result.str, (const char**) &end, false, false); dynstr_free(&result); } else @@ -2548,7 +2549,8 @@ void var_copy(VAR *dest, VAR *src) } -void eval_expr(VAR *v, const char *p, const char **p_end, bool open_end) +void eval_expr(VAR *v, const char *p, const char **p_end, + bool open_end, bool backtick) { DBUG_ENTER("eval_expr"); @@ -2573,7 +2575,7 @@ void eval_expr(VAR *v, const char *p, const char **p_end, bool open_end) DBUG_VOID_RETURN; } - if (*p == '`') + if (*p == '`' && backtick) { var_query_set(v, p, p_end); DBUG_VOID_RETURN; |