Hi Alexey,
Consider this:
select * from
json_table(
'[{"a":"asd"},
{"a":123},
{"a":[]},
{"a":{}}
]',
'$[*]'
columns (
id for ordinality,
intcol int path '$.a' default '1234' on empty default '5678' on error
)
) as tt;
+------+--------+
| id | intcol |
+------+--------+
| 1 | 0 |
| 2 | 123 |
| 3 | 5678 |
| 4 | 5678 |
+------+--------+
We can see that "default '5678' on error" clause took effect for the rows #3 and
#4, but not for row #1. Also, no conversion warning was issued.
MySQL and OracleDB produce this row, instead:
+------+--------+
| id | intcol |
+------+--------+
| 1 | 5678 |
I think MariaDB should do that, too. (and if not, we need to provide a
reasoning why). What do you think?
BR
Sergei
--
Sergei Petrunia, Software Developer
MariaDB Corporation | Skype: sergefp | Blog: http://petrunia.net
_______________________________________________
Mailing list: https://launchpad.net/~maria-developers
Post to : [email protected]
Unsubscribe : https://launchpad.net/~maria-developers
More help : https://help.launchpad.net/ListHelp