diff options
| author | Marko Mäkelä <marko.makela@mariadb.com> | 2022-08-29 14:02:29 +0300 |
|---|---|---|
| committer | Marko Mäkelä <marko.makela@mariadb.com> | 2022-08-29 14:02:29 +0300 |
| commit | d3099985fbd4b5e85564cc15de58a88916c16091 (patch) | |
| tree | fa7674085dc00c5af85358a58ac0ae0376382178 /mysql-test/main/func_json.test | |
| parent | 8cb75b9863a7043ebf2545158b3d2e634bca1831 (diff) | |
| parent | 2bddc5d045b40e64fd2e08cf8e3666370c69ff2b (diff) | |
| download | mariadb-git-d3099985fbd4b5e85564cc15de58a88916c16091.tar.gz | |
Merge 10.8 into 10.9
Diffstat (limited to 'mysql-test/main/func_json.test')
| -rw-r--r-- | mysql-test/main/func_json.test | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/mysql-test/main/func_json.test b/mysql-test/main/func_json.test index 9459f586bce..65fdc859add 100644 --- a/mysql-test/main/func_json.test +++ b/mysql-test/main/func_json.test @@ -628,6 +628,25 @@ SELECT * FROM t1 WHERE JSON_EXTRACT(j, '$.Age')=19; drop table t1; --echo # +--echo # MDEV-27151: JSON_VALUE() does not parse NULL properties properly +--echo # +--echo # +--echo # It is correct for JSON_EXTRACT() to give null instead of "NULL" because +--echo # it returns the json literal that is put inside json. +--echo # Hence it should return null as in 'null' string and not SQL NULL. +--echo # JSON_VALUE() returns the "VALUE" so it is correct for it to return SQl NULL +--echo # + +SELECT NULL; +SELECT JSON_VALUE('{"nulltest": null}', '$.nulltest'); +SELECT 1 + NULL; +SELECT 1 + JSON_VALUE('{"nulltest": null}', '$.nulltest'); + + +SELECT NULL; +SELECT JSON_EXTRACT('{"a":null, "b":10, "c":"null"}', '$.a'); + +--echo # --echo # End of 10.3 tests --echo # @@ -927,6 +946,17 @@ SELECT JSON_ARRAYAGG(a) AS f FROM v; DROP VIEW v; DROP TABLE t; + +--echo # +--echo # MDEV-29264 JSON functions overflow error based ON LONGTEXT field +--echo # +CREATE TABLE t(l1 LONGTEXT, l2 LONGTEXT, l3 LONGTEXT, l4 LONGTEXT); +INSERT INTO t VALUES('k1', 'v1', 'k2', 'v2'); +SELECT JSON_ARRAY(l1, l2, l3, l4), JSON_OBJECT(l1, l2, l3, l4) from t; +SELECT JSON_ARRAY_APPEND(JSON_ARRAY(l1, l2, l3, l4), '$[0]', 'k3'), JSON_ARRAY_INSERT(JSON_ARRAY(l1, l2, l3, l4), '$[0]', 'k3') from t; +SELECT JSON_INSERT(JSON_OBJECT(l1, l2, l3, l4), '$.k3', 'v3'),JSON_SET(JSON_OBJECT(l1, l2, l3, l4), '$.k2', 'new v2'),JSON_REPLACE(JSON_OBJECT(l1, l2, l3, l4), '$.k2', 'new v2') from t; +DROP TABLE t; + --echo # --echo # End of 10.5 tests --echo # |
