Alexey Botchkov
c8bb43a938
MDEV-17121 JSON_ARRAY_APPEND.
...
Extra comma added to the result when an json array is empty.
2018-09-11 14:37:45 +04:00
Alexey Botchkov
4ddcb4eb46
MDEV-16750 JSON_SET mishandles unicode every second pair of arguments.
...
The charset of temporary storage (Item_func_json_insert::tmp_js)
was not properly set.
2018-08-06 13:37:09 +04:00
Alexey Botchkov
fc324a5f87
MDEV-16869 String functions don't respect character set of JSON_VALUE.
...
Item_func_json_value::val_str() produced string of wrong charset.
2018-08-05 18:33:17 +04:00
Alexey Botchkov
f4eac2deeb
MDEV-16054 simple json functions flatline cpu on garbage input.
...
Incorrect char sentence should be handled properly.
2018-07-31 16:33:05 +04:00
Alexander Barkov
a8227a1543
MDEV-16814 CREATE TABLE SELECT JSON_QUOTE(multibyte_charset_expr) makes a field of a wrong length
2018-07-24 18:15:15 +04:00
Alexey Botchkov
5ba6cee012
MDEV-16209 JSON_EXTRACT in query crashes server.
...
The optimizer can create various item's over the original one,
so we can't count on the exact item's type inside the comparison.
2018-06-18 23:00:34 +04:00
Alexey Botchkov
352c7e0dfa
MDEV-15905 select json_value('{"b":true}','$.b')=1 --> false with
...
"Truncated incorrect DOUBLE value: 'true'".
JSON_VALUE_TRUE and JSON_VALUE_FALSE should be handled specifically
in Item_json_value.
2018-06-17 17:15:21 +04:00
Alexey Botchkov
d702e46390
MDEV-15561 json_extract returns NULL with numbers in scientific notation.
...
Scientific notation handling fixed.
2018-03-25 00:15:11 +04:00
Alexey Botchkov
f0f3b6549a
MDEV-13970 crash in Item_func_json_extract::read_json.
...
Item_func_json_extract::val_int fixed.
It wasn't tested yet as it's called in exotic cases only.
2017-12-25 08:10:48 +04:00
Alexey Botchkov
842dce378a
MDEV-14402 JSON_VALUE doesn't escape quote.
...
Result unescaping added.
2017-11-16 19:59:27 +04:00
Alexey Botchkov
1e2d4f677e
MDEV-13971 crash in skip_num_constant.
...
Character bigger than 0x60 wasn't handled properly
inside a numeric constant.
2017-11-11 13:54:56 +04:00
Alexey Botchkov
3557de68d1
MDEV-12312 JSON_CONTAINS_PATH does not detect invalid path and returns
...
TRUE.
Let's make empty brackets to be the syntax error in the JSON
paths.
2017-10-06 10:01:35 +04:00
Alexey Botchkov
a3ba8c3660
MDEV-13703 Illegal mix of collations for operation 'json_object' on
...
using JSON_UNQUOTE as an argument.
The coercibility and repertoire should be set properly for the
JSON_UNQUOTE.
2017-10-06 09:28:33 +04:00
Alexey Botchkov
f1a20ec396
MDEV-12311 Insufficient check for argument validity in JSON functions.
...
Check validity to the end of the JSON in the json_length
function.
2017-10-05 23:46:25 +04:00
Alexey Botchkov
1f6ada8da8
MDEV-13306 JSON_CONTAINS returns wrong value.
...
The 'value' state should be saved to be compared against the
next array item.
2017-10-05 23:23:39 +04:00
Alexey Botchkov
dc82f70e9f
MDEV-13633 JSON_ARRAY() - bad output with some UTF8 characters.
...
set_charset() calls added for Item_func_json_arran
and Item_func_json_object::val_str-s.
2017-09-13 15:17:28 +04:00
Alexey Botchkov
80a3837283
MDEV-12877 Wrong result from JSON native function.
...
JSON_QUOTE return type set to be JSON.
2017-09-12 19:15:31 +04:00
Alexey Botchkov
825c8d793d
MDEV-12774 JSON_EXTRACT fails with some escaped unicode as key.
...
Tests added.
2017-09-12 17:30:46 +04:00
Alexey Botchkov
0cd731864e
MDEV-13104 Json functions.
...
An extra ',' added to the JSON_MERGE result making it invalid.
2017-09-12 15:21:53 +04:00
Alexey Botchkov
467acc2119
MDEV-13324 JSON_SET returns NULL instead of object.
...
Superfluous ',' was added to the JSON_SET result so it became
invalid.
2017-09-12 14:40:18 +04:00
Alexey Botchkov
594c6b37f3
MDEV-13138 JSON_OBJECT returns null with strings containing backticks.
...
Condition was fixed.
2017-09-12 13:26:03 +04:00
Alexey Botchkov
6352ec2184
MDEV-12982 JSON_EXTRACT returns data for invalid JSON.
...
Let's check the validity to the end of the JSON.
2017-09-12 11:20:30 +04:00
Alexey Botchkov
4bca34d8a4
MDEV-12789 JSON_KEYS returns duplicate keys twice.
...
Check for duplicating keys added.
2017-08-08 15:40:11 +04:00
Alexey Botchkov
bb71d9abf2
MDEV-12604 Comparison of JSON_EXTRACT result differs with Mysql.
...
Comparison fixed to take the actual type of JSON value into
account. Bug in escaping handling fixed.
2017-08-08 10:35:26 +04:00
Alexey Botchkov
f701ac65e9
MDEV-12324 Wrong result (phantom array value) on JSON_EXTRACT.
...
Fixed the path comparison.
2017-08-07 13:46:45 +04:00
Alexey Botchkov
3ea9d3e59e
MDEV-12363 Assertion `0' failed in Type_handler_string_result::make_sort_key(uchar*, Item*, const SORT_FIELD_ATTR*, Sort_param*).
...
maybe_null wasn't properly set for Item_json_func_keys.
2017-05-02 15:47:43 +04:00
Alexey Botchkov
4a484e7a20
MDEV-12351 Assertion `cur_step->type & JSON_PATH_KEY' failed in
...
json_find_path.
The ..[0] path can be treated wrong on second json_find_path
call.
2017-05-02 15:16:01 +04:00
Alexey Botchkov
42ad4f2821
MDEV-12364 Server crashes in __memcpy_sse2_unaligned / String::copy on
...
JSON_SEARCH with variables.
Wrong index for the tmp_paths array in
Item_func_json_search::val_str.
2017-05-02 14:28:57 +04:00
Alexey Botchkov
76f6c1e1ed
MDEV-12262 Assertion `!null_value' failed in virtual bool Item::send on
...
JSON_REMOVE.
null_value wasn't properly set in Item_json_func_remove::val_str.
2017-03-20 15:18:06 +04:00
Alexey Botchkov
af6eee1fc5
MDEV-11833 JSON functions don't seem to respect max_allowed_packet.
...
Now let's check JSON length to fit the max_allowed packet.
2017-03-14 17:31:14 +04:00
Alexey Botchkov
7c7c0696e7
MDEV-11856 json_search doesn't search for values with double quotes
...
character (").
The my_wildcmp function doesn't expect the string parameter to
have escapements, only the template. So the string
should be unescaped if necessary.
2017-03-14 15:25:02 +04:00
Sergei Golubchik
6f6d0531dc
MDEV-11439 No data type JSON, but CAST(something AS JSON) pretends to work
...
Use JSON_COMPACT(X) instead of CAST(X AS JSON).
Bonus - X is validated to be a valid JSON.
Fix a typo in the error message.
2017-02-14 20:43:41 +01:00
Alexey Botchkov
f76d5fefb8
MDEV-11439 No data type JSON, but CAST(something AS JSON) pretends to
...
work.
json_detailed() fixed
2017-02-14 17:51:03 +04:00
Sergei Golubchik
e1f0f0dd06
Revert "MDEV-11439 No data type JSON, but CAST(something AS JSON) pretends to work"
...
This reverts commit 1f372cf1de
.
Wasn't supposed to be pushed just yet.
2017-02-13 18:37:06 +01:00
Sergei Golubchik
1f372cf1de
MDEV-11439 No data type JSON, but CAST(something AS JSON) pretends to work
...
remove CAST(... AS JSON) from the grammar for 10.2.4
2017-02-13 18:19:02 +01:00
Nirbhay Choubey
8b2e642aa2
MDEV-7635: Update tests to adapt to the new default sql_mode
2017-02-10 06:30:42 -05:00
Alexey Botchkov
25aaecb240
MDEV-11858 json_merge() concatenates instead of merging.
...
Fix json_merge implementation.
2017-02-10 01:05:27 +04:00
Alexey Botchkov
3ae038b732
MDEV-11857 json_search() shows "Out of memory" with empty key.
...
Test result updated.
2017-02-09 17:55:58 +04:00
Alexey Botchkov
abf7582112
MDEV-11557 port MySQL-5.7 JSON tests to MariaDB.
...
Fixes for issues found.
2017-02-06 06:47:48 +04:00
Alexey Botchkov
d123ed852a
MDEV-11938 json.json_no_table crashes or fails with valgrind warnings in json_find_path / Item_func_json_length::val_int.
...
Paths with quoted keynames handled improperly.
2017-02-02 18:56:15 +04:00
Alexey Botchkov
d96ee168a1
MDEV-11557 port MySQL-5.7 JSON tests to MariaDB.
...
paths ending on [0]..[0] should be handled in conforming manner.
2017-01-26 16:35:05 +04:00
Alexey Botchkov
50831b0f19
MDEV-11557 port MySQL-5.7 JSON tests to MariaDB.
...
json_no_table.test ported.
2017-01-24 17:34:44 +04:00
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
4d10273b4f
MDEV-11571 JSON_EXTRACT returns wrong results.
...
Array counter didn't increment after an item was found.
2016-12-24 10:51:43 +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