[MDEV-22297] JSON_TABLE: ON ERROR clause is used for empty values if ON EMPTY is not specified explicitly Created: 2020-04-18 Updated: 2020-04-29 Resolved: 2020-04-29 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | JSON |
| Affects Version/s: | N/A |
| Fix Version/s: | N/A |
| Type: | Bug | Priority: | Major |
| Reporter: | Elena Stepanova | Assignee: | Alexey Botchkov |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||
| Description |
|
MySQL behavior appears to be correct. According to the standard, default behavior for ON EMPTY and ON ERROR is NULL. Nothing suggests that ON ERROR can be used instead of ON EMPTY. If both ON EMPTY and ON ERROR are specified, then ON EMPTY is picked up correctly:
|
| Comments |
| Comment by Alexey Botchkov [ 2020-04-27 ] |
|
I did it that way intentionally - this is how the Oracle server behaves. |
| Comment by Elena Stepanova [ 2020-04-27 ] |
|
To my understanding, that's not what the standard says, though. I am not sure that we should follow Oracle and not the standard in case of a contradiction. |
| Comment by Sergei Golubchik [ 2020-04-27 ] |
|
elenst, you are right. The standard (SQL:2016, 7.11 <JSON table>, Syntax rules, 1)e) clearly says
and we should do it this way. |