mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Bug #30715: Assertion failed: item_field->field->real_maybe_null(),
file .\opt_sum.cc, line The optimizer pre-calculates the MIN/MAX values for queries like SELECT MIN(kp_k) WHERE kp_1 = const AND ... AND kp_k-1 = const when there is a key over kp_1...kp_k In doing so it was not checking correctly nullability and there was a superfluous assert(). Fixed by making sure that the field can be null before checking and taking out the wrong assert(). . Introduced a correct check for nullability The MIN(field) can return NULL when all the row values in the group are NULL-able or if there were no rows. Fixed the assertion to reflect the case when there are no rows. mysql-test/r/func_group.result: Bug #30715: test case mysql-test/t/func_group.test: Bug #30715: test case sql/opt_sum.cc: Bug #30715: correct nullability check for MIN/MAX pre-calculation over index.
This commit is contained in:
@ -1387,4 +1387,9 @@ SELECT 1 FROM t1 GROUP BY (SELECT SLEEP(0) FROM t1 ORDER BY AVG(DISTINCT a) );
|
||||
1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (a int, b date NOT NULL, KEY k1 (a,b));
|
||||
SELECT MIN(b) FROM t1 WHERE a=1 AND b>'2007-08-01';
|
||||
MIN(b)
|
||||
NULL
|
||||
DROP TABLE t1;
|
||||
End of 5.0 tests
|
||||
|
Reference in New Issue
Block a user