summaryrefslogtreecommitdiff
path: root/sql/item_jsonfunc.h
diff options
context:
space:
mode:
authorAlexey Botchkov <holyfoot@askmonty.org>2016-12-11 01:12:33 +0400
committerAlexey Botchkov <holyfoot@askmonty.org>2016-12-11 01:12:33 +0400
commit9320d8ae30c18420bef659618175836221d363ea (patch)
treedc2b4fba02c479b5671327c4f27557442444dbc8 /sql/item_jsonfunc.h
parentc868acdf656213cdc081c4c965a1bcf3d22558bb (diff)
downloadmariadb-git-9320d8ae30c18420bef659618175836221d363ea.tar.gz
MDEV-11453 JSON_CONTAINS returns incorrect values.
The weird logic of json_contains was implemented.
Diffstat (limited to 'sql/item_jsonfunc.h')
-rw-r--r--sql/item_jsonfunc.h8
1 files changed, 3 insertions, 5 deletions
diff --git a/sql/item_jsonfunc.h b/sql/item_jsonfunc.h
index da9baf47648..e6f26d95b13 100644
--- a/sql/item_jsonfunc.h
+++ b/sql/item_jsonfunc.h
@@ -174,17 +174,15 @@ class Item_func_json_contains: public Item_int_func
{
protected:
String tmp_js;
- json_path_with_flags *paths;
- String *tmp_paths;
+ json_path_with_flags path;
+ String tmp_path;
bool a2_constant, a2_parsed;
String tmp_val, *val;
public:
Item_func_json_contains(THD *thd, List<Item> &list):
- Item_int_func(thd, list), tmp_paths(0) {}
+ Item_int_func(thd, list) {}
const char *func_name() const { return "json_contains"; }
- bool fix_fields(THD *thd, Item **ref);
void fix_length_and_dec();
- void cleanup();
longlong val_int();
Item *get_copy(THD *thd, MEM_ROOT *mem_root)
{ return get_item_copy<Item_func_json_contains>(thd, mem_root, this); }