diff options
author | Olivier Bertrand <bertrandop@gmail.com> | 2015-03-01 19:20:40 +0100 |
---|---|---|
committer | Olivier Bertrand <bertrandop@gmail.com> | 2015-03-01 19:20:40 +0100 |
commit | 5c8862ee19eed2b6ddb9116c40c9ebbd67ee71ea (patch) | |
tree | 30e3c00a3d52d6bf590e04f8ee423bc10704c33a /storage/connect/jsonudf.cpp | |
parent | d862d7c049f95575242164341605b7e69d71e427 (diff) | |
download | mariadb-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.cpp | 6 |
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); |