diff options
Diffstat (limited to 'mysql-test/main/func_json.result')
-rw-r--r-- | mysql-test/main/func_json.result | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/mysql-test/main/func_json.result b/mysql-test/main/func_json.result index 427be24d5ea..4fc52e1960f 100644 --- a/mysql-test/main/func_json.result +++ b/mysql-test/main/func_json.result @@ -942,3 +942,91 @@ json_length json_depnth # # End of 10.3 tests # +# +# Start of 10.4 tests +# +# +# MDEV-16351 JSON_OBJECT() treats hybrid functions with boolean arguments as numbers +# +SELECT +JSON_OBJECT("cond", true) AS j1, +JSON_OBJECT("cond", COALESCE(true, false)) j2, +JSON_OBJECT("cond", COALESCE(COALESCE(true, false))) j3; +j1 {"cond": true} +j2 {"cond": true} +j3 {"cond": true} +CREATE TABLE t1 (a INT); +INSERT INTO t1 VALUES (1),(2),(3); +SELECT JSON_OBJECT('x',(SELECT MAX(a)=4 FROM t1)); +JSON_OBJECT('x',(SELECT MAX(a)=4 FROM t1)) +{"x": false} +SELECT JSON_OBJECT('x',(SELECT MAX(a)=3 FROM t1)); +JSON_OBJECT('x',(SELECT MAX(a)=3 FROM t1)) +{"x": true} +SELECT JSON_OBJECT('x',(SELECT MAX(a)=2 FROM t1)); +JSON_OBJECT('x',(SELECT MAX(a)=2 FROM t1)) +{"x": false} +SELECT JSON_OBJECT('x',MAX(a=4)) FROM t1; +JSON_OBJECT('x',MAX(a=4)) +{"x": false} +SELECT JSON_OBJECT('x',MAX(a=3)) FROM t1; +JSON_OBJECT('x',MAX(a=3)) +{"x": true} +SELECT JSON_OBJECT('x',MAX(a=2)) FROM t1; +JSON_OBJECT('x',MAX(a=2)) +{"x": true} +SELECT JSON_OBJECT('x',(SELECT MAX(a=4) FROM t1)); +JSON_OBJECT('x',(SELECT MAX(a=4) FROM t1)) +{"x": false} +SELECT JSON_OBJECT('x',(SELECT MAX(a=3) FROM t1)); +JSON_OBJECT('x',(SELECT MAX(a=3) FROM t1)) +{"x": true} +SELECT JSON_OBJECT('x',(SELECT MAX(a=2) FROM t1)); +JSON_OBJECT('x',(SELECT MAX(a=2) FROM t1)) +{"x": true} +SELECT * FROM t1 WHERE CASE WHEN JSON_OBJECT('x', (SELECT MAX(a)=4 FROM t1))='{"x": true}' THEN a END; +a +SELECT * FROM t1 WHERE CASE WHEN JSON_OBJECT('x', (SELECT MAX(a)=4 FROM t1))='{"x": false}' THEN a END; +a +1 +2 +3 +SELECT * FROM t1 WHERE CASE WHEN JSON_OBJECT('x', (SELECT MAX(a)=3 FROM t1))='{"x": true}' THEN a END; +a +1 +2 +3 +SELECT * FROM t1 WHERE CASE WHEN JSON_OBJECT('x', (SELECT MAX(a)=3 FROM t1))='{"x": false}' THEN a END; +a +SELECT * FROM t1 WHERE CASE WHEN JSON_OBJECT('x', (SELECT MAX(a)=2 FROM t1))='{"x": true}' THEN a END; +a +SELECT * FROM t1 WHERE CASE WHEN JSON_OBJECT('x', (SELECT MAX(a)=2 FROM t1))='{"x": false}' THEN a END; +a +1 +2 +3 +SELECT * FROM t1 WHERE CASE WHEN JSON_OBJECT('x', (SELECT MAX(a=4) FROM t1))='{"x": true}' THEN a END; +a +SELECT * FROM t1 WHERE CASE WHEN JSON_OBJECT('x', (SELECT MAX(a=4) FROM t1))='{"x": false}' THEN a END; +a +1 +2 +3 +SELECT * FROM t1 WHERE CASE WHEN JSON_OBJECT('x', (SELECT MAX(a=3) FROM t1))='{"x": true}' THEN a END; +a +1 +2 +3 +SELECT * FROM t1 WHERE CASE WHEN JSON_OBJECT('x', (SELECT MAX(a=3) FROM t1))='{"x": false}' THEN a END; +a +SELECT * FROM t1 WHERE CASE WHEN JSON_OBJECT('x', (SELECT MAX(a=2) FROM t1))='{"x": true}' THEN a END; +a +1 +2 +3 +SELECT * FROM t1 WHERE CASE WHEN JSON_OBJECT('x', (SELECT MAX(a=2) FROM t1))='{"x": false}' THEN a END; +a +DROP TABLE t1; +# +# End of 10.4 tests +# |