summaryrefslogtreecommitdiff
path: root/storage/connect/json.cpp
diff options
context:
space:
mode:
authorOlivier Bertrand <bertrandop@gmail.com>2015-02-22 17:53:02 +0100
committerOlivier Bertrand <bertrandop@gmail.com>2015-02-22 17:53:02 +0100
commita736e63f7c494b0611a27a8951bf8fe0980cbaad (patch)
tree490c119bbf03fa21f208eb599da6602ef81faa18 /storage/connect/json.cpp
parentd9175f38227398c4084992809ec30cd48752d90d (diff)
downloadmariadb-git-a736e63f7c494b0611a27a8951bf8fe0980cbaad.tar.gz
- Add new Json UDF's Json_Array_Add, Json_Array_Grp and Json_Object_Grp.
Handle longjmp's raised during json processing. modified: storage/connect/global.h storage/connect/ha_connect.cc storage/connect/json.cpp storage/connect/jsonudf.cpp - Fix wrong references to the suppressed g->Trace variables. modified: storage/connect/global.h storage/connect/plugutil.c storage/connect/tabjson.cpp storage/connect/tabodbc.cpp
Diffstat (limited to 'storage/connect/json.cpp')
-rw-r--r--storage/connect/json.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/storage/connect/json.cpp b/storage/connect/json.cpp
index 251ba762a53..8031ba51b19 100644
--- a/storage/connect/json.cpp
+++ b/storage/connect/json.cpp
@@ -74,6 +74,7 @@ PJSON ParseJson(PGLOBAL g, char *s, int len, int pretty, bool *comma)
goto err;
} else if (!(jsp = ParseObject(g, ++i, src)))
goto err;
+
break;
case ' ':
case '\t':
@@ -90,6 +91,11 @@ PJSON ParseJson(PGLOBAL g, char *s, int len, int pretty, bool *comma)
sprintf(g->Message, "Unexpected ',' (pretty=%d)", pretty);
goto err;
+ case '"':
+ if (!(jsp = ParseValue(g, i, src)))
+ goto err;
+
+ break;
case '(':
b = true;
break;