summaryrefslogtreecommitdiff
path: root/sql/sql_statistics.cc
diff options
context:
space:
mode:
authorIgor Babaev <igor@askmonty.org>2013-04-05 11:24:28 -0700
committerIgor Babaev <igor@askmonty.org>2013-04-05 11:24:28 -0700
commitdaaa5834c9fb567924c21d467983c1ec3401f832 (patch)
tree4c5f62da0d45779c5c7bd453f9d1ced35306e988 /sql/sql_statistics.cc
parent4079a5dc3f98a2c7c53567106b362fc04538c7b6 (diff)
downloadmariadb-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.cc4
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);