Fixed bug #25027.
Removed an assertion that was not valid for the cases where the query in a prepared statement contained a single-row non-correlated subquery that was used as an argument of the IS NULL predicate.
This commit is contained in:
parent
11cdca9a2f
commit
026196c4ef
@ -1514,4 +1514,19 @@ Variable_name Value
|
||||
Slow_queries 1
|
||||
deallocate prepare no_index;
|
||||
deallocate prepare sq;
|
||||
CREATE TABLE t1 (a int);
|
||||
INSERT INTO t1 VALUES (1), (2);
|
||||
CREATE TABLE t2 (b int);
|
||||
INSERT INTO t2 VALUES (NULL);
|
||||
SELECT a FROM t1 WHERE (SELECT b FROM t2) IS NULL;
|
||||
a
|
||||
1
|
||||
2
|
||||
PREPARE stmt FROM 'SELECT a FROM t1 WHERE (SELECT b FROM t2) IS NULL';
|
||||
EXECUTE stmt;
|
||||
a
|
||||
1
|
||||
2
|
||||
DEALLOCATE PREPARE stmt;
|
||||
DROP TABLE t1,t2;
|
||||
End of 5.0 tests.
|
||||
|
@ -1563,4 +1563,22 @@ execute sq;
|
||||
deallocate prepare no_index;
|
||||
deallocate prepare sq;
|
||||
|
||||
#
|
||||
# Bug 25027: query with a single-row non-correlated subquery
|
||||
# and IS NULL predicate
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (a int);
|
||||
INSERT INTO t1 VALUES (1), (2);
|
||||
CREATE TABLE t2 (b int);
|
||||
INSERT INTO t2 VALUES (NULL);
|
||||
|
||||
SELECT a FROM t1 WHERE (SELECT b FROM t2) IS NULL;
|
||||
PREPARE stmt FROM 'SELECT a FROM t1 WHERE (SELECT b FROM t2) IS NULL';
|
||||
|
||||
EXECUTE stmt;
|
||||
|
||||
DEALLOCATE PREPARE stmt;
|
||||
DROP TABLE t1,t2;
|
||||
|
||||
--echo End of 5.0 tests.
|
||||
|
@ -1903,7 +1903,6 @@ void st_select_lex_unit::set_limit(SELECT_LEX *sl)
|
||||
{
|
||||
ha_rows select_limit_val;
|
||||
|
||||
DBUG_ASSERT(! thd->stmt_arena->is_stmt_prepare());
|
||||
select_limit_val= (ha_rows)(sl->select_limit ? sl->select_limit->val_uint() :
|
||||
HA_POS_ERROR);
|
||||
offset_limit_cnt= (ha_rows)(sl->offset_limit ? sl->offset_limit->val_uint() :
|
||||
|
Loading…
x
Reference in New Issue
Block a user