mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 20:42:30 +01:00
aaf6acae9b
to NULL For queries of the form SELECT MIN(key_part_k) FROM t1 WHERE key_part_1 = const and ... and key_part_k-1 = const, the opt_sum_query optimization tries to use an index to substitute MIN/MAX functions with their values according to the following rules: 1) Insert the minimum non-null values where the WHERE clause still matches, or 3) A row of nulls However, the correct semantics requires that there is a third case 2) such that a NULL value is substituted if there are only NULL values for key_part_k. The patch modifies opt_sum_query() to handle this missing case. mysql-test/r/func_group.result: Bug #27573: Correct result mysql-test/t/func_group.test: Bug #27573: test case sql/opt_sum.cc: Bug #27573: Added code that will try to read the first non-null value for a given complete-field prefix, second choice is to read the null, and lastly set the error code if no row is found.
38 lines
820 B
Text
38 lines
820 B
Text
-- source include/not_embedded.inc
|
|
-- source include/have_bdb.inc
|
|
|
|
#
|
|
# Bug #16206: Superfluous COMMIT event in binlog when updating BDB in autocommit mode
|
|
#
|
|
set autocommit=1;
|
|
|
|
let $VERSION=`select version()`;
|
|
|
|
reset master;
|
|
create table bug16206 (a int);
|
|
insert into bug16206 values(1);
|
|
start transaction;
|
|
insert into bug16206 values(2);
|
|
commit;
|
|
--replace_result $VERSION VERSION
|
|
--replace_column 1 f 2 n 5 n
|
|
show binlog events;
|
|
drop table bug16206;
|
|
|
|
reset master;
|
|
create table bug16206 (a int) engine= bdb;
|
|
insert into bug16206 values(0);
|
|
insert into bug16206 values(1);
|
|
start transaction;
|
|
insert into bug16206 values(2);
|
|
commit;
|
|
insert into bug16206 values(3);
|
|
--replace_result $VERSION VERSION
|
|
--replace_column 1 f 2 n 5 n
|
|
show binlog events;
|
|
drop table bug16206;
|
|
|
|
set autocommit=0;
|
|
|
|
|
|
--echo End of 5.0 tests
|