Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Done
-
10.2.5
-
Ubuntu 17.04
Description
JSON_EXTRACT fails to handle specific escaped unicode sequence. Here is a example:
SET @str = "{\"\\u00e4\\u00f6\":\"yes\"}"; |
SET @path = "$.\"\\u00e4\\u00f6\""; |
select @str, @path, JSON_EXTRACT(@str, @path); |
Here JSON extract returns null. I've testet the same code on mysql and it works fine. The next example, containing only the first unicode character runs fine on mariadb and mysql.
SET @str = "{\"\\u00e4\":\"yes\"}"; |
SET @path = "$.\"\\u00e4\""; |
select @str, @path, JSON_EXTRACT(@str, @path); |
Attachments
Activity
Field | Original Value | New Value |
---|---|---|
Status | Open [ 1 ] | Confirmed [ 10101 ] |
Fix Version/s | 10.2 [ 14601 ] | |
Assignee | Alexey Botchkov [ holyfoot ] |
Status | Confirmed [ 10101 ] | In Progress [ 3 ] |
issue.field.resolutiondate | 2017-09-12 13:55:35.0 | 2017-09-12 13:55:35.695 |
Fix Version/s | 10.2.8 [ 22544 ] | |
Fix Version/s | 10.2 [ 14601 ] | |
Resolution | Done [ 10200 ] | |
Status | In Progress [ 3 ] | Closed [ 6 ] |
Workflow | MariaDB v3 [ 80712 ] | MariaDB v4 [ 152141 ] |
MariaDB 10.2
| @str | @path | JSON_EXTRACT(@str, @path) |
MariaDB [(none)]> SHOW WARNINGS;
| JSON_VALID(@str) |
| 0 |
MySQL 5.7
| @str | @path | JSON_EXTRACT(@str, @path) |
| JSON_VALID(@str) |
| 1 |