summaryrefslogtreecommitdiff
path: root/storage/connect/jsonudf.cpp
diff options
context:
space:
mode:
authorOlivier Bertrand <bertrandop@gmail.com>2015-03-01 19:20:40 +0100
committerOlivier Bertrand <bertrandop@gmail.com>2015-03-01 19:20:40 +0100
commit5c8862ee19eed2b6ddb9116c40c9ebbd67ee71ea (patch)
tree30e3c00a3d52d6bf590e04f8ee423bc10704c33a /storage/connect/jsonudf.cpp
parentd862d7c049f95575242164341605b7e69d71e427 (diff)
downloadmariadb-git-5c8862ee19eed2b6ddb9116c40c9ebbd67ee71ea.tar.gz
- Fix crash when Json_Value was called without arguments.
Correct memory calculation in Serialize. Correct some UDF's messages. Add and modify the json tests removed: storage/connect/mysql-test/connect/std_data/biblio.jsn storage/connect/mysql-test/connect/std_data/expense.jsn storage/connect/mysql-test/connect/std_data/mulexp3.jsn storage/connect/mysql-test/connect/std_data/mulexp4.jsn storage/connect/mysql-test/connect/std_data/mulexp5.jsn added: storage/connect/mysql-test/connect/r/json_udf.result storage/connect/mysql-test/connect/std_data/biblio.json storage/connect/mysql-test/connect/std_data/expense.json storage/connect/mysql-test/connect/std_data/mulexp3.json storage/connect/mysql-test/connect/std_data/mulexp4.json storage/connect/mysql-test/connect/std_data/mulexp5.json storage/connect/mysql-test/connect/t/json_udf.test modified: storage/connect/json.cpp storage/connect/jsonudf.cpp storage/connect/mysql-test/connect/r/json.result storage/connect/mysql-test/connect/t/json.test
Diffstat (limited to 'storage/connect/jsonudf.cpp')
-rw-r--r--storage/connect/jsonudf.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/storage/connect/jsonudf.cpp b/storage/connect/jsonudf.cpp
index 36ea87630cd..0879210c23e 100644
--- a/storage/connect/jsonudf.cpp
+++ b/storage/connect/jsonudf.cpp
@@ -232,7 +232,7 @@ static PSZ MakeKey(PGLOBAL g, UDF_ARGS *args, int i)
/***********************************************************************/
static PJVAL MakeValue(PGLOBAL g, UDF_ARGS *args, int i)
{
- char *sap = args->args[i];
+ char *sap = (args->arg_count > i) ? args->args[i] : NULL;
PJSON jsp;
PJVAL jvp = new(g) JVALUE;
@@ -362,7 +362,7 @@ my_bool Json_Array_Add_init(UDF_INIT *initid, UDF_ARGS *args, char *message)
strcpy(message, "Json_Value_Add must have at least 2 arguments");
return true;
} else if (!IsJson(args, 0)) {
- strcpy(message, "Json_Value_Add first argument must be a json array");
+ strcpy(message, "Json_Value_Add first argument must be a json item");
return true;
} else
CalcLen(args, false, reslen, memlen);
@@ -561,7 +561,7 @@ my_bool Json_Object_Grp_init(UDF_INIT *initid, UDF_ARGS *args, char *message)
unsigned long reslen, memlen, n = GetJsonGrpSize();
if (args->arg_count != 2) {
- strcpy(message, "Json_Array_Grp can only accept 2 argument");
+ strcpy(message, "Json_Array_Grp can only accept 2 arguments");
return true;
} else
CalcLen(args, true, reslen, memlen);