diff options
author | Igor Babaev <igor@askmonty.org> | 2013-04-05 11:24:28 -0700 |
---|---|---|
committer | Igor Babaev <igor@askmonty.org> | 2013-04-05 11:24:28 -0700 |
commit | daaa5834c9fb567924c21d467983c1ec3401f832 (patch) | |
tree | 4c5f62da0d45779c5c7bd453f9d1ced35306e988 /sql/sql_statistics.cc | |
parent | 4079a5dc3f98a2c7c53567106b362fc04538c7b6 (diff) | |
download | mariadb-git-daaa5834c9fb567924c21d467983c1ec3401f832.tar.gz |
Fixed bug mdev-4370.
Don't try to a histogram if it is not read into the cache for statistical data.
It may happen so if optimizer_use_condition_selectivity is set to 3. This
setting orders the optimizer not use histograms to calculate selectivity.
Diffstat (limited to 'sql/sql_statistics.cc')
-rw-r--r-- | sql/sql_statistics.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sql/sql_statistics.cc b/sql/sql_statistics.cc index 6c33b88d9ad..b556c37c3fb 100644 --- a/sql/sql_statistics.cc +++ b/sql/sql_statistics.cc @@ -3369,7 +3369,7 @@ double get_column_range_cardinality(Field *field, col_stats->min_value && col_stats->max_value) { Histogram *hist= &col_stats->histogram; - if (hist->get_size() > 0) + if (hist->is_available()) { double pos= field->middle_point_pos(col_stats->min_value, col_stats->max_value); @@ -3406,7 +3406,7 @@ double get_column_range_cardinality(Field *field, max_mp_pos= 1.0; Histogram *hist= &col_stats->histogram; - if (hist->get_size() == 0) + if (!hist->is_available()) sel= (max_mp_pos - min_mp_pos); else sel= hist->range_selectivity(min_mp_pos, max_mp_pos); |