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

commit 41085af5d278c814e09ec54496e71b1aaef46bc1
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
AuthorDate: Fri Sep 11 04:01:57 2026 +0000

    Publish built docs triggered by 5c5dda8374d0b8b93b877281ed4b5fdca1eed324
---
 .../expression-audits/agg_funcs.md.txt             | 20 +++++++++++++++--
 .../expressions/spark-3.4/aggregate.md.txt         | 20 +++++++++++++++++
 .../expressions/spark-3.5/aggregate.md.txt         | 20 +++++++++++++++++
 .../expressions/spark-4.0/aggregate.md.txt         | 20 +++++++++++++++++
 .../expressions/spark-4.1/aggregate.md.txt         | 20 +++++++++++++++++
 _sources/user-guide/latest/configs.md.txt          |  2 ++
 _sources/user-guide/latest/expressions.md.txt      |  4 ++--
 contributor-guide/expression-audits/agg_funcs.html | 26 ++++++++++++++++++++--
 searchindex.js                                     |  2 +-
 .../expressions/spark-3.4/aggregate.html           | 24 ++++++++++++++++++++
 .../expressions/spark-3.5/aggregate.html           | 24 ++++++++++++++++++++
 .../expressions/spark-4.0/aggregate.html           | 24 ++++++++++++++++++++
 .../expressions/spark-4.1/aggregate.html           | 24 ++++++++++++++++++++
 user-guide/latest/configs.html                     | 10 ++++++++-
 user-guide/latest/expressions.html                 | 12 +++++-----
 15 files changed, 238 insertions(+), 14 deletions(-)

diff --git a/_sources/contributor-guide/expression-audits/agg_funcs.md.txt 
b/_sources/contributor-guide/expression-audits/agg_funcs.md.txt
index 164ca2a72c..8d0ff7be68 100644
--- a/_sources/contributor-guide/expression-audits/agg_funcs.md.txt
+++ b/_sources/contributor-guide/expression-audits/agg_funcs.md.txt
@@ -57,8 +57,9 @@
 - Spark 3.5.8 (audited 2026-06-24): identical to 3.4.3.
 - Spark 4.0.1 (audited 2026-06-24): only structural change is adding `with 
UnaryLike[Expression]` to the case class (no behavior change).
 - Spark 4.1.1 (audited 2026-06-24): identical to 4.0.1.
