From a237a920991f417e9a4567957f4fc7aa5b538270 Mon Sep 17 00:00:00 2001 From: Alexey Botchkov Date: Wed, 13 Sep 2017 00:36:09 +0400 Subject: [PATCH] MDEV-12877 Wrong result from JSON native function. Set default charset for temporary paths so UDF call don't crash. --- sql/item_jsonfunc.cc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sql/item_jsonfunc.cc b/sql/item_jsonfunc.cc index 9295c34aba9..a39b5f3f263 100644 --- a/sql/item_jsonfunc.cc +++ b/sql/item_jsonfunc.cc @@ -650,6 +650,7 @@ static int alloc_tmp_paths(THD *thd, uint n_paths, if (*tmp_paths == 0) { MEM_ROOT *root= thd->stmt_arena->mem_root; + *paths= (json_path_with_flags *) alloc_root(root, sizeof(json_path_with_flags) * 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, return 1; 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;