dependabot[bot] opened a new pull request, #7413: URL: https://github.com/apache/datafusion-comet/pull/7413
Bumps [datasketches](https://github.com/apache/datasketches-rust) from 0.3.0 to 0.6.0. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/apache/datasketches-rust/blob/main/CHANGELOG.md">datasketches's changelog</a>.</em></p> <blockquote> <h2>v0.6.0 (2026-10-29)</h2> <h3>Breaking changes</h3> <ul> <li><code>BloomFilter::invert</code> is removed; use <code>BloomFilter::difference</code> for approximate A-not-B. The result excludes items in the right filter, but hash collisions can also remove items unique to the left filter.</li> <li><code>FrequentItemsSketch::is_empty</code> now returns <code>false</code> when the stream weight is nonzero, even if no items are retained. Use <code>num_active_items() == 0</code> to test for zero retained items.</li> <li><code>ReqSketch</code> queries now use <code>datasketches::common::SearchCriteria</code> instead of <code>datasketches::req::SearchCriteria</code>. <code>SearchCriteria</code> no longer implements <code>Default</code>; explicitly choose <code>Inclusive</code> or <code>Exclusive</code>.</li> <li><code>ReqSketch</code> and <code>req::SortedView</code> queries now distinguish empty sketches from invalid arguments. <code>rank</code> returns <code>Option<f64></code>; <code>quantile</code>, <code>quantiles</code>, <code>cdf</code>, and <code>pmf</code>, where available, return <code>Result<Option<_>, Error></code>. Handle <code>None</code> for valid queries on an empty sketch, and propagate or handle <code>InvalidArgument</code> for invalid ranks or split points, which are checked before emptiness.</li> <li><code>TDigest</code> and <code>TDigestMut</code> rank, quantile, CDF, and PMF queries now return <code>Result<Option<_>, Error></code>. Invalid arguments return <code>InvalidArgument</code> instead of panicking, including on empty digests. Propagate or handle the <code>Result</code> before handling <code>None</code> for an empty digest; <code>min_value</code> and <code>max_value</code> still return <code>Option<f64></code>.</li> <li><code>estimated_size</code> now returns an implementation-dependent estimate of memory usage. Returned values may change as implementations evolve and should not be treated as exact totals or a stable accounting contract.</li> </ul> <h3>New features</h3> <ul> <li>Add <code>HllSketch::composite_estimate</code> and <code>HllUnion::composite_estimate</code> to query cardinality without relying on HIP update history, matching Java's <code>getCompositeEstimate()</code>.</li> <li><code>KllSketch</code> is now available behind the <code>kll</code> feature, with rank, quantile, PMF, and CDF queries, merging, serialization, custom ordered item types, and a <code>KllFloat</code> adapter for non-NaN floating-point values. Queries distinguish an empty sketch (<code>None</code>) from invalid arguments (<code>InvalidArgument</code>).</li> <li>Add <code>TDigestMut::quantiles</code> and <code>TDigest::quantiles</code> for querying several ranks in one centroid scan while preserving input order.</li> <li>Add <code>FromIterator<TDigestMut></code> as an alternative to incremental <code>TDigestMut::merge</code> calls for combining owned partial sketches in a single compression pass.</li> </ul> <h3>Improvements</h3> <ul> <li>Serializing buffered <code>TDigestMut</code> inputs is faster when their total weight is at most <code>k / 2</code>.</li> <li><code>TDigest</code> and <code>TDigestMut</code> <code>rank</code> queries are faster for values between centroid means; <code>cdf</code> and <code>pmf</code> queries are faster when answering many split points.</li> <li>Improve the readability of <code>Debug</code> output for HLL and CPC sketches and unions.</li> <li><code>KllSketch::quantile</code> and <code>ReqSketch::quantile</code> are faster at ranks <code>0.0</code> and <code>1.0</code>, with query work independent of the number of retained samples.</li> <li><code>BloomFilter::insert</code> is faster for integer and raw-byte inputs. <code>BloomFilter::contains_and_insert</code> is also faster when checking already-present integer values.</li> <li><code>CountMinSketch</code> updates and estimates are faster for all item types, with the largest gains for integer and raw-byte inputs. Counter placement and serialized bytes are unchanged.</li> <li><code>CountMinSketch::decay(1.0)</code> now takes constant time.</li> <li><code>CpcSketch</code> updates are faster for integer and raw-byte inputs.</li> <li><code>FrequentItemsSketch</code> updates are faster for integer and raw-byte keys.</li> <li><code>HllSketch</code> updates are faster for integer and raw-byte inputs.</li> <li><code>ThetaSketch</code> updates are faster for integer and raw-byte inputs.</li> <li><code>TupleSketch</code> updates are faster for integer and raw-byte inputs.</li> <li>Library-wide: the crate no longer depends on <code>rand</code> and has no runtime dependencies.</li> <li>Library-wide: sketch deserializers report clearer errors for truncated input.</li> </ul> <h3>Bug fixes</h3> <ul> <li><code>CountMinSketch::decay</code> and <code>upper_bound</code> now scale integer weights without intermediate floating-point rounding, including signed error bounds. Products use the exact binary value of the floating-point factor and truncate toward zero; for example, <code>decay(0.99)</code> changes a counter of <code>100</code> to <code>98</code> rather than <code>99</code>.</li> <li><code>KllSketch</code> and <code>ReqSketch</code> quantile queries, including their sorted views, now return the exact stream minimum and maximum at ranks <code>0.0</code> and <code>1.0</code>, even after compaction or when the stream weight exceeds <code>2^53</code>.</li> <li>Empty compact Theta and Tuple sketches now serialize with a zero seed hash, matching the canonical cross-language encoding. Deserialization associates empty sketches with the supplied seed, including legacy Theta v2 images with zero or mismatched seed hashes.</li> <li><code>CountMinSketch</code> updates now panic and merges return <code>InvalidArgument</code> if the total absolute weight would exceed the counter type's maximum. Both leave the sketch unchanged, including in release builds.</li> <li><code>CountMinSketch::upper_bound</code> now clamps to the counter type's maximum instead of overflowing.</li> <li><code>CountMinSketch</code> deserialization now returns <code>InvalidData</code> if the total absolute weight is negative or any counter's magnitude exceeds it.</li> <li><code>FrequentItemsSketch</code> updates and merges now panic without changing the sketch if the total stream weight would overflow, including in release builds.</li> <li><code>FrequentItemsSketch</code> deserialization now returns <code>InvalidData</code> if a non-empty image declares zero stream weight or the item weights sum to more than the declared stream weight.</li> <li><code>ReqSketch</code> updates now panic and merges return <code>InvalidArgument</code> if the stream weight would exceed <code>u64::MAX</code>. Both leave the sketch unchanged, including in release builds.</li> <li><code>ReqSketch::cdf</code> and its sorted view now preserve the rank at each split point and end at exactly <code>1.0</code>, avoiding extra rounding from accumulating PMF values.</li> <li><code>TDigestMut</code> updates and merges now panic without changing the digest if the total weight would exceed <code>u64::MAX</code>, including in release builds.</li> <li><code>TDigestMut::merge</code> now preserves the true minimum and maximum from both inputs, including compressed digests.</li> <li>Fix non-finite, out-of-range, or decreasing <code>TDigest</code> and <code>TDigestMut</code> query results for extreme finite values, large weights, and updated or merged deserialized digests. Single-centroid queries now honor stored extrema, and PMF buckets remain nonnegative.</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/apache/datasketches-rust/commit/675e3e123fda6da19657d345038252b16adc2ebb"><code>675e3e1</code></a> chore: prepare 0.6.0 release (<a href="https://redirect.github.com/apache/datasketches-rust/issues/303">#303</a>)</li> <li><a href="https://github.com/apache/datasketches-rust/commit/aeda4de8f029050dd75063ba6b21a4db8ec09947"><code>aeda4de</code></a> refactor: simplify estimated_size accounting (<a href="https://redirect.github.com/apache/datasketches-rust/issues/302">#302</a>)</li> <li><a href="https://github.com/apache/datasketches-rust/commit/28769d460589b2bae5b97bde4249d649b3326be0"><code>28769d4</code></a> refactor(countmin): encapsulate bucket count state (<a href="https://redirect.github.com/apache/datasketches-rust/issues/301">#301</a>)</li> <li><a href="https://github.com/apache/datasketches-rust/commit/7bf60b29e30afbfb402cbbc95bdcf6cb2946ffbb"><code>7bf60b2</code></a> perf: Countmin performance improvements (<a href="https://redirect.github.com/apache/datasketches-rust/issues/300">#300</a>)</li> <li><a href="https://github.com/apache/datasketches-rust/commit/4adb0239fd976b4fe829c788d00f4a643037802a"><code>4adb023</code></a> docs: clarify cross-language interoperability (<a href="https://redirect.github.com/apache/datasketches-rust/issues/296">#296</a>)</li> <li><a href="https://github.com/apache/datasketches-rust/commit/cc614c2a4e59b3a062c5fa4aecd371327a654629"><code>cc614c2</code></a> fix: distinguish empty sketch queries from invalid arguments (<a href="https://redirect.github.com/apache/datasketches-rust/issues/295">#295</a>)</li> <li><a href="https://github.com/apache/datasketches-rust/commit/9cf7ddd1d25f4435212a5c484f892eccb0360716"><code>9cf7ddd</code></a> feat(hll): expose composite cardinality estimates (<a href="https://redirect.github.com/apache/datasketches-rust/issues/294">#294</a>)</li> <li><a href="https://github.com/apache/datasketches-rust/commit/983ababf8b4919bdd798a98143c854522060356a"><code>983abab</code></a> test: update TCK snapshots and archive layout (<a href="https://redirect.github.com/apache/datasketches-rust/issues/292">#292</a>)</li> <li><a href="https://github.com/apache/datasketches-rust/commit/1d2d406f81f85a44c2c3e89c4d8b9d2d9b4cefb9"><code>1d2d406</code></a> refactor(hll): simplify coupon serialization and documentation (<a href="https://redirect.github.com/apache/datasketches-rust/issues/291">#291</a>)</li> <li><a href="https://github.com/apache/datasketches-rust/commit/5190e33b210b587c3d7c8f03ba8288dfcc361565"><code>5190e33</code></a> perf(tdigest): simplify rank anchor lookup (<a href="https://redirect.github.com/apache/datasketches-rust/issues/290">#290</a>)</li> <li>Additional commits viewable in <a href="https://github.com/apache/datasketches-rust/compare/0.3.0...0.6.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
