diff options
author | Sergey Petrunya <psergey@askmonty.org> | 2014-10-10 17:08:12 +0400 |
---|---|---|
committer | Sergey Petrunya <psergey@askmonty.org> | 2014-10-10 17:08:12 +0400 |
commit | 41b45a81637be64c5039d4f600ce7eb9dbf03844 (patch) | |
tree | 83239aed4de0642d8d2997a9de55c3ef18861253 /sql/sql_statistics.cc | |
parent | 33f1ac66ad0c995396026881260c27a937da19ec (diff) | |
download | mariadb-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.cc | 6 |
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); } |