- 19 Jan, 2022 40 commits
-
-
Sergei Petrunia authored
The problem was introduced in fix for MDEV-26724. That patch has made it possible for histogram collection to fail. In particular, it fails for non-assigned characters. When histogram construction fails, we also abort the computation of COUNT(DISTINCT). When we try to use the value, we get valgrind failures. Switched the code to abort the statistics collection in this case.
-
Sergei Petrunia authored
When computing bucket_capacity= records/histogram->get_width(), round the value UP, not down.
-
Sergei Petrunia authored
Part#3: - make json_escape() return different errors on conversion error and on out-of-space condition. - Make histogram code handle conversion errors.
-
Sergei Petrunia authored
-
Sergei Petrunia authored
Fix the description
-
Sergei Petrunia authored
Change it to LONGBLOB. Also, update_statistics_for_table() should not "swallow" an error from open_stat_tables.
-
Sergei Petrunia authored
.. part#2: correctly pass the charset to JSON [un]escape functions
-
Sergei Petrunia authored
MDEV-26595: ASAN use-after-poison my_strnxfrm_simple_internal / Histogram_json_hb::range_selectivity Add testcase
-
Sergei Petrunia authored
Item_func_decode_histogram::val_str should correctly set null_value when "decoding" JSON histogram.
-
Sergei Petrunia authored
Correctly handle empty string when [un]escaping JSON
-
Sergei Petrunia authored
Escape values when serializing to JSON. Un-escape when reading back.
-
Sergei Petrunia authored
-
Sergei Petrunia authored
Do not put Histogram objects on MEM_ROOT at all
-
Sergei Petrunia authored
-
Sergei Petrunia authored
Provide buffer of sufficient size.
-
Sergei Petrunia authored
-
Sergei Petrunia authored
-
Sergei Petrunia authored
-
Sergei Petrunia authored
Aslo add more test coverage
-
Sergei Petrunia authored
- Use String::c_ptr_safe() instead of String::c_ptr - Do proper datatype conversions in Histogram_json_hb::parse - Remove Histogram_json_hb::Bucket::end_value. Introduce get_end_value() instead.
-
Sergei Petrunia authored
-
Sergei Petrunia authored
Basic ideas: 1. Store "popular" values in their own buckets. 2. Also store ndv (Number of Distinct Values) in each bucket. Because of #1, the buckets are now variable-size, so store the size in each bucket. Adjust selectivity estimation functions accordingly.
-
Sergei Petrunia authored
-
Sergei Petrunia authored
-
Sergei Petrunia authored
- Fix bad tests in statistics_json test: make them meaningful and make them work on windows - Fix analyze_debug.test: correctly handle errors during ANALYZE
-
Sergei Petrunia authored
-
Sergei Petrunia authored
-
Sergei Petrunia authored
-
Sergei Petrunia authored
-
Sergei Petrunia authored
Remove Histogram_*::is_available(), it is not applicable anymore. Fix compilation on Windows
-
Sergei Petrunia authored
-
Sergei Petrunia authored
Factor the code that updates count, count_distinct, count_distinct_single_occurrence into class Basic_stats_collector Change from Histogram_builder and its descendant Histogram_builder_json to Histogram_builder (the interface), and Histogram_binary_builder, Histogram_json_builder. In Histogram_json_builder, do not forget to collect the right bound of the right-most bucket.
-
Sergei Petrunia authored
-
Sergei Petrunia authored
-
Sergei Petrunia authored
-
Sergei Petrunia authored
-
Sergei Petrunia authored
-
Sergei Petrunia authored
-
Sergei Petrunia authored
-
Sergei Petrunia authored
-