MDEV-21029 Incorrect result for expression with the <=> operator and IS NULL
Item_func_equal erroneously derived is_null() from the parent class. Overriding it to return false because <=> can never return NULL.
This commit is contained in:
parent
773cb726a8
commit
2e404c9850
@ -43,3 +43,14 @@ a
|
||||
4828532208463511553
|
||||
drop table t1;
|
||||
#End of 4.1 tests
|
||||
# Start of 10.5 tests
|
||||
#
|
||||
# MDEV-21029 Incorrect result for expression with the <=> operator and IS NULL
|
||||
#
|
||||
CREATE TABLE t0(c0 INT);
|
||||
INSERT INTO t0 VALUES (1);
|
||||
SELECT (c0 > (NULL <=> 0)) IS NULL AS c1 FROM t0;
|
||||
c1
|
||||
0
|
||||
DROP TABLE t0;
|
||||
# End of 10.5 tests
|
||||
|
@ -44,3 +44,18 @@ select * from t1 where a in ('4828532208463511553');
|
||||
drop table t1;
|
||||
|
||||
--echo #End of 4.1 tests
|
||||
|
||||
|
||||
--echo # Start of 10.5 tests
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-21029 Incorrect result for expression with the <=> operator and IS NULL
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t0(c0 INT);
|
||||
INSERT INTO t0 VALUES (1);
|
||||
SELECT (c0 > (NULL <=> 0)) IS NULL AS c1 FROM t0;
|
||||
DROP TABLE t0;
|
||||
|
||||
|
||||
--echo # End of 10.5 tests
|
||||
|
@ -782,6 +782,7 @@ public:
|
||||
enum Functype functype() const override { return EQUAL_FUNC; }
|
||||
enum Functype rev_functype() const override { return EQUAL_FUNC; }
|
||||
cond_result eq_cmp_result() const override { return COND_TRUE; }
|
||||
bool is_null() override { return false; }
|
||||
const char *func_name() const override { return "<=>"; }
|
||||
Item *neg_transformer(THD *thd) override { return 0; }
|
||||
void add_key_fields(JOIN *join, KEY_FIELD **key_fields,
|
||||
|
Loading…
x
Reference in New Issue
Block a user