1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

Small corrections to MDEV-29693 ANALYZE TABLE

32 bit MariaDB crashed in innodb.innodb-16k and a few other tests.
Fixed by using correct sizeof() calls.

Histograms where not read if first read was without histograms.
This commit is contained in:
Monty
2023-09-01 11:24:42 +03:00
parent 182a08a8a3
commit f009c4da91
5 changed files with 127 additions and 7 deletions

View File

@ -87,5 +87,76 @@ test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
drop table t1;
#
# End of 10.5 tests
# Test that histograms are read after flush
#
create table t1 (a int);
insert into t1 select seq from seq_1_to_10;
insert into t1 select A.seq from seq_10_to_20 A, seq_1_to_9 B;
analyze table t1 persistent for all;
Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
explain format=json select * from t1 where a between 2 and 5;
EXPLAIN
{
"query_block": {
"select_id": 1,
"table": {
"table_name": "t1",
"access_type": "ALL",
"rows": 109,
"filtered": 5,
"attached_condition": "t1.a between 2 and 5"
}
}
}
explain format=json select * from t1 where a between 12 and 15;
EXPLAIN
{
"query_block": {
"select_id": 1,
"table": {
"table_name": "t1",
"access_type": "ALL",
"rows": 109,
"filtered": 33.59375,
"attached_condition": "t1.a between 12 and 15"
}
}
}
flush tables;
set @@optimizer_use_condition_selectivity=3;
explain format=json select * from t1 where a between 2 and 5;
EXPLAIN
{
"query_block": {
"select_id": 1,
"table": {
"table_name": "t1",
"access_type": "ALL",
"rows": 109,
"filtered": 15.78947353,
"attached_condition": "t1.a between 2 and 5"
}
}
}
set @@optimizer_use_condition_selectivity=4;
explain format=json select * from t1 where a between 2 and 5;
EXPLAIN
{
"query_block": {
"select_id": 1,
"table": {
"table_name": "t1",
"access_type": "ALL",
"rows": 109,
"filtered": 5,
"attached_condition": "t1.a between 2 and 5"
}
}
}
drop table t1;
set @@optimizer_use_condition_selectivity=default;
#
# End of 10.6 tests
#