Rucha Deodhar
dbe39f14fe
MDEV-28762: recursive call of some json functions without stack control
...
Analysis: Some recursive json functions dont check for stack control
Fix: Add check_stack_overrun(). The last argument is NULL because it is not
used
2022-07-20 19:24:48 +05:30
Marko Mäkelä
a8de8f261d
Merge 10.2 into 10.3
2020-10-28 10:01:50 +02:00
Vicențiu Ciorbaru
5a9df1550f
MDEV-23941: strings/json_lib.c:893:12: style: Suspicious condition
...
The characters parsed are always ascii characters, hence one byte. This
means that the code did not have "incorrect" logic because the boolean
condition, if true, would also evaluate to the value of 1.
The condition however is semantically wrong, assuming a length is equal
to the condition outcome. Change paranthesis to make it also read
according to the intent.
2020-10-23 19:41:27 +03:00
Alexey Botchkov
6c2724fc05
MDEV-19628 JSON with starting double quotes key is not valid.
...
Make the skip_key a bit faster.
2019-09-30 15:27:48 +04:00
Alexey Botchkov
6ac2a35553
MDEV-19628 JSON with starting double quotes key is not valid.
...
First character of the key name is just skipped, so the escapement
wasn't handled properly.
2019-09-30 14:43:32 +04:00
Alexey Botchkov
9554ef0678
MDEV-19670 json escaped unicode parse error.
...
Fixed 4-byte length characters handled incorrectly.
2019-09-12 11:12:55 +04:00
Sergei Golubchik
4e1d3f83b7
Merge branch '10.2' into 10.3
2019-03-29 19:41:41 +01:00
Sergei Golubchik
cc71e7501c
post-merge: -Werror fixes in 10.2
2019-03-29 10:58:25 +01:00
Marko Mäkelä
fd58bb71e2
Merge 10.2 into 10.3
2018-11-19 18:45:53 +02:00
Alexey Botchkov
b290ef8c76
MDEV-17454 JSON_VALID( '{"a":1]' ) evaluates to 1.
...
Produce syntax error when '{...]'.
2018-11-12 01:50:07 +04:00
Sergei Golubchik
57e0da50bb
Merge branch '10.2' into 10.3
2018-09-28 16:37:06 +02:00
Alexey Botchkov
f54485eadb
MDEV-17001 JSON_MERGE returns nullwhen merging empty array.
...
Don't add the comma if nothing appended to the array.
2018-09-13 13:42:09 +04:00
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
Marko Mäkelä
05459706f2
Merge 10.2 into 10.3
2018-08-03 15:57:23 +03: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
luz.paz
3dd01669b4
Misc. typos
...
Found via `codespell -i 3 -w --skip="./debian/po" -I ../mariadb-server-word-whitelist.txt ./cmake/ ./debian/ ./Docs/ ./include/ ./man/ ./plugin/ ./strings/`
2018-04-05 15:26:57 +04:00
Alexey Botchkov
ad647cc84e
MDEV-15561 json_extract returns NULL with numbers in scientific notation.
...
Scientific notation handling fixed.
Conflicts:
mysql-test/r/func_json.result
mysql-test/t/func_json.test
2018-03-25 00:32:14 +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
Monty
60df17e95a
Remove compiler warnings
2017-12-03 13:58:36 +02:00
Marko Mäkelä
7cb3520c06
Merge bb-10.2-ext into 10.3
2017-11-30 08:16:37 +02: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
Alexander Barkov
835cbbcc7b
Merge remote-tracking branch 'origin/bb-10.2-ext' into 10.3
...
TODO: enable MDEV-13049 optimization for 10.3
2017-10-30 20:47:39 +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
Marko Mäkelä
2c1067166d
Merge bb-10.2-ext into 10.3
2017-10-04 08:24:06 +03:00
Vladislav Vaintroub
7354dc6773
MDEV-13384 - misc Windows warnings fixed
2017-09-28 17:20:46 +00:00
Marko Mäkelä
e17a282da9
Merge bb-10.2-ext into 10.3
2017-09-18 11:38:07 +03:00
Alexey Botchkov
e2b9f6762c
Make compiler happy with the 'fall through' comments.
2017-09-14 14:30:24 +04:00
Alexey Botchkov
c94fb7b7c1
Compiler warning avoided.
2017-09-14 11:16:40 +04:00
Marko Mäkelä
348eaf4252
Merge bb-10.2-ext into 10.3
2017-09-14 09:12:47 +03: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
Michael Widenius
4aaa38d26e
Enusure that my_global.h is included first
...
- Added sql/mariadb.h file that should be included first by files in sql
directory, if sql_plugin.h is not used (sql_plugin.h adds SHOW variables
that must be done before my_global.h is included)
- Removed a lot of include my_global.h from include files
- Removed include's of some files that my_global.h automatically includes
- Removed duplicated include's of my_sys.h
- Replaced include my_config.h with my_global.h
2017-08-24 01:05:44 +02: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
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
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
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
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
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
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
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
7fca133028
MDEV-11463 Server crashes in mark_array upon JSON_VALID.
...
The depth of nested arrays should be controlled, as it's limited.
2016-12-03 12:36:10 +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