summaryrefslogtreecommitdiffstats
path: root/yql/essentials/core/histogram
Commit message (Collapse)AuthorAgeFilesLines
* YQL-20095: Enable readability-uppercase-literal-suffixvitya-smirnov2026-05-071-1/+1
| | | | commit_hash:41791bb9a63f1993010fb68562e9a5607927307d
* Functions needed for optimizer and range predicates in EWH and CMSyizenov2026-04-162-10/+113
| | | | | | | * Added new functions, in EWH and CMS, needed for optimizer's cardinality estimation logic. * Added new functions needed for range predicates in equi-width histogram. commit_hash:bf5522da92ae356b3f424debda4d6a5b9aff4114
* Upgrading EWH estimator functionsyizenov2026-04-142-47/+112
| | | | | | | Improved estimating functions of equi-width histograms. Also, made StaticSize function public which is necessary to be used in building statistics. commit_hash:346729e9c7ba8717e0ba5559d69889947edf782e
* update histogramsyizenov2026-04-093-124/+164
| | | | | | | | | | This PR is a part of a larger PR. In current PR, several necessary functions are integrated such as: - GetBorderValue - GetBinarySize In addition, several test cases are added, and slightly improved code and added comments to the code. commit_hash:3ba09208a2bdf33ed19401128b865573e273b2d2
* YQL-20095: Enable modernize-avoid-c-arraysvitya-smirnov2026-02-191-19/+21
| | | | commit_hash:da491ee93c4f4d3c885c7908a22b4d5d66c80388
* YQL-20095: Enable google-explicit-constructorvitya-smirnov2026-01-231-2/+2
| | | | commit_hash:4d77ad10fd4db303459ec4e45e139967c7fc8196
* replaced prohibited std::optional and std::nullptryizenov2025-12-261-12/+13
| | | | | | | | | Replaced the usage of std::optional and std::nullptr with TMaybe. The reason is they cause failure in CUDA built, described here <https://nda.ya.ru/t/fN2gGMcU7QhbuJ> commit_hash:ab5df413900ec98adf1a922bea32792d03c2d4c3
* optimized equi-width histogramyizenov2025-12-223-158/+291
| | | | | | | * Now, histogram is build based on min, max, and number of buckets. Thus, we optimized its memory usage and improved runtime. We do not need to store bucket border values anymore and bucket search is now O(1) and no need for binary search. * Comparing floating point numbers still happen but only comparing with min and max values from different histogram object. To address the known issues in comparing float/double values, adaptive approach is integrated to dynamically select the epsilon. This is expected to work well with large values as well as numbers close to zero. * Added support for new data types such as float, i8, and ui8. commit_hash:cc76490319c2b3708e6c8d9bc299ba415a9b2127
* PR including adapted equi-width histogram for analyze commandyizenov2025-12-153-74/+149
| | | | | | | | | | | | | The changes to the histogram class allow its use via the ANALYZE command to build statistics with histograms, for cardinality estimation in queries with range predicates. Also, the changes are made to minimize dependencies between the usage logic and histogram itself, such as handling supported data types within the class of histogram. Additional changes: * ~~Increased the type for number of buckets in histogram to ui64 bits~~ * Added restricted access to bucket values * Several bug fixes and checks in histogram class and its unit test commit_hash:d42418b1da36e7c63ec6c1f5ed380e3029afee53
* YQL-20086 invert flagvvvv2025-10-102-4/+0
| | | | commit_hash:a6b640bc576263b62884a0b4187ba79c893e13d9
* YQL-20086 core (part1)vvvv2025-10-085-270/+298
| | | | commit_hash:12dbda4defcaef8dd708a69552fc19eba832ce2f
* YQL-20086 corevvvv2025-06-182-47/+47
| | | | commit_hash:af5d81d51befa5cee331fbed69e7e5db2014a260
* Add equal width histogram.deniskhalikov2025-03-315-0/+448
This patch add equal width histogram for use in assessing predicate selectivity for CBO. commit_hash:8d2d3a7f89fb9b2261af1b6ba201e8d2a8b098b7