Commit a237a920 authored by Alexey Botchkov's avatar Alexey Botchkov

MDEV-12877 Wrong result from JSON native function.

        Set default charset for temporary paths so UDF call don't crash.
parent 80a38372
...@@ -650,6 +650,7 @@ static int alloc_tmp_paths(THD *thd, uint n_paths, ...@@ -650,6 +650,7 @@ static int alloc_tmp_paths(THD *thd, uint n_paths,
if (*tmp_paths == 0) if (*tmp_paths == 0)
{ {
MEM_ROOT *root= thd->stmt_arena->mem_root; MEM_ROOT *root= thd->stmt_arena->mem_root;
*paths= (json_path_with_flags *) alloc_root(root, *paths= (json_path_with_flags *) alloc_root(root,
sizeof(json_path_with_flags) * n_paths); sizeof(json_path_with_flags) * n_paths);
*tmp_paths= (String *) alloc_root(root, sizeof(String) * n_paths); *tmp_paths= (String *) alloc_root(root, sizeof(String) * n_paths);
...@@ -657,6 +658,8 @@ static int alloc_tmp_paths(THD *thd, uint n_paths, ...@@ -657,6 +658,8 @@ static int alloc_tmp_paths(THD *thd, uint n_paths,
return 1; return 1;
bzero(*tmp_paths, sizeof(String) * n_paths); bzero(*tmp_paths, sizeof(String) * n_paths);
for (uint c_path=0; c_path < n_paths; c_path++)
(*tmp_paths)[c_path].set_charset(&my_charset_utf8_general_ci);
} }
return 0; return 0;
......
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