summaryrefslogtreecommitdiff
path: root/sql/sql_statistics.cc
diff options
context:
space:
mode:
authorSergey Petrunya <psergey@askmonty.org>2014-10-10 17:08:12 +0400
committerSergey Petrunya <psergey@askmonty.org>2014-10-10 17:08:12 +0400
commit41b45a81637be64c5039d4f600ce7eb9dbf03844 (patch)
tree83239aed4de0642d8d2997a9de55c3ef18861253 /sql/sql_statistics.cc
parent33f1ac66ad0c995396026881260c27a937da19ec (diff)
downloadmariadb-git-41b45a81637be64c5039d4f600ce7eb9dbf03844.tar.gz
MDEV-6738: use_stat_table + histograms crashing optimizer
- When EITS code calls store_key_image_to_rec(), it should follow its calling convention (which is counter-intuitive)
Diffstat (limited to 'sql/sql_statistics.cc')
-rw-r--r--sql/sql_statistics.cc6
1 files changed, 3 insertions, 3 deletions
diff --git a/sql/sql_statistics.cc b/sql/sql_statistics.cc
index e1b197f4a63..a38df24cfb7 100644
--- a/sql/sql_statistics.cc
+++ b/sql/sql_statistics.cc
@@ -3531,7 +3531,7 @@ double get_column_range_cardinality(Field *field,
if (hist->is_available())
{
store_key_image_to_rec(field, (uchar *) min_endp->key,
- min_endp->length);
+ field->key_length());
double pos= field->pos_in_interval(col_stats->min_value,
col_stats->max_value);
res= col_non_nulls *
@@ -3555,7 +3555,7 @@ double get_column_range_cardinality(Field *field,
if (min_endp && !(field->null_ptr && min_endp->key[0]))
{
store_key_image_to_rec(field, (uchar *) min_endp->key,
- min_endp->length);
+ field->key_length());
min_mp_pos= field->pos_in_interval(col_stats->min_value,
col_stats->max_value);
}
@@ -3564,7 +3564,7 @@ double get_column_range_cardinality(Field *field,
if (max_endp)
{
store_key_image_to_rec(field, (uchar *) max_endp->key,
- max_endp->length);
+ field->key_length());
max_mp_pos= field->pos_in_interval(col_stats->min_value,
col_stats->max_value);
}