diff options
Diffstat (limited to 'mysql-test/t')
-rw-r--r-- | mysql-test/t/select_found.test | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/mysql-test/t/select_found.test b/mysql-test/t/select_found.test index 33613697722..49395fbaebf 100644 --- a/mysql-test/t/select_found.test +++ b/mysql-test/t/select_found.test @@ -287,3 +287,61 @@ select found_rows(); select sql_calc_found_rows * from t1 order by c1 limit 2,1; select found_rows(); drop table t1; + +# +#MDEV-18202 SQL_CALC_FOUND_ROWS do not work with UNION ALL +# +# +# NO LIMIT IN BRACES +# +CREATE TABLE t1(id1 INT); +CREATE TABLE t2(id2 INT); +INSERT INTO t1 VALUES(1),(2); +INSERT INTO t2 VALUES(2),(3); + +SELECT SQL_CALC_FOUND_ROWS "foo" UNION ALL SELECT "bar"; +SELECT SQL_CALC_FOUND_ROWS "foo" UNION ALL SELECT "bar" LIMIT 0; +SELECT FOUND_ROWS(); +SELECT SQL_CALC_FOUND_ROWS id1 FROM t1 UNION ALL SELECT id2 FROM t2; +SELECT SQL_CALC_FOUND_ROWS id1 FROM t1 UNION ALL SELECT id2 FROM t2 LIMIT 0; +SELECT FOUND_ROWS(); +(SELECT SQL_CALC_FOUND_ROWS "foo") UNION ALL (SELECT "bar"); +(SELECT SQL_CALC_FOUND_ROWS "foo") UNION ALL (SELECT "bar") LIMIT 0; +SELECT FOUND_ROWS(); +(SELECT SQL_CALC_FOUND_ROWS id1 FROM t1) UNION ALL (SELECT id2 FROM t2); +(SELECT SQL_CALC_FOUND_ROWS id1 FROM t1) UNION ALL (SELECT id2 FROM t2) LIMIT 0; +SELECT FOUND_ROWS(); +SELECT SQL_CALC_FOUND_ROWS "foo" UNION ALL (SELECT "bar"); +SELECT SQL_CALC_FOUND_ROWS "foo" UNION ALL (SELECT "bar") LIMIT 0; +SELECT FOUND_ROWS(); +SELECT SQL_CALC_FOUND_ROWS id1 FROM t1 UNION ALL (SELECT id2 FROM t2); +SELECT SQL_CALC_FOUND_ROWS id1 FROM t1 UNION ALL (SELECT id2 FROM t2) LIMIT 0; +SELECT FOUND_ROWS(); +(SELECT SQL_CALC_FOUND_ROWS "foo") UNION ALL SELECT "bar"; +(SELECT SQL_CALC_FOUND_ROWS "foo") UNION ALL SELECT "bar" LIMIT 0; +SELECT FOUND_ROWS(); +(SELECT SQL_CALC_FOUND_ROWS id1 FROM t1) UNION ALL SELECT id2 FROM t2 LIMIT 0; +(SELECT SQL_CALC_FOUND_ROWS id1 FROM t1) UNION ALL SELECT id2 FROM t2 LIMIT 0; +SELECT FOUND_ROWS(); +# +#LIMIT IN BRACES +# +(SELECT SQL_CALC_FOUND_ROWS "foo" LIMIT 0) UNION ALL (SELECT "bar" LIMIT 0); +(SELECT SQL_CALC_FOUND_ROWS "foo" LIMIT 0) UNION ALL (SELECT "bar" LIMIT 0) LIMIT 0; +SELECT FOUND_ROWS(); +(SELECT SQL_CALC_FOUND_ROWS id1 FROM t1 LIMIT 0) UNION ALL (SELECT id2 FROM t2 LIMIT 0); +(SELECT SQL_CALC_FOUND_ROWS id1 FROM t1 LIMIT 0) UNION ALL (SELECT id2 FROM t2 LIMIT 0) LIMIT 0; +SELECT FOUND_ROWS(); +(SELECT SQL_CALC_FOUND_ROWS "foo" LIMIT 0) UNION ALL (SELECT "bar"); +(SELECT SQL_CALC_FOUND_ROWS "foo" LIMIT 0) UNION ALL (SELECT "bar") LIMIT 0; +SELECT FOUND_ROWS(); +(SELECT SQL_CALC_FOUND_ROWS id1 FROM t1 LIMIT 0) UNION ALL (SELECT id2 FROM t2); +(SELECT SQL_CALC_FOUND_ROWS id1 FROM t1 LIMIT 0) UNION ALL (SELECT id2 FROM t2) LIMIT 0; +SELECT FOUND_ROWS(); +SELECT SQL_CALC_FOUND_ROWS "foo" UNION ALL (SELECT "bar" LIMIT 0); +SELECT SQL_CALC_FOUND_ROWS "foo" UNION ALL (SELECT "bar" LIMIT 0) LIMIT 0; +SELECT FOUND_ROWS(); +SELECT SQL_CALC_FOUND_ROWS id1 FROM t1 UNION ALL (SELECT id2 FROM t2 LIMIT 0); +SELECT SQL_CALC_FOUND_ROWS id1 FROM t1 UNION ALL (SELECT id2 FROM t2 LIMIT 0) LIMIT 0; +SELECT FOUND_ROWS(); +DROP TABLE t1,t2; |