diff --git a/mysql-test/main/statistics_json.result b/mysql-test/main/statistics_json.result index e53a6f72f12..8f601422557 100644 --- a/mysql-test/main/statistics_json.result +++ b/mysql-test/main/statistics_json.result @@ -19,7 +19,7 @@ test.t1 analyze status Engine-independent statistics collected test.t1 analyze status OK SELECT * FROM mysql.column_stats WHERE table_name='t1'; db_name table_name column_name min_value max_value nulls_ratio avg_length avg_frequency hist_size hist_type histogram -test t1 a 1 25 0.0000 4.0000 1.0000 10 JSON [ +test t1 a 1 25 0.0000 4.0000 0.0000 10 JSON [ "3", "5", "7", @@ -31,7 +31,7 @@ test t1 a 1 25 0.0000 4.0000 1.0000 10 JSON [ "21", "23" ] -test t1 b 1 9 0.0000 1.6400 1.0000 10 JSON [ +test t1 b 1 9 0.0000 1.6400 0.0000 10 JSON [ "11", "13", "15", @@ -43,7 +43,7 @@ test t1 b 1 9 0.0000 1.6400 1.0000 10 JSON [ "5", "7" ] -test t1 c 1 9 0.0000 2.0000 1.0000 10 JSON [ +test t1 c 1 9 0.0000 2.0000 0.0000 10 JSON [ "11", "13", "15", @@ -55,7 +55,7 @@ test t1 c 1 9 0.0000 2.0000 1.0000 10 JSON [ "5", "7" ] -test t1 d 1 25 0.0000 8.0000 1.0000 10 JSON [ +test t1 d 1 25 0.0000 8.0000 0.0000 10 JSON [ "3", "5", "7", diff --git a/sql/sql_statistics.cc b/sql/sql_statistics.cc index 8bd181e1939..5cc31aa1b71 100644 --- a/sql/sql_statistics.cc +++ b/sql/sql_statistics.cc @@ -1283,7 +1283,6 @@ void Histogram_json::init_for_collection(MEM_ROOT *mem_root, Histogram_type htyp bool Histogram_json::parse(MEM_ROOT *mem_root, Histogram_type type_arg, const uchar *ptr, uint size_arg) { - size = (uint8) size_arg; type = type_arg; // I think we could use memcpy here, but not sure about how to get the right size // since we can't depend on size_arg (it's zero for json histograms) @@ -1303,7 +1302,7 @@ bool Histogram_json::parse(MEM_ROOT *mem_root, Histogram_type type_arg, const uc void Histogram_json::serialize(Field *field) { - field->store((char*)get_values(), strlen((char*)get_values()), + field->store((char*)values, strlen((char*)values), &my_charset_bin); } diff --git a/sql/sql_statistics.h b/sql/sql_statistics.h index 3e4e917dc46..2673b36d050 100644 --- a/sql/sql_statistics.h +++ b/sql/sql_statistics.h @@ -372,9 +372,9 @@ public: is_available(); } - void set_values (uchar *vals) override { values= (uchar *) vals; } + void set_values (uchar *vals) override { values= vals; } - uchar *get_values() override { return (uchar *) values; } + uchar *get_values() override { return values; } double range_selectivity(double min_pos, double max_pos) override {return 0.1;}