summaryrefslogtreecommitdiff
path: root/client
diff options
context:
space:
mode:
authorBjorn Munch <bjorn.munch@oracle.com>2010-11-17 11:18:52 +0100
committerBjorn Munch <bjorn.munch@oracle.com>2010-11-17 11:18:52 +0100
commitf6b1d5a63e7f8f0bdc3844cb26c4e5940a804f53 (patch)
tree502891c5d3eec174dd2f72f4b6d71f9066be9b13 /client
parent0f551def8f674669477271fca0d52eb473c91c9f (diff)
parent9142f7462b48e3d9201100d83c094b315e1750fc (diff)
downloadmariadb-git-f6b1d5a63e7f8f0bdc3844cb26c4e5940a804f53.tar.gz
upmerge 58087
Diffstat (limited to 'client')
-rw-r--r--client/mysqltest.cc10
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;