diff options
author | Kentoku SHIBA <kentokushiba@gmail.com> | 2020-05-05 22:41:10 +0900 |
---|---|---|
committer | Kentoku SHIBA <kentokushiba@gmail.com> | 2020-05-05 22:41:10 +0900 |
commit | 5151d7cea24329ec82097c8ca170b21db82c8c4f (patch) | |
tree | e2ce75ea62a3790ffbefab439789c4de8e84133a | |
parent | 4d47d737ed7511cdc08119376d2462e844830e06 (diff) | |
download | mariadb-git-bb-10.4-MDEV-20502.tar.gz |
MDEV-20502 Queries against spider tables return wrong values for columns following constant declarations.bb-10.4-MDEV-20502
Add test cases.
-rw-r--r-- | storage/spider/mysql-test/spider/bugfix/r/mdev_20502.result | 24 | ||||
-rw-r--r-- | storage/spider/mysql-test/spider/bugfix/t/mdev_20502.test | 7 |
2 files changed, 31 insertions, 0 deletions
diff --git a/storage/spider/mysql-test/spider/bugfix/r/mdev_20502.result b/storage/spider/mysql-test/spider/bugfix/r/mdev_20502.result index 284f62e522e..e5f16b81329 100644 --- a/storage/spider/mysql-test/spider/bugfix/r/mdev_20502.result +++ b/storage/spider/mysql-test/spider/bugfix/r/mdev_20502.result @@ -36,14 +36,38 @@ connection master_1; SELECT id, 0 AS const, val FROM tbl_a; id const val 1 0 1 +SELECT 1+2, id, 0 AS const, val, val+10, (SELECT tbl_a.val+1 FROM tbl_a) AS sq +FROM tbl_a; +1+2 id const val val+10 sq +3 1 0 1 11 2 +INSERT INTO tbl_a (val) VALUES (2), (1); +SELECT val+10, 0 AS const, val, (SELECT tbl_a.val+1 FROM tbl_a LIMIT 1) AS sq +FROM tbl_a GROUP BY val; +val+10 const val sq +11 0 1 2 +12 0 2 2 +SELECT MAX(id) AS m, 0 AS const, val, (SELECT tbl_a.val+1 FROM tbl_a LIMIT 1) AS sq +FROM tbl_a GROUP BY val; +m const val sq +3 0 1 2 +2 0 2 2 connection child2_1; SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %'; argument select t0.`id` `id`,t0.`val` `val` from `auto_test_remote`.`tbl_a` t0 +select t0.`id` `id`,t0.`val` `val`,(t0.`val` + 10) `val+10` from `auto_test_remote`.`tbl_a` t0 +select (t0.`val` + 1) `tbl_a.val+1` from `auto_test_remote`.`tbl_a` t0 +select `id`,`val` from `auto_test_remote`.`tbl_a` order by `id` desc limit 1 for update +select (t0.`val` + 10) `val+10`,t0.`val` `val` from `auto_test_remote`.`tbl_a` t0 group by t0.`val` order by t0.`val` +select (t0.`val` + 1) `tbl_a.val+1` from `auto_test_remote`.`tbl_a` t0 limit 1 +select max(t0.`id`) `m`,t0.`val` `val` from `auto_test_remote`.`tbl_a` t0 group by t0.`val` order by t0.`val` +select (t0.`val` + 1) `tbl_a.val+1` from `auto_test_remote`.`tbl_a` t0 limit 1 SELECT argument FROM mysql.general_log WHERE argument LIKE '%select %' SELECT id, val FROM tbl_a ORDER BY id; id val 1 1 +2 2 +3 1 deinit connection master_1; diff --git a/storage/spider/mysql-test/spider/bugfix/t/mdev_20502.test b/storage/spider/mysql-test/spider/bugfix/t/mdev_20502.test index 4693f2f7409..2d6ff5b4663 100644 --- a/storage/spider/mysql-test/spider/bugfix/t/mdev_20502.test +++ b/storage/spider/mysql-test/spider/bugfix/t/mdev_20502.test @@ -49,6 +49,13 @@ TRUNCATE TABLE mysql.general_log; --connection master_1 SELECT id, 0 AS const, val FROM tbl_a; +SELECT 1+2, id, 0 AS const, val, val+10, (SELECT tbl_a.val+1 FROM tbl_a) AS sq +FROM tbl_a; +INSERT INTO tbl_a (val) VALUES (2), (1); +SELECT val+10, 0 AS const, val, (SELECT tbl_a.val+1 FROM tbl_a LIMIT 1) AS sq +FROM tbl_a GROUP BY val; +SELECT MAX(id) AS m, 0 AS const, val, (SELECT tbl_a.val+1 FROM tbl_a LIMIT 1) AS sq +FROM tbl_a GROUP BY val; --connection child2_1 eval $CHILD2_1_SELECT_ARGUMENT1; |