Bug #31884: Assertion + crash in subquery in the SELECT clause.
Item_in_subselect's only externally callable method is val_bool(). However the nullability in the wrapper class (Item_in_optimizer) is established by calling the "forbidden" method val_int(). Fixed to use the correct method (val_bool() ) to establish nullability of Item_in_subselect in Item_in_optimizer.
This commit is contained in:
parent
76bf63ba4b
commit
01fe24cd68
@ -4139,4 +4139,15 @@ SELECT (SELECT SUM(t1.a) FROM t2 WHERE a=1) FROM t1;
|
||||
(SELECT SUM(t1.a) FROM t2 WHERE a=1)
|
||||
3
|
||||
DROP TABLE t1,t2;
|
||||
CREATE TABLE t1 (a1 INT, a2 INT);
|
||||
CREATE TABLE t2 (b1 INT, b2 INT);
|
||||
INSERT INTO t1 VALUES (100, 200);
|
||||
INSERT INTO t1 VALUES (101, 201);
|
||||
INSERT INTO t2 VALUES (101, 201);
|
||||
INSERT INTO t2 VALUES (103, 203);
|
||||
SELECT ((a1,a2) IN (SELECT * FROM t2 WHERE b2 > 0)) IS NULL FROM t1;
|
||||
((a1,a2) IN (SELECT * FROM t2 WHERE b2 > 0)) IS NULL
|
||||
0
|
||||
0
|
||||
DROP TABLE t1, t2;
|
||||
End of 5.0 tests.
|
||||
|
@ -2987,4 +2987,19 @@ SELECT (SELECT SUM(t1.a) FROM t2 WHERE a!=0) FROM t1;
|
||||
SELECT (SELECT SUM(t1.a) FROM t2 WHERE a=1) FROM t1;
|
||||
DROP TABLE t1,t2;
|
||||
|
||||
#
|
||||
# Bug #31884: Assertion + crash in subquery in the SELECT clause.
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (a1 INT, a2 INT);
|
||||
CREATE TABLE t2 (b1 INT, b2 INT);
|
||||
|
||||
INSERT INTO t1 VALUES (100, 200);
|
||||
INSERT INTO t1 VALUES (101, 201);
|
||||
INSERT INTO t2 VALUES (101, 201);
|
||||
INSERT INTO t2 VALUES (103, 203);
|
||||
|
||||
SELECT ((a1,a2) IN (SELECT * FROM t2 WHERE b2 > 0)) IS NULL FROM t1;
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
--echo End of 5.0 tests.
|
||||
|
@ -306,6 +306,7 @@ public:
|
||||
double val_real();
|
||||
String *val_str(String*);
|
||||
my_decimal *val_decimal(my_decimal *);
|
||||
void update_null_value () { (void) val_bool(); }
|
||||
bool val_bool();
|
||||
void top_level_item() { abort_on_null=1; }
|
||||
inline bool is_top_level_item() { return abort_on_null; }
|
||||
|
Loading…
x
Reference in New Issue
Block a user