summaryrefslogtreecommitdiff
path: root/strings
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 /strings
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 'strings')
-rw-r--r--strings/json_lib.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/strings/json_lib.c b/strings/json_lib.c
index a9498070195..015ce1f39f8 100644
--- a/strings/json_lib.c
+++ b/strings/json_lib.c
@@ -1182,6 +1182,13 @@ int json_skip_level(json_engine_t *j)
int json_skip_key(json_engine_t *j)
{
+ if (j->state == JST_KEY)
+ {
+ while (json_read_keyname_chr(j) == 0);
+ if (j->s.error)
+ return 1;
+ }
+
if (json_read_value(j))
return 1;