From 2e643501e5281ad5e0fa626dab1d51c1d38f639a Mon Sep 17 00:00:00 2001 From: Alexander Korotkov Date: Mon, 1 Apr 2019 18:09:09 +0300 Subject: Restrict some cases in parsing numerics in jsonpath Jsonpath now accepts integers with leading zeroes and floats starting with a dot. However, SQL standard requires to follow JSON specification, which doesn't allow none of these cases. Our json[b] datatypes also restrict that. So, restrict it in jsonpath altogether. Author: Nikita Glukhov --- src/backend/utils/adt/jsonpath_scan.l | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/backend/utils') diff --git a/src/backend/utils/adt/jsonpath_scan.l b/src/backend/utils/adt/jsonpath_scan.l index 4b913c3beef..12ef81b3083 100644 --- a/src/backend/utils/adt/jsonpath_scan.l +++ b/src/backend/utils/adt/jsonpath_scan.l @@ -80,9 +80,9 @@ any [^\?\%\$\.\[\]\{\}\(\)\|\&\!\=\<\>\@\#\,\*:\-\+\/\\\"\' \t\n\r\f] blank [ \t\n\r\f] digit [0-9] -integer {digit}+ -decimal {digit}*\.{digit}+ -decimalfail {digit}+\. +integer (0|[1-9]{digit}*) +decimal {integer}\.{digit}+ +decimalfail {integer}\. real ({integer}|{decimal})[Ee][-+]?{digit}+ realfail1 ({integer}|{decimal})[Ee] realfail2 ({integer}|{decimal})[Ee][-+] -- cgit v1.2.3