Skip to content
Permalink
Browse files
MDEV-23991 fixup: Initialize the memory
Also, revert the work-around for the test that was attempted in
commit 85613a3.

This issue was caught by MemorySanitizer as well as on the
Microsoft Windows debug builds, thanks to /MD being used
starting with 10.4.

The code fix will also be applied to 10.2 because the regression
was introduced in commit afc9d00.
  • Loading branch information
dr-m committed Oct 30, 2020
1 parent 9936235 commit 199863d
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 5 deletions.
@@ -150,6 +150,15 @@
Handler_read_rnd_deleted 0
Handler_read_rnd_next 0
explain
@@ -209,7 +209,7 @@
where l_shipdate='1992-07-01' and l_orderkey between 1 and 1000
or l_receiptdate='1992-07-01' and l_orderkey between 5001 and 6000;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE lineitem index_merge PRIMARY,i_l_shipdate,i_l_receiptdate,i_l_orderkey,i_l_orderkey_quantity i_l_shipdate,i_l_receiptdate # NULL # Using
+1 SIMPLE lineitem index_merge PRIMARY,i_l_shipdate,i_l_receiptdate,i_l_orderkey,i_l_orderkey_quantity i_l_shipdate,PRIMARY,i_l_receiptdate,PRIMARY # NULL # Using
flush status;
select l_orderkey, l_linenumber from lineitem
where l_shipdate='1992-07-01' and l_orderkey between 1 and 1000
@@ -220,12 +220,12 @@
5959 3
show status like 'handler_read_next';
@@ -204,6 +204,12 @@ Handler_read_retry 0
Handler_read_rnd 3
Handler_read_rnd_deleted 0
Handler_read_rnd_next 0
explain
select l_orderkey, l_linenumber from lineitem
where l_shipdate='1992-07-01' and l_orderkey between 1 and 1000
or l_receiptdate='1992-07-01' and l_orderkey between 5001 and 6000;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE lineitem index_merge PRIMARY,i_l_shipdate,i_l_receiptdate,i_l_orderkey,i_l_orderkey_quantity i_l_shipdate,i_l_receiptdate # NULL # Using
flush status;
select l_orderkey, l_linenumber from lineitem
where l_shipdate='1992-07-01' and l_orderkey between 1 and 1000
@@ -98,11 +98,11 @@ select l_orderkey, l_linenumber
or l_receiptdate='1992-07-01' and l_orderkey between 5001 and 6000;
show status like 'handler_read%';

# FIXME: optimizer_switch=extended_keys=off occasionally gets wrong plan
#explain
#select l_orderkey, l_linenumber from lineitem
# where l_shipdate='1992-07-01' and l_orderkey between 1 and 1000
# or l_receiptdate='1992-07-01' and l_orderkey between 5001 and 6000;
--replace_column 7 # 9 # 10 Using
explain
select l_orderkey, l_linenumber from lineitem
where l_shipdate='1992-07-01' and l_orderkey between 1 and 1000
or l_receiptdate='1992-07-01' and l_orderkey between 5001 and 6000;
flush status;
select l_orderkey, l_linenumber from lineitem
where l_shipdate='1992-07-01' and l_orderkey between 1 and 1000
@@ -2244,6 +2244,9 @@ dict_stats_update_persistent(
}

ut_ad(!dict_index_is_ibuf(index));
mutex_enter(&dict_sys.mutex);
dict_stats_empty_index(index, false);
mutex_exit(&dict_sys.mutex);

index_stats_t stats = dict_stats_analyze_index(index);

0 comments on commit 199863d

Please sign in to comment.