summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/sql_select.cc1
-rw-r--r--sql/sql_statistics.cc3
-rw-r--r--sql/table.cc1
3 files changed, 4 insertions, 1 deletions
diff --git a/sql/sql_select.cc b/sql/sql_select.cc
index 5279db17029..e482b6a8c96 100644
--- a/sql/sql_select.cc
+++ b/sql/sql_select.cc
@@ -14657,6 +14657,7 @@ create_tmp_table(THD *thd, TMP_TABLE_PARAM *param, List<Item> &fields,
keyinfo->algorithm= HA_KEY_ALG_UNDEF;
keyinfo->is_statistics_from_stat_tables= FALSE;
keyinfo->rec_per_key=0;
+ keyinfo->read_stat.avg_frequency= NULL;
/*
Create an extra field to hold NULL bits so that unique indexes on
diff --git a/sql/sql_statistics.cc b/sql/sql_statistics.cc
index 27aa77ae1a3..3c6f5829e6b 100644
--- a/sql/sql_statistics.cc
+++ b/sql/sql_statistics.cc
@@ -1636,6 +1636,7 @@ void set_statistics_for_table(THD *thd, TABLE *table)
key_info < key_info_end; key_info++)
{
key_info->is_statistics_from_stat_tables=
- (use_stat_table_mode > 1 && key_info->read_stat.avg_frequency[0] > 0.5);
+ (use_stat_table_mode > 1 && key_info->read_stat.avg_frequency &&
+ key_info->read_stat.avg_frequency[0] > 0.5);
}
}
diff --git a/sql/table.cc b/sql/table.cc
index 78449d0498d..bbccd38d83c 100644
--- a/sql/table.cc
+++ b/sql/table.cc
@@ -5957,6 +5957,7 @@ bool TABLE::add_tmp_key(uint key, uint key_parts,
if (!keyinfo->rec_per_key)
return TRUE;
bzero(keyinfo->rec_per_key, sizeof(ulong)*key_parts);
+ keyinfo->read_stat.avg_frequency= NULL;
for (i= 0; i < key_parts; i++)
{