-- Comet implementation: native side delegates to 
`datafusion_spark::function::aggregate::collect::SparkCollectList`, which wraps 
`ArrayAggAccumulator` with `ignore_nulls = true` and converts a final NULL 
accumulator state to an empty array (matching Spark's `defaultResult`). The 
native return type is `List(Field, containsNull = true)`, while Spark uses 
`containsNull = false`. Because nulls are filtered before insertion, no nulls 
actually appear in the array, so this is a schema-shape dif [...]
+- Comet implementation: `CometCollectList` 
(`native/spark-expr/src/agg_funcs/collect.rs`) delegates the ungrouped path to 
`datafusion_spark::function::aggregate::collect::SparkCollectList`, which wraps 
`ArrayAggAccumulator` with `ignore_nulls = true` and converts a final NULL 
accumulator state to an empty array (matching Spark's `defaultResult`); grouped 
aggregation uses Comet's own `GroupsAccumulator`, which retains the input 
arrays and gathers them into group order on emit. The native  [...]
 - Buffer shape (applies equally to `collect_set`): both are 
`TypedImperativeAggregate`s, so Spark's `aggBufferAttributes` declares the 
intermediate buffer as `BinaryType` (serialized state) while the native 
accumulator's `state_fields` is a `List`. 
`CometBaseAggregate.adjustOutputForNativeState` rewrites the Comet-side Partial 
output to the list shape. Neither collector can split a Partial and Final 
across Comet and Spark, and a multi-stage distinct rewrite (which inserts a 
`PartialMerge [...]
+- Performance (tuned 2026-09-09, PR 
[#5803](https://github.com/apache/datafusion-comet/pull/5803)): grouped 
`collect_list` used to run through DataFusion's `GroupsAccumulatorAdapter`, 
which keeps one boxed `Accumulator` per group and slices every batch into a 
per-group `update_batch` call. `CollectListGroupsAccumulator` instead records a 
`(group, row range)` contribution per batch and rearranges them with a counting 
sort on emit, gathering long runs with `concat` and scattered rows with  [...]
 - Spark 4.2 (preview): `CollectList` and `CollectSet` gain an `ignoreNulls` 
field (default `true`); `RESPECT NULLS` sets it to `false` and keeps null 
elements. The native path always drops nulls, so `CometCollectShim` reads the 
field per Spark version (always `true` on 3.4-4.1) and `CometCollectList` / 
`CometCollectSet` report `Unsupported` when it is `false`, falling back to 
Spark.
 
 ## collect_set
@@ -67,9 +68,17 @@
 - Spark 3.5.8 (audited 2026-07-27): identical to 3.4.3.
 - Spark 4.0.1 (audited 2026-07-27): adds `with UnaryLike[Expression]` to the 
case class, and `checkInputDataTypes` additionally requires 
`UnsafeRowUtils.isBinaryStable(child.dataType)`, so non-default-collation 
strings are rejected along with maps. Deduplication semantics unchanged.
 - Spark 4.1.1 (audited 2026-07-27): identical to 4.0.1.
-- Comet implementation: the native side delegates to 
`datafusion_spark::function::aggregate::collect::SparkCollectSet`, which wraps 
`DistinctArrayAggAccumulator` with `ignore_nulls = true` in a 
`NullToEmptyListAccumulator` so a final NULL accumulator state becomes an empty 
array. The `containsNull` mismatch against Spark's declared output type, and 
its rationale, are identical to [collect_list](#collect-list).
+- Comet implementation: `CometCollectSet` 
(`native/spark-expr/src/agg_funcs/collect.rs`) delegates the ungrouped path to 
`datafusion_spark::function::aggregate::collect::SparkCollectSet`, which wraps 
`DistinctArrayAggAccumulator` with `ignore_nulls = true` in a 
`NullToEmptyListAccumulator` so a final NULL accumulator state becomes an empty 
array; grouped aggregation uses Comet's own `GroupsAccumulator`, which keeps 
the distinct values row-encoded in one arena keyed by `(group, value)`. D [...]
+- Performance (tuned 2026-09-09, PR 
[#5803](https://github.com/apache/datafusion-comet/pull/5803)): as for 
[collect_list](#collect-list), grouped `collect_set` no longer goes through 
`GroupsAccumulatorAdapter`. `CollectSetGroupsAccumulator` encodes each batch 
once for all of its groups and deduplicates against an open-addressed index 
over a shared arena, replacing one hash table plus one owned `Row` per distinct 
value per group. 60-93% faster ([#5797](https://github.com/apache/datafusion 
[...]
 - `CometCollectSet` reports `Incompatible` for float and double input when 
`spark.comet.exec.strictFloatingPoint=true`, because the native distinct 
comparison treats `NaN == NaN` and collapses repeated `NaN`s into a single 
element while Spark keeps each one. The native path for floating-point input is 
then opt-in via `spark.comet.expression.CollectSet.allowIncompatible=true`. All 
other input types are `Compatible`.
 
+## max_by
+
+- Spark 3.4.3 (2026-07-03): `MaxBy` is a 2-argument `DeclarativeAggregate` 
registered as `expression[MaxBy]("max_by")`. Buffer is 
`(valueWithExtremumOrdering, extremumOrdering)`; null orderings are ignored, 
the value paired with the maximum ordering is returned (and may itself be 
null), and an all-null-ordering group yields null. Comet implements a native 
`max_by` aggregate. Only fixed-length value and ordering types are accelerated: 
a variable-length or nested type (string, binary, stru [...]
+- Spark 3.5.8 (2026-07-03): aggregate logic identical to 3.4.3.
+- Spark 4.0.1 (2026-07-03): aggregate logic identical to 3.4.3; only the 
`@ExpressionDescription` example and note text differ.
+- Spark 4.1.1 (2026-07-03): aggregate logic identical to 3.4.3. The 3-argument 
top-k form `max_by(x, y, k)` arrived in Spark 4.2 (`MaxMinByK.scala`, absent on 
`branch-4.1`), so it is absent from 3.4 through 4.1 and present on the 4.2 
profile this repo builds. `MaxByBuilder.build` still returns a plain `MaxBy` 
for the 2-argument call, and the 3-argument call becomes `MaxMinByK`, a 
different class with no serde registration, so Comet handles only the 
2-argument form and the top-k form falls back.
+
 ## median
 
 - Spark 3.4.3 (audited 2026-06-24): `Median(child)` is a 
`RuntimeReplaceableAggregate` with `replacement = Percentile(child, 
Literal(0.5))`. Catalyst rewrites `median(x)` to `percentile(x, 0.5)` before 
Comet sees the plan, so it is served by `CometPercentile`.
@@ -77,6 +86,13 @@
 - Spark 4.0.1 (audited 2026-06-24): `replacement` becomes `lazy val`; 
semantics unchanged.
 - Spark 4.1.1 (audited 2026-06-24): identical to 4.0.1.
 
+## min_by
+
+- Spark 3.4.3 (2026-07-03): `MinBy` shares the abstract `MaxMinBy` 
`DeclarativeAggregate` with `MaxBy`, differing only in the comparison direction 
(`least` / `<` instead of `greatest` / `>`). Registered as 
`expression[MinBy]("min_by")`. Null orderings are ignored, the value paired 
with the minimum ordering is returned (and may itself be null), and an 
all-null-ordering group yields null. Comet serves it through the same native 
`MaxMinBy` aggregate as `max_by`, with the same fixed-length v [...]
+- Spark 3.5.8 (2026-07-03): aggregate logic identical to 3.4.3.
+- Spark 4.0.1 (2026-07-03): aggregate logic identical to 3.4.3; only the 
`@ExpressionDescription` example and note text differ.
+- Spark 4.1.1 (2026-07-03): aggregate logic identical to 3.4.3. The 3-argument 
top-k form `min_by(x, y, k)` arrived in Spark 4.2 alongside `max_by(x, y, k)`; 
`MinByBuilder.build` returns a plain `MinBy` for the 2-argument call, so Comet 
handles only the 2-argument form and the top-k form falls back.
+
 ## percentile
 
 - Spark 3.4.3 (audited 2026-06-24): `Percentile(child, percentageExpression, 
frequencyExpression, ..., reverse)` over `PercentileBase`. Exact percentile 
using `index = p * (n - 1)` linear interpolation, NULL inputs skipped, 
empty/all-null group returns NULL. `CometPercentile` maps the 
single-literal-percentage, default-frequency, numeric-input, ascending form to 
DataFusion's `percentile_cont` (same interpolation). Array-of-percentages, a 
non-default frequency argument, descending order,  [...]
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 797c5b982c..61e3af27f1 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
@@ -61,6 +61,26 @@ The following differences from Spark are always present and 
do not require any a
 
 - This function is not deterministic. Results may not match Spark.
 
+## MaxBy
+
+The following differences from Spark are always present and do not require any 
additional configuration:
+
+- This function is non-deterministic when multiple rows share the maximum 
ordering value. Results may differ from Spark in that case.
+
+The following cases are not supported by Comet and always fall back to Spark, 
regardless of any `allowIncompatible` setting:
+
+- The value and ordering must both be fixed-length types (boolean, integral, 
floating-point, decimal, date, or timestamp). A variable-length or nested type 
such as string, binary, or struct falls back to Spark.
+
+## MinBy
+
+The following differences from Spark are always present and do not require any 
additional configuration:
+
+- This function is non-deterministic when multiple rows share the minimum 
ordering value. Results may differ from Spark in that case.
+
+The following cases are not supported by Comet and always fall back to Spark, 
regardless of any `allowIncompatible` setting:
+
+- The value and ordering must both be fixed-length types (boolean, integral, 
floating-point, decimal, date, or timestamp). A variable-length or nested type 
such as string, binary, or struct falls back to Spark.
+
 ## Mode
 
 The following incompatibilities cause `Mode` to fall back to Spark by default. 
Set `spark.comet.expression.Mode.allowIncompatible=true` to enable Comet 
acceleration despite these differences.
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 797c5b982c..61e3af27f1 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
@@ -61,6 +61,26 @@ The following differences from Spark are always present and 
do not require any a
 
 - This function is not deterministic. Results may not match Spark.
 
+## MaxBy
+
+The following differences from Spark are always present and do not require any 
additional configuration:
+
+- This function is non-deterministic when multiple rows share the maximum 
ordering value. Results may differ from Spark in that case.
+
+The following cases are not supported by Comet and always fall back to Spark, 
regardless of any `allowIncompatible` setting:
+
+- The value and ordering must both be fixed-length types (boolean, integral, 
floating-point, decimal, date, or timestamp). A variable-length or nested type 
such as string, binary, or struct falls back to Spark.
+
+## MinBy
+
+The following differences from Spark are always present and do not require any 
additional configuration:
+
+- This function is non-deterministic when multiple rows share the minimum 
ordering value. Results may differ from Spark in that case.
+
+The following cases are not supported by Comet and always fall back to Spark, 
regardless of any `allowIncompatible` setting:
+
+- The value and ordering must both be fixed-length types (boolean, integral, 
floating-point, decimal, date, or timestamp). A variable-length or nested type 
such as string, binary, or struct falls back to Spark.
+
 ## Mode
 
 The following incompatibilities cause `Mode` to fall back to Spark by default. 
Set `spark.comet.expression.Mode.allowIncompatible=true` to enable Comet 
acceleration despite these differences.
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 797c5b982c..61e3af27f1 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
@@ -61,6 +61,26 @@ The following differences from Spark are always present and 
do not require any a
 
 - This function is not deterministic. Results may not match Spark.
 
+## MaxBy
+
+The following differences from Spark are always present and do not require any 
additional configuration:
+
+- This function is non-deterministic when multiple rows share the maximum 
ordering value. Results may differ from Spark in that case.
+
+The following cases are not supported by Comet and always fall back to Spark, 
regardless of any `allowIncompatible` setting:
+
+- The value and ordering must both be fixed-length types (boolean, integral, 
floating-point, decimal, date, or timestamp). A variable-length or nested type 
such as string, binary, or struct falls back to Spark.
+
+## MinBy
+
+The following differences from Spark are always present and do not require any 
additional configuration:
+
+- This function is non-deterministic when multiple rows share the minimum 
ordering value. Results may differ from Spark in that case.
+
+The following cases are not supported by Comet and always fall back to Spark, 
regardless of any `allowIncompatible` setting:
+
+- The value and ordering must both be fixed-length types (boolean, integral, 
floating-point, decimal, date, or timestamp). A variable-length or nested type 
such as string, binary, or struct falls back to Spark.
+
 ## Mode
 
 The following incompatibilities cause `Mode` to fall back to Spark by default. 
Set `spark.comet.expression.Mode.allowIncompatible=true` to enable Comet 
acceleration despite these differences.
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 797c5b982c..61e3af27f1 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
@@ -61,6 +61,26 @@ The following differences from Spark are always present and 
do not require any a
 
 - This function is not deterministic. Results may not match Spark.
 
+## MaxBy
+
+The following differences from Spark are always present and do not require any 
additional configuration:
+
+- This function is non-deterministic when multiple rows share the maximum 
ordering value. Results may differ from Spark in that case.
+
+The following cases are not supported by Comet and always fall back to Spark, 
regardless of any `allowIncompatible` setting:
+
+- The value and ordering must both be fixed-length types (boolean, integral, 
floating-point, decimal, date, or timestamp). A variable-length or nested type 
such as string, binary, or struct falls back to Spark.
+
+## MinBy
+
+The following differences from Spark are always present and do not require any 
additional configuration:
+
+- This function is non-deterministic when multiple rows share the minimum 
ordering value. Results may differ from Spark in that case.
+
+The following cases are not supported by Comet and always fall back to Spark, 
regardless of any `allowIncompatible` setting:
+
+- The value and ordering must both be fixed-length types (boolean, integral, 
floating-point, decimal, date, or timestamp). A variable-length or nested type 
such as string, binary, or struct falls back to Spark.
+
 ## Mode
 
 The following incompatibilities cause `Mode` to fall back to Spark by default. 
Set `spark.comet.expression.Mode.allowIncompatible=true` to enable Comet 
acceleration despite these differences.
diff --git a/_sources/user-guide/latest/configs.md.txt 
b/_sources/user-guide/latest/configs.md.txt
index fc34fe5cfa..ec6e18516d 100644
--- a/_sources/user-guide/latest/configs.md.txt
+++ b/_sources/user-guide/latest/configs.md.txt
@@ -514,7 +514,9 @@ shuffle, including applications that rely only on remote 
reliable storage or dec
 | `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.MaxBy.enabled` | Enable Comet acceleration for 
`MaxBy` | true |
 | `spark.comet.expression.Min.enabled` | Enable Comet acceleration for `Min` | 
true |
+| `spark.comet.expression.MinBy.enabled` | Enable Comet acceleration for 
`MinBy` | true |
 | `spark.comet.expression.Mode.enabled` | Enable Comet acceleration for `Mode` 
| true |
 | `spark.comet.expression.Percentile.enabled` | Enable Comet acceleration for 
`Percentile` | true |
 | `spark.comet.expression.RegrIntercept.enabled` | Enable Comet acceleration 
for `RegrIntercept` | true |
diff --git a/_sources/user-guide/latest/expressions.md.txt 
b/_sources/user-guide/latest/expressions.md.txt
index b1bd78f397..0dee5de9a0 100644
--- a/_sources/user-guide/latest/expressions.md.txt
+++ b/_sources/user-guide/latest/expressions.md.txt
@@ -109,11 +109,11 @@ The tables below list every Spark built-in expression 
with its current status.
 | `last_value` | βœ… | Native |  |
 | `listagg` | πŸ”œ | β€” | String aggregation |
 | `max` | βœ… | Native |  |
-| `max_by` | πŸ”œ | β€” | 
[#3841](https://github.com/apache/datafusion-comet/issues/3841) |
+| `max_by` | βœ… | Native | Value and ordering must be fixed-length types |
 | `mean` | βœ… | Native |  |
 | `median` | βœ… | β€” | Rewrites to `percentile(col, 0.5)` and runs natively for 
supported percentile inputs |
 | `min` | βœ… | Native |  |
-| `min_by` | πŸ”œ | β€” | 
[#3841](https://github.com/apache/datafusion-comet/issues/3841) |
+| `min_by` | βœ… | Native | Value and ordering must be fixed-length types |
 | `mode` | βœ… | β€” | `mode(col)` only; Spark breaks ties non-deterministically, 
so Comet returns the smallest tied value and falls back by default, opt-in via 
allowIncompatible 
([#3970](https://github.com/apache/datafusion-comet/issues/3970)) |
 | `percentile` | βœ… | Native | Single literal percentage on numeric input runs 
natively; array of percentages and a frequency argument fall back to Spark |
 | `percentile_cont` | βœ… | β€” | Spark 4.0+ `WITHIN GROUP (ORDER BY ...)`; 
ascending only runs natively, `DESC` falls back to Spark |
diff --git a/contributor-guide/expression-audits/agg_funcs.html 
b/contributor-guide/expression-audits/agg_funcs.html
index b02af30b22..1acd91fb2e 100644
--- a/contributor-guide/expression-audits/agg_funcs.html
+++ b/contributor-guide/expression-audits/agg_funcs.html
@@ -599,8 +599,9 @@ under the License.
 <li><p>Spark 3.5.8 (audited 2026-06-24): identical to 3.4.3.</p></li>
 <li><p>Spark 4.0.1 (audited 2026-06-24): only structural change is adding 
<code class="docutils literal notranslate"><span class="pre">with</span> <span 
class="pre">UnaryLike[Expression]</span></code> to the case class (no behavior 
change).</p></li>
 <li><p>Spark 4.1.1 (audited 2026-06-24): identical to 4.0.1.</p></li>
-<li><p>Comet implementation: native side delegates to <code class="docutils 
literal notranslate"><span 
class="pre">datafusion_spark::function::aggregate::collect::SparkCollectList</span></code>,
 which wraps <code class="docutils literal notranslate"><span 
class="pre">ArrayAggAccumulator</span></code> with <code class="docutils 
literal notranslate"><span class="pre">ignore_nulls</span> <span 
class="pre">=</span> <span class="pre">true</span></code> and converts a final 
NULL accumulator st [...]
+<li><p>Comet implementation: <code class="docutils literal notranslate"><span 
class="pre">CometCollectList</span></code> (<code class="docutils literal 
notranslate"><span 
class="pre">native/spark-expr/src/agg_funcs/collect.rs</span></code>) delegates 
the ungrouped path to <code class="docutils literal notranslate"><span 
class="pre">datafusion_spark::function::aggregate::collect::SparkCollectList</span></code>,
 which wraps <code class="docutils literal notranslate"><span class="pre">Array 
[...]
 <li><p>Buffer shape (applies equally to <code class="docutils literal 
notranslate"><span class="pre">collect_set</span></code>): both are <code 
class="docutils literal notranslate"><span 
class="pre">TypedImperativeAggregate</span></code>s, so Spark’s <code 
class="docutils literal notranslate"><span 
class="pre">aggBufferAttributes</span></code> declares the intermediate buffer 
as <code class="docutils literal notranslate"><span 
class="pre">BinaryType</span></code> (serialized state) while [...]
+<li><p>Performance (tuned 2026-09-09, PR <a class="reference external" 
href="https://github.com/apache/datafusion-comet/pull/5803";>#5803</a>): grouped 
<code class="docutils literal notranslate"><span 
class="pre">collect_list</span></code> used to run through DataFusion’s <code 
class="docutils literal notranslate"><span 
class="pre">GroupsAccumulatorAdapter</span></code>, which keeps one boxed <code 
class="docutils literal notranslate"><span 
class="pre">Accumulator</span></code> per group  [...]
 <li><p>Spark 4.2 (preview): <code class="docutils literal notranslate"><span 
class="pre">CollectList</span></code> and <code class="docutils literal 
notranslate"><span class="pre">CollectSet</span></code> gain an <code 
class="docutils literal notranslate"><span 
class="pre">ignoreNulls</span></code> field (default <code class="docutils 
literal notranslate"><span class="pre">true</span></code>); <code 
class="docutils literal notranslate"><span class="pre">RESPECT</span> <span 
class="pre">N [...]
 </ul>
 </section>
@@ -611,10 +612,20 @@ under the License.
 <li><p>Spark 3.5.8 (audited 2026-07-27): identical to 3.4.3.</p></li>
 <li><p>Spark 4.0.1 (audited 2026-07-27): adds <code class="docutils literal 
notranslate"><span class="pre">with</span> <span 
class="pre">UnaryLike[Expression]</span></code> to the case class, and <code 
class="docutils literal notranslate"><span 
class="pre">checkInputDataTypes</span></code> additionally requires <code 
class="docutils literal notranslate"><span 
class="pre">UnsafeRowUtils.isBinaryStable(child.dataType)</span></code>, so 
non-default-collation strings are rejected along with  [...]
 <li><p>Spark 4.1.1 (audited 2026-07-27): identical to 4.0.1.</p></li>
-<li><p>Comet implementation: the native side delegates to <code 
class="docutils literal notranslate"><span 
class="pre">datafusion_spark::function::aggregate::collect::SparkCollectSet</span></code>,
 which wraps <code class="docutils literal notranslate"><span 
class="pre">DistinctArrayAggAccumulator</span></code> with <code 
class="docutils literal notranslate"><span class="pre">ignore_nulls</span> 
<span class="pre">=</span> <span class="pre">true</span></code> in a <code 
class="docutils li [...]
+<li><p>Comet implementation: <code class="docutils literal notranslate"><span 
class="pre">CometCollectSet</span></code> (<code class="docutils literal 
notranslate"><span 
class="pre">native/spark-expr/src/agg_funcs/collect.rs</span></code>) delegates 
the ungrouped path to <code class="docutils literal notranslate"><span 
class="pre">datafusion_spark::function::aggregate::collect::SparkCollectSet</span></code>,
 which wraps <code class="docutils literal notranslate"><span 
class="pre">Distinc [...]
+<li><p>Performance (tuned 2026-09-09, PR <a class="reference external" 
href="https://github.com/apache/datafusion-comet/pull/5803";>#5803</a>): as for 
<a class="reference internal" href="#collect-list"><span class="xref 
myst">collect_list</span></a>, grouped <code class="docutils literal 
notranslate"><span class="pre">collect_set</span></code> no longer goes through 
<code class="docutils literal notranslate"><span 
class="pre">GroupsAccumulatorAdapter</span></code>. <code class="docutils l 
[...]
 <li><p><code class="docutils literal notranslate"><span 
class="pre">CometCollectSet</span></code> reports <code class="docutils literal 
notranslate"><span class="pre">Incompatible</span></code> for float and double 
input when <code class="docutils literal notranslate"><span 
class="pre">spark.comet.exec.strictFloatingPoint=true</span></code>, because 
the native distinct comparison treats <code class="docutils literal 
notranslate"><span class="pre">NaN</span> <span class="pre">==</span> <s [...]
 </ul>
 </section>
+<section id="max-by">
+<h2>max_by<a class="headerlink" href="#max-by" title="Link to this 
heading">#</a></h2>
+<ul class="simple">
+<li><p>Spark 3.4.3 (2026-07-03): <code class="docutils literal 
notranslate"><span class="pre">MaxBy</span></code> is a 2-argument <code 
class="docutils literal notranslate"><span 
class="pre">DeclarativeAggregate</span></code> registered as <code 
class="docutils literal notranslate"><span 
class="pre">expression[MaxBy](&quot;max_by&quot;)</span></code>. Buffer is 
<code class="docutils literal notranslate"><span 
class="pre">(valueWithExtremumOrdering,</span> <span class="pre">extremumOrderi 
[...]
+<li><p>Spark 3.5.8 (2026-07-03): aggregate logic identical to 3.4.3.</p></li>
+<li><p>Spark 4.0.1 (2026-07-03): aggregate logic identical to 3.4.3; only the 
<code class="docutils literal notranslate"><span 
class="pre">&#64;ExpressionDescription</span></code> example and note text 
differ.</p></li>
+<li><p>Spark 4.1.1 (2026-07-03): aggregate logic identical to 3.4.3. The 
3-argument top-k form <code class="docutils literal notranslate"><span 
class="pre">max_by(x,</span> <span class="pre">y,</span> <span 
class="pre">k)</span></code> arrived in Spark 4.2 (<code class="docutils 
literal notranslate"><span class="pre">MaxMinByK.scala</span></code>, absent on 
<code class="docutils literal notranslate"><span 
class="pre">branch-4.1</span></code>), so it is absent from 3.4 through 4.1 and 
pre [...]
+</ul>
+</section>
 <section id="median">
 <h2>median<a class="headerlink" href="#median" title="Link to this 
heading">#</a></h2>
 <ul class="simple">
@@ -624,6 +635,15 @@ under the License.
 <li><p>Spark 4.1.1 (audited 2026-06-24): identical to 4.0.1.</p></li>
 </ul>
 </section>
+<section id="min-by">
+<h2>min_by<a class="headerlink" href="#min-by" title="Link to this 
heading">#</a></h2>
+<ul class="simple">
+<li><p>Spark 3.4.3 (2026-07-03): <code class="docutils literal 
notranslate"><span class="pre">MinBy</span></code> shares the abstract <code 
class="docutils literal notranslate"><span class="pre">MaxMinBy</span></code> 
<code class="docutils literal notranslate"><span 
class="pre">DeclarativeAggregate</span></code> with <code class="docutils 
literal notranslate"><span class="pre">MaxBy</span></code>, differing only in 
the comparison direction (<code class="docutils literal notranslate"><spa [...]
+<li><p>Spark 3.5.8 (2026-07-03): aggregate logic identical to 3.4.3.</p></li>
+<li><p>Spark 4.0.1 (2026-07-03): aggregate logic identical to 3.4.3; only the 
<code class="docutils literal notranslate"><span 
class="pre">&#64;ExpressionDescription</span></code> example and note text 
differ.</p></li>
+<li><p>Spark 4.1.1 (2026-07-03): aggregate logic identical to 3.4.3. The 
3-argument top-k form <code class="docutils literal notranslate"><span 
class="pre">min_by(x,</span> <span class="pre">y,</span> <span 
class="pre">k)</span></code> arrived in Spark 4.2 alongside <code 
class="docutils literal notranslate"><span class="pre">max_by(x,</span> <span 
class="pre">y,</span> <span class="pre">k)</span></code>; <code class="docutils 
literal notranslate"><span class="pre">MinByBuilder.build</sp [...]
+</ul>
+</section>
 <section id="percentile">
 <h2>percentile<a class="headerlink" href="#percentile" title="Link to this 
heading">#</a></h2>
 <ul class="simple">
@@ -690,7 +710,9 @@ under the License.
 <li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" 
href="#bit-and">bit_and</a></li>
 <li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" 
href="#collect-list">collect_list</a></li>
 <li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" 
href="#collect-set">collect_set</a></li>
+<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" 
href="#max-by">max_by</a></li>
 <li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" 
href="#median">median</a></li>
+<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" 
href="#min-by">min_by</a></li>
 <li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" 
href="#percentile">percentile</a></li>
 </ul>
   </nav></div>
diff --git a/searchindex.js b/searchindex.js
index 5ed1020a3a..7c69b84f7e 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"alltitles": {"!": [[55, "id1"]], "%": [[53, "id1"]], "&": 
[[43, "id1"]], "*": [[53, "id2"]], "+": [[53, "id3"]], "-": [[53, "id4"]], "/": 
[[53, "id5"]], "1. Format Your Code": [[40, "format-your-code"]], "1. Install 
Comet": [[61, "install-comet"], [71, "install-comet"]], "1. Native Operators 
(nativeExecs map)": [[28, "native-operators-nativeexecs-map"]], "2. Build and 
Verify": [[40, "build-and-verify"]], "2. Clone Iceberg and Apply Diff": [[61, 
"clone-iceberg-and-apply- [...]
\ No newline at end of file
+Search.setIndex({"alltitles": {"!": [[55, "id1"]], "%": [[53, "id1"]], "&": 
[[43, "id1"]], "*": [[53, "id2"]], "+": [[53, "id3"]], "-": [[53, "id4"]], "/": 
[[53, "id5"]], "1. Format Your Code": [[40, "format-your-code"]], "1. Install 
Comet": [[61, "install-comet"], [71, "install-comet"]], "1. Native Operators 
(nativeExecs map)": [[28, "native-operators-nativeexecs-map"]], "2. Build and 
Verify": [[40, "build-and-verify"]], "2. Clone Iceberg and Apply Diff": [[61, 
"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 a32a0b0c92..a58514fe0e 100644
--- a/user-guide/latest/compatibility/expressions/spark-3.4/aggregate.html
+++ b/user-guide/latest/compatibility/expressions/spark-3.4/aggregate.html
@@ -829,6 +829,28 @@ under the License.
 <li><p>This function is not deterministic. Results may not match 
Spark.</p></li>
 </ul>
 </section>
+<section id="maxby">
+<h2>MaxBy<a class="headerlink" href="#maxby" title="Link to this 
heading">#</a></h2>
+<p>The following differences from Spark are always present and do not require 
any additional configuration:</p>
+<ul class="simple">
+<li><p>This function is non-deterministic when multiple rows share the maximum 
ordering value. Results may differ from Spark in that case.</p></li>
+</ul>
+<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>The value and ordering must both be fixed-length types (boolean, 
integral, floating-point, decimal, date, or timestamp). A variable-length or 
nested type such as string, binary, or struct falls back to Spark.</p></li>
+</ul>
+</section>
+<section id="minby">
+<h2>MinBy<a class="headerlink" href="#minby" title="Link to this 
heading">#</a></h2>
+<p>The following differences from Spark are always present and do not require 
any additional configuration:</p>
+<ul class="simple">
+<li><p>This function is non-deterministic when multiple rows share the minimum 
ordering value. Results may differ from Spark in that case.</p></li>
+</ul>
+<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>The value and ordering must both be fixed-length types (boolean, 
integral, floating-point, decimal, date, or timestamp). A variable-length or 
nested type such as string, binary, or struct falls back to Spark.</p></li>
+</ul>
+</section>
 <section id="mode">
 <h2>Mode<a class="headerlink" href="#mode" title="Link to this 
heading">#</a></h2>
 <p>The following incompatibilities cause <code class="docutils literal 
notranslate"><span class="pre">Mode</span></code> to fall back to Spark by 
default. Set <code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Mode.allowIncompatible=true</span></code> to 
enable Comet acceleration despite these differences.</p>
@@ -903,6 +925,8 @@ under the License.
 <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="#maxby">MaxBy</a></li>
+<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" 
href="#minby">MinBy</a></li>
 <li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" 
href="#mode">Mode</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 39dd4fea7c..0b6d963842 100644
--- a/user-guide/latest/compatibility/expressions/spark-3.5/aggregate.html
+++ b/user-guide/latest/compatibility/expressions/spark-3.5/aggregate.html
@@ -829,6 +829,28 @@ under the License.
 <li><p>This function is not deterministic. Results may not match 
Spark.</p></li>
 </ul>
 </section>
+<section id="maxby">
+<h2>MaxBy<a class="headerlink" href="#maxby" title="Link to this 
heading">#</a></h2>
+<p>The following differences from Spark are always present and do not require 
any additional configuration:</p>
+<ul class="simple">
+<li><p>This function is non-deterministic when multiple rows share the maximum 
ordering value. Results may differ from Spark in that case.</p></li>
+</ul>
+<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>The value and ordering must both be fixed-length types (boolean, 
integral, floating-point, decimal, date, or timestamp). A variable-length or 
nested type such as string, binary, or struct falls back to Spark.</p></li>
+</ul>
+</section>
+<section id="minby">
+<h2>MinBy<a class="headerlink" href="#minby" title="Link to this 
heading">#</a></h2>
+<p>The following differences from Spark are always present and do not require 
any additional configuration:</p>
+<ul class="simple">
+<li><p>This function is non-deterministic when multiple rows share the minimum 
ordering value. Results may differ from Spark in that case.</p></li>
+</ul>
+<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>The value and ordering must both be fixed-length types (boolean, 
integral, floating-point, decimal, date, or timestamp). A variable-length or 
nested type such as string, binary, or struct falls back to Spark.</p></li>
+</ul>
+</section>
 <section id="mode">
 <h2>Mode<a class="headerlink" href="#mode" title="Link to this 
heading">#</a></h2>
 <p>The following incompatibilities cause <code class="docutils literal 
notranslate"><span class="pre">Mode</span></code> to fall back to Spark by 
default. Set <code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Mode.allowIncompatible=true</span></code> to 
enable Comet acceleration despite these differences.</p>
@@ -903,6 +925,8 @@ under the License.
 <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="#maxby">MaxBy</a></li>
+<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" 
href="#minby">MinBy</a></li>
 <li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" 
href="#mode">Mode</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 2b3a4c10b2..078e379e62 100644
--- a/user-guide/latest/compatibility/expressions/spark-4.0/aggregate.html
+++ b/user-guide/latest/compatibility/expressions/spark-4.0/aggregate.html
@@ -829,6 +829,28 @@ under the License.
 <li><p>This function is not deterministic. Results may not match 
Spark.</p></li>
 </ul>
 </section>
+<section id="maxby">
+<h2>MaxBy<a class="headerlink" href="#maxby" title="Link to this 
heading">#</a></h2>
+<p>The following differences from Spark are always present and do not require 
any additional configuration:</p>
+<ul class="simple">
+<li><p>This function is non-deterministic when multiple rows share the maximum 
ordering value. Results may differ from Spark in that case.</p></li>
+</ul>
+<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>The value and ordering must both be fixed-length types (boolean, 
integral, floating-point, decimal, date, or timestamp). A variable-length or 
nested type such as string, binary, or struct falls back to Spark.</p></li>
+</ul>
+</section>
+<section id="minby">
+<h2>MinBy<a class="headerlink" href="#minby" title="Link to this 
heading">#</a></h2>
+<p>The following differences from Spark are always present and do not require 
any additional configuration:</p>
+<ul class="simple">
+<li><p>This function is non-deterministic when multiple rows share the minimum 
ordering value. Results may differ from Spark in that case.</p></li>
+</ul>
+<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>The value and ordering must both be fixed-length types (boolean, 
integral, floating-point, decimal, date, or timestamp). A variable-length or 
nested type such as string, binary, or struct falls back to Spark.</p></li>
+</ul>
+</section>
 <section id="mode">
 <h2>Mode<a class="headerlink" href="#mode" title="Link to this 
heading">#</a></h2>
 <p>The following incompatibilities cause <code class="docutils literal 
notranslate"><span class="pre">Mode</span></code> to fall back to Spark by 
default. Set <code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Mode.allowIncompatible=true</span></code> to 
enable Comet acceleration despite these differences.</p>
@@ -903,6 +925,8 @@ under the License.
 <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="#maxby">MaxBy</a></li>
+<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" 
href="#minby">MinBy</a></li>
 <li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" 
href="#mode">Mode</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 f23f5481e9..065da3c225 100644
--- a/user-guide/latest/compatibility/expressions/spark-4.1/aggregate.html
+++ b/user-guide/latest/compatibility/expressions/spark-4.1/aggregate.html
@@ -829,6 +829,28 @@ under the License.
 <li><p>This function is not deterministic. Results may not match 
Spark.</p></li>
 </ul>
 </section>
+<section id="maxby">
+<h2>MaxBy<a class="headerlink" href="#maxby" title="Link to this 
heading">#</a></h2>
+<p>The following differences from Spark are always present and do not require 
any additional configuration:</p>
+<ul class="simple">
+<li><p>This function is non-deterministic when multiple rows share the maximum 
ordering value. Results may differ from Spark in that case.</p></li>
+</ul>
+<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>The value and ordering must both be fixed-length types (boolean, 
integral, floating-point, decimal, date, or timestamp). A variable-length or 
nested type such as string, binary, or struct falls back to Spark.</p></li>
+</ul>
+</section>
+<section id="minby">
+<h2>MinBy<a class="headerlink" href="#minby" title="Link to this 
heading">#</a></h2>
+<p>The following differences from Spark are always present and do not require 
any additional configuration:</p>
+<ul class="simple">
+<li><p>This function is non-deterministic when multiple rows share the minimum 
ordering value. Results may differ from Spark in that case.</p></li>
+</ul>
+<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>The value and ordering must both be fixed-length types (boolean, 
integral, floating-point, decimal, date, or timestamp). A variable-length or 
nested type such as string, binary, or struct falls back to Spark.</p></li>
+</ul>
+</section>
 <section id="mode">
 <h2>Mode<a class="headerlink" href="#mode" title="Link to this 
heading">#</a></h2>
 <p>The following incompatibilities cause <code class="docutils literal 
notranslate"><span class="pre">Mode</span></code> to fall back to Spark by 
default. Set <code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Mode.allowIncompatible=true</span></code> to 
enable Comet acceleration despite these differences.</p>
@@ -903,6 +925,8 @@ under the License.
 <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="#maxby">MaxBy</a></li>
+<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" 
href="#minby">MinBy</a></li>
 <li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" 
href="#mode">Mode</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 18afbf3e57..66ce6e6bcf 100644
--- a/user-guide/latest/configs.html
+++ b/user-guide/latest/configs.html
@@ -2509,10 +2509,18 @@ shuffle, including applications that rely only on 
remote reliable storage or dec
 <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-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.MaxBy.enabled</span></code></p></td>
+<td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">MaxBy</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.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-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.MinBy.enabled</span></code></p></td>
+<td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">MinBy</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.Mode.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">Mode</span></code></p></td>
 <td><p>true</p></td>
diff --git a/user-guide/latest/expressions.html 
b/user-guide/latest/expressions.html
index 5bf98b41c0..e18549b1b1 100644
--- a/user-guide/latest/expressions.html
+++ b/user-guide/latest/expressions.html
@@ -1006,9 +1006,9 @@ 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">max_by</span></code></p></td>
-<td><p>πŸ”œ</p></td>
-<td><p>β€”</p></td>
-<td><p><a class="reference external" 
href="https://github.com/apache/datafusion-comet/issues/3841";>#3841</a></p></td>
+<td><p>βœ…</p></td>
+<td><p>Native</p></td>
+<td><p>Value and ordering must be fixed-length types</p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">mean</span></code></p></td>
 <td><p>βœ…</p></td>
@@ -1026,9 +1026,9 @@ 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">min_by</span></code></p></td>
-<td><p>πŸ”œ</p></td>
-<td><p>β€”</p></td>
-<td><p><a class="reference external" 
href="https://github.com/apache/datafusion-comet/issues/3841";>#3841</a></p></td>
+<td><p>βœ…</p></td>
+<td><p>Native</p></td>
+<td><p>Value and ordering must be fixed-length types</p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">mode</span></code></p></td>
 <td><p>βœ…</p></td>


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to