This is an automated email from the ASF dual-hosted git repository.
github-actions[bot] pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/datafusion-comet.git
The following commit(s) were added to refs/heads/asf-site by this push:
new 65ba75059a Publish built docs triggered by
f06aa31b3ee00256bf395d4a87566c2714bdce52
65ba75059a is described below
commit 65ba75059a1174dd8075ec2495ec47b0ae60f96a
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
AuthorDate: Thu Jul 23 12:14:21 2026 +0000
Publish built docs triggered by f06aa31b3ee00256bf395d4a87566c2714bdce52
---
.../expression-audits/agg_funcs.md.txt | 7 +++++++
.../expressions/spark-3.4/aggregate.md.txt | 8 ++++++++
.../expressions/spark-3.5/aggregate.md.txt | 8 ++++++++
.../expressions/spark-4.0/aggregate.md.txt | 8 ++++++++
.../expressions/spark-4.1/aggregate.md.txt | 8 ++++++++
_sources/user-guide/latest/configs.md.txt | 1 +
_sources/user-guide/latest/expressions.md.txt | 4 ++--
contributor-guide/expression-audits/agg_funcs.html | 10 ++++++++++
searchindex.js | 2 +-
.../expressions/spark-3.4/aggregate.html | 10 ++++++++++
.../expressions/spark-3.5/aggregate.html | 10 ++++++++++
.../expressions/spark-4.0/aggregate.html | 10 ++++++++++
.../expressions/spark-4.1/aggregate.html | 10 ++++++++++
user-guide/latest/configs.html | 22 +++++++++++++---------
user-guide/latest/expressions.html | 6 +++---
15 files changed, 109 insertions(+), 15 deletions(-)
diff --git a/_sources/contributor-guide/expression-audits/agg_funcs.md.txt
b/_sources/contributor-guide/expression-audits/agg_funcs.md.txt
index 8888776d85..3904cca30c 100644
--- a/_sources/contributor-guide/expression-audits/agg_funcs.md.txt
+++ b/_sources/contributor-guide/expression-audits/agg_funcs.md.txt
@@ -21,6 +21,13 @@
> Audit notes for expressions in this category that have been audited. Absence
> of an entry means the expression has not been audited yet, not that it is
> unsupported. See the user guide [Spark Expression Support] for current
> support status.
+## approx_count_distinct
+
+- Spark 3.4.3 (2026-07-03): registered as
`expression[HyperLogLogPlusPlus]("approx_count_distinct")`, an
`ImperativeAggregate` that hashes each non-null input with `XxHash64` (seed 42,
floats normalized via `NormalizeNaNAndZero`) and keeps a HyperLogLog++ register
buffer of `numWords` `Long`s (10 six-bit registers per word). The cardinality
is estimated with linear counting for small inputs and bias-corrected HLL
otherwise. Comet ports `HyperLogLogPlusPlusHelper` exactly, including the b
[...]
+- Spark 3.5.8 (2026-07-03): algorithm and tables identical to 3.4.3.
+- Spark 4.0.1 (2026-07-03): `HyperLogLogPlusPlusHelper` moved to
`catalyst.util` and `XxHash64Function.hash` gained collation parameters, but
for the default `UTF8_BINARY` collation and non-string types the hash value is
unchanged, so results match 3.4.3.
+- Spark 4.1.1 (2026-07-03): identical to 4.0.1.
+
## any
- Spark 3.4.3 (audited 2026-05-26): registered as a SQL alias of `BoolOr`,
which extends `RuntimeReplaceableAggregate` with `replacement = Max(child)`.
Catalyst rewrites `any(x)` to `max(x)` before Comet sees the plan, so `any` is
served by `CometMax` on a `BooleanType` column.
diff --git
a/_sources/user-guide/latest/compatibility/expressions/spark-3.4/aggregate.md.txt
b/_sources/user-guide/latest/compatibility/expressions/spark-3.4/aggregate.md.txt
index ce5cb1734f..6c2f41dc62 100644
---
a/_sources/user-guide/latest/compatibility/expressions/spark-3.4/aggregate.md.txt
+++
b/_sources/user-guide/latest/compatibility/expressions/spark-3.4/aggregate.md.txt
@@ -47,6 +47,14 @@ The following differences from Spark are always present and
do not require any a
- This function is not deterministic. Results may not match Spark.
+## HyperLogLogPlusPlus
+
+The following cases are not supported by Comet and always fall back to Spark,
regardless of any `allowIncompatible` setting:
+
+- Input type must be boolean, integral, floating-point, decimal, date/time,
string, or binary
+- `DecimalType` with precision > 18 is not supported
+- Collated (non-UTF8_BINARY) strings are not supported
+
## Last
The following differences from Spark are always present and do not require any
additional configuration:
diff --git
a/_sources/user-guide/latest/compatibility/expressions/spark-3.5/aggregate.md.txt
b/_sources/user-guide/latest/compatibility/expressions/spark-3.5/aggregate.md.txt
index ce5cb1734f..6c2f41dc62 100644
---
a/_sources/user-guide/latest/compatibility/expressions/spark-3.5/aggregate.md.txt
+++
b/_sources/user-guide/latest/compatibility/expressions/spark-3.5/aggregate.md.txt
@@ -47,6 +47,14 @@ The following differences from Spark are always present and
do not require any a
- This function is not deterministic. Results may not match Spark.
+## HyperLogLogPlusPlus
+
+The following cases are not supported by Comet and always fall back to Spark,
regardless of any `allowIncompatible` setting:
+
+- Input type must be boolean, integral, floating-point, decimal, date/time,
string, or binary
+- `DecimalType` with precision > 18 is not supported
+- Collated (non-UTF8_BINARY) strings are not supported
+
## Last
The following differences from Spark are always present and do not require any
additional configuration:
diff --git
a/_sources/user-guide/latest/compatibility/expressions/spark-4.0/aggregate.md.txt
b/_sources/user-guide/latest/compatibility/expressions/spark-4.0/aggregate.md.txt
index ce5cb1734f..6c2f41dc62 100644
---
a/_sources/user-guide/latest/compatibility/expressions/spark-4.0/aggregate.md.txt
+++
b/_sources/user-guide/latest/compatibility/expressions/spark-4.0/aggregate.md.txt
@@ -47,6 +47,14 @@ The following differences from Spark are always present and
do not require any a
- This function is not deterministic. Results may not match Spark.
+## HyperLogLogPlusPlus
+
+The following cases are not supported by Comet and always fall back to Spark,
regardless of any `allowIncompatible` setting:
+
+- Input type must be boolean, integral, floating-point, decimal, date/time,
string, or binary
+- `DecimalType` with precision > 18 is not supported
+- Collated (non-UTF8_BINARY) strings are not supported
+
## Last
The following differences from Spark are always present and do not require any
additional configuration:
diff --git
a/_sources/user-guide/latest/compatibility/expressions/spark-4.1/aggregate.md.txt
b/_sources/user-guide/latest/compatibility/expressions/spark-4.1/aggregate.md.txt
index ce5cb1734f..6c2f41dc62 100644
---
a/_sources/user-guide/latest/compatibility/expressions/spark-4.1/aggregate.md.txt
+++
b/_sources/user-guide/latest/compatibility/expressions/spark-4.1/aggregate.md.txt
@@ -47,6 +47,14 @@ The following differences from Spark are always present and
do not require any a
- This function is not deterministic. Results may not match Spark.
+## HyperLogLogPlusPlus
+
+The following cases are not supported by Comet and always fall back to Spark,
regardless of any `allowIncompatible` setting:
+
+- Input type must be boolean, integral, floating-point, decimal, date/time,
string, or binary
+- `DecimalType` with precision > 18 is not supported
+- Collated (non-UTF8_BINARY) strings are not supported
+
## Last
The following differences from Spark are always present and do not require any
additional configuration:
diff --git a/_sources/user-guide/latest/configs.md.txt
b/_sources/user-guide/latest/configs.md.txt
index c695d00185..2a6d5565dc 100644
--- a/_sources/user-guide/latest/configs.md.txt
+++ b/_sources/user-guide/latest/configs.md.txt
@@ -472,6 +472,7 @@ These settings can be used to determine which parts of the
plan are accelerated
| `spark.comet.expression.CovPopulation.enabled` | Enable Comet acceleration
for `CovPopulation` | true |
| `spark.comet.expression.CovSample.enabled` | Enable Comet acceleration for
`CovSample` | true |
| `spark.comet.expression.First.enabled` | Enable Comet acceleration for
`First` | true |
+| `spark.comet.expression.HyperLogLogPlusPlus.enabled` | Enable Comet
acceleration for `HyperLogLogPlusPlus` | true |
| `spark.comet.expression.Last.enabled` | Enable Comet acceleration for `Last`
| true |
| `spark.comet.expression.Max.enabled` | Enable Comet acceleration for `Max` |
true |
| `spark.comet.expression.Min.enabled` | Enable Comet acceleration for `Min` |
true |
diff --git a/_sources/user-guide/latest/expressions.md.txt
b/_sources/user-guide/latest/expressions.md.txt
index ae49f27f87..6323083cbc 100644
--- a/_sources/user-guide/latest/expressions.md.txt
+++ b/_sources/user-guide/latest/expressions.md.txt
@@ -60,7 +60,7 @@ expressions. The following function families are **not
currently planned** for n
The file-metadata functions `input_file_name`, `input_file_block_start`, and
`input_file_block_length` depend on scan-internal per-row file information
rather than the expression layer; their support status is covered in the [scan
compatibility guide](compatibility/scans.md).
-Note that `approx_count_distinct`, `median`, and `mode` are planned: they are
mainstream (`median` and `mode` are exact aggregates).
+Note that `median` and `mode` are planned: they are mainstream exact
aggregates. `approx_count_distinct` is supported because Comet ports Spark's
`HyperLogLogPlusPlus` exactly, so its result is bit-identical to Spark.
The tables below list every Spark built-in expression with its current status.
@@ -70,7 +70,7 @@ The tables below list every Spark built-in expression with
its current status.
| --- | --- | --- |
| `any` | β
| |
| `any_value` | β
| |
-| `approx_count_distinct` | π | tracking
[#4098](https://github.com/apache/datafusion-comet/issues/4098) |
+| `approx_count_distinct` | β
| |
| `approx_percentile` | β
| Byte, short, int, long, float, and double input;
other input types fall back to Spark |
| `array_agg` | π | Array aggregate (related to `collect_list`,
[#2524](https://github.com/apache/datafusion-comet/issues/2524)) |
| `avg` | β
| Interval types fall back |
diff --git a/contributor-guide/expression-audits/agg_funcs.html
b/contributor-guide/expression-audits/agg_funcs.html
index 493f686f02..c26cd11d28 100644
--- a/contributor-guide/expression-audits/agg_funcs.html
+++ b/contributor-guide/expression-audits/agg_funcs.html
@@ -552,6 +552,15 @@ under the License.
<blockquote>
<div><p>Audit notes for expressions in this category that have been audited.
Absence of an entry means the expression has not been audited yet, not that it
is unsupported. See the user guide <a class="reference internal"
href="../../user-guide/latest/expressions.html"><span class="std std-doc">Spark
Expression Support</span></a> for current support status.</p>
</div></blockquote>
+<section id="approx-count-distinct">
+<h2>approx_count_distinct<a class="headerlink" href="#approx-count-distinct"
title="Link to this heading">#</a></h2>
+<ul class="simple">
+<li><p>Spark 3.4.3 (2026-07-03): registered as <code class="docutils literal
notranslate"><span
class="pre">expression[HyperLogLogPlusPlus]("approx_count_distinct")</span></code>,
an <code class="docutils literal notranslate"><span
class="pre">ImperativeAggregate</span></code> that hashes each non-null input
with <code class="docutils literal notranslate"><span
class="pre">XxHash64</span></code> (seed 42, floats normalized via <code
class="docutils literal notranslate"><span cl [...]
+<li><p>Spark 3.5.8 (2026-07-03): algorithm and tables identical to
3.4.3.</p></li>
+<li><p>Spark 4.0.1 (2026-07-03): <code class="docutils literal
notranslate"><span class="pre">HyperLogLogPlusPlusHelper</span></code> moved to
<code class="docutils literal notranslate"><span
class="pre">catalyst.util</span></code> and <code class="docutils literal
notranslate"><span class="pre">XxHash64Function.hash</span></code> gained
collation parameters, but for the default <code class="docutils literal
notranslate"><span class="pre">UTF8_BINARY</span></code> collation and
non-strin [...]
+<li><p>Spark 4.1.1 (2026-07-03): identical to 4.0.1.</p></li>
+</ul>
+</section>
<section id="any">
<h2>any<a class="headerlink" href="#any" title="Link to this
heading">#</a></h2>
<ul class="simple">
@@ -651,6 +660,7 @@ under the License.
</div>
<nav class="bd-toc-nav page-toc"
aria-labelledby="pst-page-navigation-heading-2">
<ul class="visible nav section-nav flex-column">
+<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link"
href="#approx-count-distinct">approx_count_distinct</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link"
href="#any">any</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link"
href="#approx-percentile">approx_percentile</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link"
href="#avg">avg</a></li>
diff --git a/searchindex.js b/searchindex.js
index 9fe28c134d..50aeda3cd2 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"alltitles": {"!": [[53, "id1"]], "%": [[51, "id1"]], "&":
[[41, "id1"]], "*": [[51, "id2"]], "+": [[51, "id3"]], "-": [[51, "id4"]], "/":
[[51, "id5"]], "1. Format Your Code": [[38, "format-your-code"]], "1. Install
Comet": [[59, "install-comet"], [69, "install-comet"]], "1. Native Operators
(nativeExecs map)": [[26, "native-operators-nativeexecs-map"]], "2. Build and
Verify": [[38, "build-and-verify"]], "2. Clone Iceberg and Apply Diff": [[59,
"clone-iceberg-and-apply- [...]
\ No newline at end of file
+Search.setIndex({"alltitles": {"!": [[53, "id1"]], "%": [[51, "id1"]], "&":
[[41, "id1"]], "*": [[51, "id2"]], "+": [[51, "id3"]], "-": [[51, "id4"]], "/":
[[51, "id5"]], "1. Format Your Code": [[38, "format-your-code"]], "1. Install
Comet": [[59, "install-comet"], [69, "install-comet"]], "1. Native Operators
(nativeExecs map)": [[26, "native-operators-nativeexecs-map"]], "2. Build and
Verify": [[38, "build-and-verify"]], "2. Clone Iceberg and Apply Diff": [[59,
"clone-iceberg-and-apply- [...]
\ No newline at end of file
diff --git
a/user-guide/latest/compatibility/expressions/spark-3.4/aggregate.html
b/user-guide/latest/compatibility/expressions/spark-3.4/aggregate.html
index fb614ac699..c9d424f727 100644
--- a/user-guide/latest/compatibility/expressions/spark-3.4/aggregate.html
+++ b/user-guide/latest/compatibility/expressions/spark-3.4/aggregate.html
@@ -778,6 +778,15 @@ under the License.
<li><p>This function is not deterministic. Results may not match
Spark.</p></li>
</ul>
</section>
+<section id="hyperloglogplusplus">
+<h2>HyperLogLogPlusPlus<a class="headerlink" href="#hyperloglogplusplus"
title="Link to this heading">#</a></h2>
+<p>The following cases are not supported by Comet and always fall back to
Spark, regardless of any <code class="docutils literal notranslate"><span
class="pre">allowIncompatible</span></code> setting:</p>
+<ul class="simple">
+<li><p>Input type must be boolean, integral, floating-point, decimal,
date/time, string, or binary</p></li>
+<li><p><code class="docutils literal notranslate"><span
class="pre">DecimalType</span></code> with precision > 18 is not
supported</p></li>
+<li><p>Collated (non-UTF8_BINARY) strings are not supported</p></li>
+</ul>
+</section>
<section id="last">
<h2>Last<a class="headerlink" href="#last" title="Link to this
heading">#</a></h2>
<p>The following differences from Spark are always present and do not require
any additional configuration:</p>
@@ -850,6 +859,7 @@ under the License.
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link"
href="#average">Average</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link"
href="#collectset">CollectSet</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link"
href="#first">First</a></li>
+<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link"
href="#hyperloglogplusplus">HyperLogLogPlusPlus</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link"
href="#last">Last</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link"
href="#percentile">Percentile</a></li>
</ul>
diff --git
a/user-guide/latest/compatibility/expressions/spark-3.5/aggregate.html
b/user-guide/latest/compatibility/expressions/spark-3.5/aggregate.html
index d6a44cbec6..97f5d771c5 100644
--- a/user-guide/latest/compatibility/expressions/spark-3.5/aggregate.html
+++ b/user-guide/latest/compatibility/expressions/spark-3.5/aggregate.html
@@ -778,6 +778,15 @@ under the License.
<li><p>This function is not deterministic. Results may not match
Spark.</p></li>
</ul>
</section>
+<section id="hyperloglogplusplus">
+<h2>HyperLogLogPlusPlus<a class="headerlink" href="#hyperloglogplusplus"
title="Link to this heading">#</a></h2>
+<p>The following cases are not supported by Comet and always fall back to
Spark, regardless of any <code class="docutils literal notranslate"><span
class="pre">allowIncompatible</span></code> setting:</p>
+<ul class="simple">
+<li><p>Input type must be boolean, integral, floating-point, decimal,
date/time, string, or binary</p></li>
+<li><p><code class="docutils literal notranslate"><span
class="pre">DecimalType</span></code> with precision > 18 is not
supported</p></li>
+<li><p>Collated (non-UTF8_BINARY) strings are not supported</p></li>
+</ul>
+</section>
<section id="last">
<h2>Last<a class="headerlink" href="#last" title="Link to this
heading">#</a></h2>
<p>The following differences from Spark are always present and do not require
any additional configuration:</p>
@@ -850,6 +859,7 @@ under the License.
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link"
href="#average">Average</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link"
href="#collectset">CollectSet</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link"
href="#first">First</a></li>
+<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link"
href="#hyperloglogplusplus">HyperLogLogPlusPlus</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link"
href="#last">Last</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link"
href="#percentile">Percentile</a></li>
</ul>
diff --git
a/user-guide/latest/compatibility/expressions/spark-4.0/aggregate.html
b/user-guide/latest/compatibility/expressions/spark-4.0/aggregate.html
index e30e7ca281..e0998e3317 100644
--- a/user-guide/latest/compatibility/expressions/spark-4.0/aggregate.html
+++ b/user-guide/latest/compatibility/expressions/spark-4.0/aggregate.html
@@ -778,6 +778,15 @@ under the License.
<li><p>This function is not deterministic. Results may not match
Spark.</p></li>
</ul>
</section>
+<section id="hyperloglogplusplus">
+<h2>HyperLogLogPlusPlus<a class="headerlink" href="#hyperloglogplusplus"
title="Link to this heading">#</a></h2>
+<p>The following cases are not supported by Comet and always fall back to
Spark, regardless of any <code class="docutils literal notranslate"><span
class="pre">allowIncompatible</span></code> setting:</p>
+<ul class="simple">
+<li><p>Input type must be boolean, integral, floating-point, decimal,
date/time, string, or binary</p></li>
+<li><p><code class="docutils literal notranslate"><span
class="pre">DecimalType</span></code> with precision > 18 is not
supported</p></li>
+<li><p>Collated (non-UTF8_BINARY) strings are not supported</p></li>
+</ul>
+</section>
<section id="last">
<h2>Last<a class="headerlink" href="#last" title="Link to this
heading">#</a></h2>
<p>The following differences from Spark are always present and do not require
any additional configuration:</p>
@@ -850,6 +859,7 @@ under the License.
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link"
href="#average">Average</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link"
href="#collectset">CollectSet</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link"
href="#first">First</a></li>
+<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link"
href="#hyperloglogplusplus">HyperLogLogPlusPlus</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link"
href="#last">Last</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link"
href="#percentile">Percentile</a></li>
</ul>
diff --git
a/user-guide/latest/compatibility/expressions/spark-4.1/aggregate.html
b/user-guide/latest/compatibility/expressions/spark-4.1/aggregate.html
index 69efb7663f..ae25becaa0 100644
--- a/user-guide/latest/compatibility/expressions/spark-4.1/aggregate.html
+++ b/user-guide/latest/compatibility/expressions/spark-4.1/aggregate.html
@@ -778,6 +778,15 @@ under the License.
<li><p>This function is not deterministic. Results may not match
Spark.</p></li>
</ul>
</section>
+<section id="hyperloglogplusplus">
+<h2>HyperLogLogPlusPlus<a class="headerlink" href="#hyperloglogplusplus"
title="Link to this heading">#</a></h2>
+<p>The following cases are not supported by Comet and always fall back to
Spark, regardless of any <code class="docutils literal notranslate"><span
class="pre">allowIncompatible</span></code> setting:</p>
+<ul class="simple">
+<li><p>Input type must be boolean, integral, floating-point, decimal,
date/time, string, or binary</p></li>
+<li><p><code class="docutils literal notranslate"><span
class="pre">DecimalType</span></code> with precision > 18 is not
supported</p></li>
+<li><p>Collated (non-UTF8_BINARY) strings are not supported</p></li>
+</ul>
+</section>
<section id="last">
<h2>Last<a class="headerlink" href="#last" title="Link to this
heading">#</a></h2>
<p>The following differences from Spark are always present and do not require
any additional configuration:</p>
@@ -850,6 +859,7 @@ under the License.
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link"
href="#average">Average</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link"
href="#collectset">CollectSet</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link"
href="#first">First</a></li>
+<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link"
href="#hyperloglogplusplus">HyperLogLogPlusPlus</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link"
href="#last">Last</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link"
href="#percentile">Percentile</a></li>
</ul>
diff --git a/user-guide/latest/configs.html b/user-guide/latest/configs.html
index 6c4936ca04..b1f5525275 100644
--- a/user-guide/latest/configs.html
+++ b/user-guide/latest/configs.html
@@ -2365,39 +2365,43 @@ under the License.
<td><p>Enable Comet acceleration for <code class="docutils literal
notranslate"><span class="pre">First</span></code></p></td>
<td><p>true</p></td>
</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span
class="pre">spark.comet.expression.Last.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span
class="pre">spark.comet.expression.HyperLogLogPlusPlus.enabled</span></code></p></td>
+<td><p>Enable Comet acceleration for <code class="docutils literal
notranslate"><span class="pre">HyperLogLogPlusPlus</span></code></p></td>
+<td><p>true</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span
class="pre">spark.comet.expression.Last.enabled</span></code></p></td>
<td><p>Enable Comet acceleration for <code class="docutils literal
notranslate"><span class="pre">Last</span></code></p></td>
<td><p>true</p></td>
</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span
class="pre">spark.comet.expression.Max.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span
class="pre">spark.comet.expression.Max.enabled</span></code></p></td>
<td><p>Enable Comet acceleration for <code class="docutils literal
notranslate"><span class="pre">Max</span></code></p></td>
<td><p>true</p></td>
</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span
class="pre">spark.comet.expression.Min.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span
class="pre">spark.comet.expression.Min.enabled</span></code></p></td>
<td><p>Enable Comet acceleration for <code class="docutils literal
notranslate"><span class="pre">Min</span></code></p></td>
<td><p>true</p></td>
</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span
class="pre">spark.comet.expression.Percentile.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span
class="pre">spark.comet.expression.Percentile.enabled</span></code></p></td>
<td><p>Enable Comet acceleration for <code class="docutils literal
notranslate"><span class="pre">Percentile</span></code></p></td>
<td><p>true</p></td>
</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span
class="pre">spark.comet.expression.StddevPop.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span
class="pre">spark.comet.expression.StddevPop.enabled</span></code></p></td>
<td><p>Enable Comet acceleration for <code class="docutils literal
notranslate"><span class="pre">StddevPop</span></code></p></td>
<td><p>true</p></td>
</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span
class="pre">spark.comet.expression.StddevSamp.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span
class="pre">spark.comet.expression.StddevSamp.enabled</span></code></p></td>
<td><p>Enable Comet acceleration for <code class="docutils literal
notranslate"><span class="pre">StddevSamp</span></code></p></td>
<td><p>true</p></td>
</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span
class="pre">spark.comet.expression.Sum.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span
class="pre">spark.comet.expression.Sum.enabled</span></code></p></td>
<td><p>Enable Comet acceleration for <code class="docutils literal
notranslate"><span class="pre">Sum</span></code></p></td>
<td><p>true</p></td>
</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span
class="pre">spark.comet.expression.VariancePop.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span
class="pre">spark.comet.expression.VariancePop.enabled</span></code></p></td>
<td><p>Enable Comet acceleration for <code class="docutils literal
notranslate"><span class="pre">VariancePop</span></code></p></td>
<td><p>true</p></td>
</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span
class="pre">spark.comet.expression.VarianceSamp.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span
class="pre">spark.comet.expression.VarianceSamp.enabled</span></code></p></td>
<td><p>Enable Comet acceleration for <code class="docutils literal
notranslate"><span class="pre">VarianceSamp</span></code></p></td>
<td><p>true</p></td>
</tr>
diff --git a/user-guide/latest/expressions.html
b/user-guide/latest/expressions.html
index df46cc0078..72c124d75e 100644
--- a/user-guide/latest/expressions.html
+++ b/user-guide/latest/expressions.html
@@ -789,7 +789,7 @@ expressions. The following function families are
<strong>not currently planned</
<li><p><strong>Miscellaneous niche</strong> (<code class="docutils literal
notranslate"><span class="pre">histogram_numeric</span></code>, <code
class="docutils literal notranslate"><span class="pre">version</span></code>,
<code class="docutils literal notranslate"><span
class="pre">sentences</span></code>, <code class="docutils literal
notranslate"><span class="pre">quote</span></code>): low-value or specialized
functions with little benefit from native acceleration.</p></li>
</ul>
<p>The file-metadata functions <code class="docutils literal
notranslate"><span class="pre">input_file_name</span></code>, <code
class="docutils literal notranslate"><span
class="pre">input_file_block_start</span></code>, and <code class="docutils
literal notranslate"><span class="pre">input_file_block_length</span></code>
depend on scan-internal per-row file information rather than the expression
layer; their support status is covered in the <a class="reference internal"
href="compatibi [...]
-<p>Note that <code class="docutils literal notranslate"><span
class="pre">approx_count_distinct</span></code>, <code class="docutils literal
notranslate"><span class="pre">median</span></code>, and <code class="docutils
literal notranslate"><span class="pre">mode</span></code> are planned: they are
mainstream (<code class="docutils literal notranslate"><span
class="pre">median</span></code> and <code class="docutils literal
notranslate"><span class="pre">mode</span></code> are exact aggr [...]
+<p>Note that <code class="docutils literal notranslate"><span
class="pre">median</span></code> and <code class="docutils literal
notranslate"><span class="pre">mode</span></code> are planned: they are
mainstream exact aggregates. <code class="docutils literal notranslate"><span
class="pre">approx_count_distinct</span></code> is supported because Comet
ports Sparkβs <code class="docutils literal notranslate"><span
class="pre">HyperLogLogPlusPlus</span></code> exactly, so its result is bit
[...]
<p>The tables below list every Spark built-in expression with its current
status.</p>
</section>
<section id="agg-funcs">
@@ -811,8 +811,8 @@ expressions. The following function families are
<strong>not currently planned</
<td><p></p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span
class="pre">approx_count_distinct</span></code></p></td>
-<td><p>π</p></td>
-<td><p>tracking <a class="reference external"
href="https://github.com/apache/datafusion-comet/issues/4098">#4098</a></p></td>
+<td><p>β
</p></td>
+<td><p></p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span
class="pre">approx_percentile</span></code></p></td>
<td><p>β
</p></td>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]