Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
11.0.2
-
None
-
MariaDB 11.0.2 running on MacOS; installed using homebrew
Description
11.0.2 doesn't seem to handle dashes when supplied as the first character of the JSON key. In JSON_VALUE and JSON_EXTRACT functions - it returns NULL even when the key is provided using the expected quoting.
CREATE TEMPORARY TABLE IF NOT EXISTS jsonTest AS |
SELECT '{ "-1234" : "something", "12-34" : "else", "1234-" : "and", "1234" : "match" }' AS 'message' |
;
|
 |
SELECT JSON_SEARCH(message, 'one', 'something') AS t1_path, JSON_VALUE(message, JSON_UNQUOTE(JSON_SEARCH(message, 'one', 'something'))) AS t1_result, |
JSON_SEARCH(message, 'one', 'else') AS t2_path, JSON_VALUE(message, JSON_UNQUOTE(JSON_SEARCH(message, 'one', 'else'))) AS t2_result, |
JSON_SEARCH(message, 'one', 'and') AS t3_path, JSON_VALUE(message, JSON_UNQUOTE(JSON_SEARCH(message, 'one', 'and'))) AS t3_result, |
JSON_SEARCH(message, 'one', 'match') AS t4_path, JSON_VALUE(message, JSON_UNQUOTE(JSON_SEARCH(message, 'one', 'match'))) AS t4_result |
FROM jsonTest |
;
|
t1_path | t1_result | t2_path | t2_result | t3_path | t3_result | t4_path | t4_result |
---|---|---|---|---|---|---|---|
"$.-1234" | NULL | "$.12-34" | else | "$.1234-" | and | "$.1234" | match |
Referencing related tickets that don't quite solve this scenario.
Attachments
Issue Links
- relates to
-
MDEV-29381 JSON paths containing dashes are reported as syntax errors in procedures
- Closed
-
MDEV-29586 JSON_VALUE and JSON_EXTRACT doesn't handle special characters
- Closed