Alexey Botchkov
01a4eb8f76
MDEV-12732 json.json_no_table fails with valgrind in buildbot and
...
outside.
The result_limit variable wasn't always initialized in
Item_func_json_array::fix_length_and_dec().
2017-08-08 13:49:29 +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
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
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
Sergei Golubchik
e0fa2ce40f
bugfix: uninitialized variable
...
fixes crashes on win32-debug
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
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
0e6968c244
MDEV-11857 json_search() shows "Out of memory" with empty key.
...
We should be ready for an empty key.
2017-02-09 17:38:53 +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
35760c0000
MDEV-11557 Port MySQL-5.7 JSON tests to MariaDB.
...
more fixes.
2017-01-25 00:13:15 +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
0d107a85b3
MDEV-11042 Implement GeoJSON functions.
...
ST_AsGeoJSON and ST_GeomFromGeoJSON functions implemented.
2017-01-24 02:29:04 +04:00
Monty
1628a2ae27
Fixed issues found by buildbot
...
- MDEV-11621 rpl.rpl_gtid_stop_start fails sporadically in buildbot
- MDEV-11620 rpl.rpl_upgrade_master_info fails sporadically in buildbot
The issue above was probably that the build machine was overworked and the
shutdown took longer than 30 resp 10 seconds, which caused MyISAM tables
to be marked as crashed.
Fixed by flushing myisam tables before doing a forced shutdown/kill.
I also increased timeout for forced shutdown from 10 seconds to 60 seconds
to fix other possible issues on slow machines.
Fixed also some compiler warnings
2017-01-11 09:18:35 +02: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
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