diff options
author | gshchepa/uchum@gleb.loc <> | 2007-08-03 01:58:21 +0500 |
---|---|---|
committer | gshchepa/uchum@gleb.loc <> | 2007-08-03 01:58:21 +0500 |
commit | b63f8f8985cf2339d21ff676a5a996286bd6c5f6 (patch) | |
tree | 47296516b38e3c9b2c7c5042a7374083dfbb1207 /mysql-test/t/select.test | |
parent | 120866c2737f55227d706b54959f50f83c387932 (diff) | |
download | mariadb-git-b63f8f8985cf2339d21ff676a5a996286bd6c5f6.tar.gz |
Fixed bug #27352.
The SELECT query with more than 31 nested dependent SELECT queries returned
wrong result.
New error message has been added: ER_TOO_HIGH_LEVEL_OF_NESTING_FOR_SELECT.
It will be reported as: "Too high level of nesting for select".
Diffstat (limited to 'mysql-test/t/select.test')
-rw-r--r-- | mysql-test/t/select.test | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/mysql-test/t/select.test b/mysql-test/t/select.test index 56b2f1b02b8..8bfa12539fa 100644 --- a/mysql-test/t/select.test +++ b/mysql-test/t/select.test @@ -3370,4 +3370,34 @@ EXPLAIN SELECT COUNT(*) FROM t1 f1 INNER JOIN t1 f2 WHERE 1 AND f1.b NOT IN (100,2232,3343,51111); DROP TABLE t1; +# +# Bug #27352: Incorrect result of nested selects instead of error reporting +# + +CREATE TABLE t1 (c1 INT, c2 INT); +INSERT INTO t1 VALUES (1,11), (2,22), (2,22); + +let $n= 31; +let $q= COUNT(c2); +while ($n) +{ + let $q= (SELECT $q); + dec $n; +} +--disable_warnings +eval EXPLAIN SELECT c1 FROM t1 WHERE $q > 0; +--enable_warnings + +let $n= 64; +let $q= COUNT(c2); +while ($n) +{ + let $q= (SELECT $q); + dec $n; +} +--error ER_TOO_HIGH_LEVEL_OF_NESTING_FOR_SELECT +eval EXPLAIN SELECT c1 FROM t1 WHERE $q > 0; + +DROP TABLE t1; + --echo End of 5.0 tests |