From c69d72c2e441f12a1ccd1e94608f87b452e7b70c Mon Sep 17 00:00:00 2001 From: Rucha Deodhar Date: Mon, 21 Mar 2022 12:43:17 +0530 Subject: MDEV-28072: JSON_EXTRACT has inconsistent behavior with '0' value in json path (when range is used) Analysis: When 0 comes after space, then the json path parser changes the state to JE_SYN instead of PS_Z (meaning parse zero). Hence the warning. Fix: Make the state PS_Z instead of JE_SYN. --- strings/json_lib.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'strings/json_lib.c') diff --git a/strings/json_lib.c b/strings/json_lib.c index ff2421e0eac..0574c80e84e 100644 --- a/strings/json_lib.c +++ b/strings/json_lib.c @@ -1091,7 +1091,7 @@ static int json_path_transitions[N_PATH_STATES][N_PATH_CLASSES]= PS_INT, PS_INT, JE_SYN, JE_SYN, PS_AS, JE_SYN, JE_SYN, JE_SYN, JE_NOT_JSON_CHR, JE_BAD_CHR}, /* AS */ { JE_EOS, JE_SYN, JE_SYN, JE_SYN, PS_T, PS_PT, JE_SYN, PS_NEG, - JE_SYN, PS_INT, PS_LAST, PS_AS, JE_SYN, JE_SYN, JE_SYN, + PS_Z, PS_INT, PS_LAST, PS_AS, JE_SYN, JE_SYN, JE_SYN, JE_NOT_JSON_CHR, JE_BAD_CHR}, /* KEY */ { JE_EOS, PS_KNM, PS_KWD, JE_SYN, PS_KNM, PS_KNM, JE_SYN, JE_SYN, PS_KNM, PS_KNM, PS_KNM, PS_KNM, PS_KNM, JE_SYN, PS_KEYX, PS_KNM, -- cgit v1.2.1