Commit graph

130 commits

Author SHA1 Message Date
Alexey Botchkov
3a1772798d MDEV-11573 JSON_LENGTH returns incorrect results.
Item_func_json_length fixed.
2016-12-24 11:40:31 +04:00
Alexey Botchkov
95228dc80b MDEV-11570 JSON_MERGE returns incorrect result.
JSON merging fixed.
2016-12-20 17:32:08 +04:00
Alexey Botchkov
ce55094f4f MDEV-11572 JSON_DEPTH returns wrong results.
JSON depth calculation fixed.
2016-12-16 14:06:12 +04:00
Alexey Botchkov
30c231b03a MDEV-11569 JSON_ARRAY_INSERT produces an invalid result.
String insertion fixed.
2016-12-16 13:51:35 +04:00
Alexey Botchkov
beded4350f MDEV-JSON_CONTAINS_PATH returns incorrect results and produces wrong warning.
The Item_func_json_contains_path was mistakenly set with the
        no '*' paths limitation.
2016-12-16 12:43:44 +04:00
Alexey Botchkov
e5377be211 MDEV-11562 Assertion `js->state == JST_VALUE' failed in check_contains(json_engine_t*, json_engine_t*).
check_contains() fixed. When an item of an array is a complex
        structure, it can be half-read after the end of the recursive
        check_contains() call. So we just manually get to it's ending.
2016-12-16 12:32:56 +04:00
Alexey Botchkov
d26b9f670d MDEV-11470 JSON_KEYS accepts arguments in invalid format.
Now JSON functions return warnings if arguments are invalid.
2016-12-13 12:39:48 +04:00
Alexey Botchkov
9320d8ae30 MDEV-11453 JSON_CONTAINS returns incorrect values.
The weird logic of json_contains was implemented.
2016-12-11 01:12:33 +04:00
Alexey Botchkov
04aa31c70b MDEV-11469 JSON_SEARCH returns incorrect results.
Support for '**' in json path expressions added.
2016-12-09 12:26:32 +04:00
Alexey Botchkov
7f6710e5be MDEV-11489 Assertion `0' failed in json_find_path.
When the json was just a scalar value, json_extract tried
        to parse after the value ended.
2016-12-08 11:25:21 +04:00
Alexey Botchkov
3bae5328ea MDEV-11433 JSON_MERGE returns a non-NULL result with a NULL argument.
Item_func_json_merge fixed.
2016-12-06 01:32:13 +04:00
Alexey Botchkov
3743b4c3ef MDEV-11468 JSON_UNQUOTE returns incorrect results.
Now return the argument's value when error.
2016-12-06 00:34:25 +04:00
Alexey Botchkov
1da0865058 MDEV-11467 JSON_EXTRACT returns incorrect results.
Item_func_json_extract::val_str fixed.
2016-12-05 09:34:28 +04:00
Alexey Botchkov
2b01461629 MDEV-11465 JSON_LENGTH returns incorrect length.
Item_func_json_length::val_int fixed.
2016-12-05 08:59:55 +04:00
Alexey Botchkov
fe6d0a0719 MDEV-11471 JSON_ARRAY_APPEND returns incorrect results.
Item_func_json_array_append::val_str fixed.
2016-12-05 08:43:15 +04:00
Alexey Botchkov
abb80d25f4 MDEV-11472 JSON_ARRAY_INSERT returns incorrect results.
Item_func_json_array_insert::val_str fixed.
2016-12-05 08:03:11 +04:00
Alexey Botchkov
df87dce03c MDEV-11473 JSON_REMOVE returns invalid results.
Item_func_json_remove::val_str fixed.
2016-12-05 07:42:00 +04:00
Alexey Botchkov
7e03c67ae8 MDEV-11474 JSON_DEPTH returns incorrect results.
Item_func_json_depth::val_int fixed.
2016-12-05 07:17:54 +04:00
Alexey Botchkov
78dc7c3a6e MDEV-11461 JSON_TYPE does not recognize integer/double types.
Integer/Double recognition added.
2016-12-05 01:03:31 +04:00
Alexey Botchkov
12897a5bba MDEV-11437 JSON_QUOTE function does not quote and uses wrong character set.
json_quote fixed.
2016-12-05 01:03:30 +04:00
Alexey Botchkov
b4cbaf0b7c MDEV-11436 CREATE TABLE .. AS SELECT JSON_OBJECT truncates data.
fix_length_and_dec() didn't calculate the length of the result
        properly.
2016-12-05 01:03:30 +04:00
Alexey Botchkov
edc75c9c16 MDEV-11450 Assertion `!null_value' failed invirtual bool Item::send on json_search.
Item_func_json_search::val_str didn't set the null_value
        properly. So that affected the next record in the resultset.
2016-12-03 12:11:06 +04:00
Alexey Botchkov
a8467e2fab MDEV-11449 Server crashes in Item_func_or_sum::agg_item_collations.
JSON_ARRAY didn't expect 0 arguments.
2016-12-03 11:45:24 +04:00
Alexey Botchkov
eca1579051 MDEV-11444 Server crashes in String::ptr / Item_func_json_depth::val_int.
CAST AS JSON didn't set the null_value mark properly.
2016-12-03 11:32:47 +04:00
Alexey Botchkov
4ad0813a55 MDEV-11143 Server crashes in json_string_set_cs.
Some JSON functions didn't expect NULL as a path.
2016-12-03 11:22:42 +04:00
Alexey Botchkov
e8c419570f MDEV-11442 Server crashes in String::length / parse_one_or_all /Item_func_json_contains_path::val_int
Didn't expect 'one_or_all' parameter to be NULL.
2016-12-03 11:02:28 +04:00
Alexey Botchkov
b28626e842 MDEV-11441 Server crashes in String::append /Item_func_json_extract::val_str.
Wrong 'value_lengh' taken
2016-12-03 10:53:12 +04:00
Alexey Botchkov
0d85124da4 func_json.test failing on Windows fixed. 2016-11-16 12:47:46 +04:00
Alexey Botchkov
ebe5ebba16 MDEV-9143 JSON_xxx functions.
The rest of mysql/json functions implemented.
        CAST AS JSON implemented.
2016-11-15 17:04:31 +04:00
Alexey Botchkov
27025221fe MDEV-9143 JSON_xxx functions.
strings/json_lib.c added as a JSON library.
        SQL frunction added with sql/item_jsonfunc.h/cc
2016-10-19 14:10:03 +04:00