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 424e21a68b Publish built docs triggered by
2af9cec38b1f68550c3e13c1109f3c7502081e84
424e21a68b is described below
commit 424e21a68b7a071f049f1c34c77a3b27408d1f95
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
AuthorDate: Tue Aug 4 18:30:04 2026 +0000
Publish built docs triggered by 2af9cec38b1f68550c3e13c1109f3c7502081e84
---
.../expression-audits/generator_funcs.md.txt | 4 +--
_sources/user-guide/latest/expressions.md.txt | 10 +++----
_sources/user-guide/latest/operators.md.txt | 12 ++++----
.../latest/understanding-comet-plans.md.txt | 32 +++++++++++-----------
.../expression-audits/generator_funcs.html | 4 +--
searchindex.js | 2 +-
user-guide/latest/expressions.html | 10 +++----
user-guide/latest/operators.html | 2 +-
user-guide/latest/understanding-comet-plans.html | 2 +-
9 files changed, 39 insertions(+), 39 deletions(-)
diff --git
a/_sources/contributor-guide/expression-audits/generator_funcs.md.txt
b/_sources/contributor-guide/expression-audits/generator_funcs.md.txt
index 1b7c2dca03..4d160c6ac3 100644
--- a/_sources/contributor-guide/expression-audits/generator_funcs.md.txt
+++ b/_sources/contributor-guide/expression-audits/generator_funcs.md.txt
@@ -27,7 +27,7 @@
## explode_outer
-- Same `CometExplodeExec` path as `explode`, but the `outer=true` case is
`Incompatible` (empty arrays are not preserved as null outputs) and falls back
unless `spark.comet.operator.GenerateExec.allowIncompatible=true`
([datafusion#19053](https://github.com/apache/datafusion/issues/19053)).
+- Same `CometExplodeExec` path as `explode`. Compatible for array inputs;
empty and NULL arrays both emit one null-valued row per Spark's `outer`
semantics via the `ListEmptyToNullExpr` planner bridge (works around
[datafusion#19053](https://github.com/apache/datafusion/issues/19053)). Map
inputs fall back.
## posexplode
@@ -35,6 +35,6 @@
## posexplode_outer
-- Same `CometExplodeExec` path as `posexplode`, but the `outer=true` case is
`Incompatible` and falls back unless
`spark.comet.operator.GenerateExec.allowIncompatible=true`
([datafusion#19053](https://github.com/apache/datafusion/issues/19053)).
+- Same `CometExplodeExec` path as `posexplode`. Compatible for array inputs;
empty and NULL arrays both emit one row with null `pos` and null `value` per
Spark's `outer` semantics via the `ListEmptyToNullExpr` planner bridge (works
around [datafusion#19053](https://github.com/apache/datafusion/issues/19053)).
[Spark Expression Support]: ../../user-guide/latest/expressions.md
diff --git a/_sources/user-guide/latest/expressions.md.txt
b/_sources/user-guide/latest/expressions.md.txt
index 43f16d7445..b1aa0e5d39 100644
--- a/_sources/user-guide/latest/expressions.md.txt
+++ b/_sources/user-guide/latest/expressions.md.txt
@@ -325,18 +325,18 @@ The type-name conversion functions (`bigint`, `binary`,
`boolean`, `date`, `deci
## generator_funcs
-`explode` and `posexplode` are supported via `CometExplodeExec`
(operator-level, not
-expression-level). The `outer` variants are wired but marked `Incompatible`;
they require
-`spark.comet.exec.explode.enabled=true` and `allowIncompatible`.
+`explode`, `explode_outer`, `posexplode`, and `posexplode_outer` are supported
via
+`CometExplodeExec` (operator-level, not expression-level). Enabled by default
via
+`spark.comet.exec.explode.enabled`.
| Function | Status | Implementation | Notes |
| --- | --- | --- | --- |
| `explode` | ✅ | — | via `CometExplodeExec` |
-| `explode_outer` | ✅ | — | outer=true falls back (Incompatible)
([audit](../../contributor-guide/expression-audits/generator_funcs.md#explode_outer))
|
+| `explode_outer` | ✅ | — | via `CometExplodeExec`
([audit](../../contributor-guide/expression-audits/generator_funcs.md#explode_outer))
|
| `inline` | 🔜 | — | Operator-level generator (like `explode`) |
| `inline_outer` | 🔜 | — | Operator-level generator (like `explode`) |
| `posexplode` | ✅ | — | via `CometExplodeExec` |
-| `posexplode_outer` | ✅ | — | outer=true falls back (Incompatible)
([audit](../../contributor-guide/expression-audits/generator_funcs.md#posexplode_outer))
|
+| `posexplode_outer` | ✅ | — | via `CometExplodeExec`
([audit](../../contributor-guide/expression-audits/generator_funcs.md#posexplode_outer))
|
| `stack` | 🔜 | — | Operator-level generator |
---
diff --git a/_sources/user-guide/latest/operators.md.txt
b/_sources/user-guide/latest/operators.md.txt
index 76ee09cc12..42235b1367 100644
--- a/_sources/user-guide/latest/operators.md.txt
+++ b/_sources/user-guide/latest/operators.md.txt
@@ -107,12 +107,12 @@ omitted from the tables below and may be reconsidered
based on demand:
## Generators and set operations
-| Operator | Status | Notes
|
-| -------------- | ------ |
--------------------------------------------------------------------------------------------------------------------------
|
-| `GenerateExec` | ✅ | Supports `explode` and `posexplode` over arrays.
The `_outer` variants are incompatible, and `inline` / `stack` fall back. |
-| `ExpandExec` | ✅ |
|
-| `UnionExec` | ✅ |
|
-| `CoalesceExec` | ✅ |
|
+| Operator | Status | Notes
|
+| -------------- | ------ |
----------------------------------------------------------------------------------------------------------------
|
+| `GenerateExec` | ✅ | Supports `explode`, `explode_outer`, `posexplode`,
`posexplode_outer` over arrays. `inline` / `stack` fall back. |
+| `ExpandExec` | ✅ |
|
+| `UnionExec` | ✅ |
|
+| `CoalesceExec` | ✅ |
|
## Writes
diff --git a/_sources/user-guide/latest/understanding-comet-plans.md.txt
b/_sources/user-guide/latest/understanding-comet-plans.md.txt
index ea32e37b8f..a600615b4b 100644
--- a/_sources/user-guide/latest/understanding-comet-plans.md.txt
+++ b/_sources/user-guide/latest/understanding-comet-plans.md.txt
@@ -282,22 +282,22 @@ by role. Names match what is shown in the plan output.
These are implemented in Rust and run in DataFusion. When several appear
consecutively in a plan, they execute as a single fused block.
-| Node | Spark equivalent
|
-| ------------------------------ |
----------------------------------------------- |
-| `CometProject` | `ProjectExec`
|
-| `CometFilter` | `FilterExec`
|
-| `CometSort` | `SortExec`
|
-| `CometLocalLimit` | `LocalLimitExec`
|
-| `CometGlobalLimit` | `GlobalLimitExec`
|
-| `CometExpand` | `ExpandExec`
|
-| `CometExplode` | `GenerateExec` (for `explode` and
`posexplode`) |
-| `CometHashAggregate` | `HashAggregateExec`,
`ObjectHashAggregateExec` |
-| `CometHashJoin` | `ShuffledHashJoinExec`
|
-| `CometBroadcastHashJoin` | `BroadcastHashJoinExec`
|
-| `CometBroadcastNestedLoopJoin` | `BroadcastNestedLoopJoinExec`
|
-| `CometSortMergeJoin` | `SortMergeJoinExec`
|
-| `CometWindow` | `WindowExec`
|
-| `CometTakeOrderedAndProject` | `TakeOrderedAndProjectExec`
|
+| Node | Spark equivalent
|
+| ------------------------------ |
---------------------------------------------------------------------------------
|
+| `CometProject` | `ProjectExec`
|
+| `CometFilter` | `FilterExec`
|
+| `CometSort` | `SortExec`
|
+| `CometLocalLimit` | `LocalLimitExec`
|
+| `CometGlobalLimit` | `GlobalLimitExec`
|
+| `CometExpand` | `ExpandExec`
|
+| `CometExplode` | `GenerateExec` (for `explode`,
`explode_outer`, `posexplode`, `posexplode_outer`) |
+| `CometHashAggregate` | `HashAggregateExec`,
`ObjectHashAggregateExec` |
+| `CometHashJoin` | `ShuffledHashJoinExec`
|
+| `CometBroadcastHashJoin` | `BroadcastHashJoinExec`
|
+| `CometBroadcastNestedLoopJoin` | `BroadcastNestedLoopJoinExec`
|
+| `CometSortMergeJoin` | `SortMergeJoinExec`
|
+| `CometWindow` | `WindowExec`
|
+| `CometTakeOrderedAndProject` | `TakeOrderedAndProjectExec`
|
### JVM-Side Operators
diff --git a/contributor-guide/expression-audits/generator_funcs.html
b/contributor-guide/expression-audits/generator_funcs.html
index 8a6ce75175..b4aab52d0a 100644
--- a/contributor-guide/expression-audits/generator_funcs.html
+++ b/contributor-guide/expression-audits/generator_funcs.html
@@ -561,7 +561,7 @@ under the License.
<section id="explode-outer">
<h2>explode_outer<a class="headerlink" href="#explode-outer" title="Link to
this heading">#</a></h2>
<ul class="simple">
-<li><p>Same <code class="docutils literal notranslate"><span
class="pre">CometExplodeExec</span></code> path as <code class="docutils
literal notranslate"><span class="pre">explode</span></code>, but the <code
class="docutils literal notranslate"><span class="pre">outer=true</span></code>
case is <code class="docutils literal notranslate"><span
class="pre">Incompatible</span></code> (empty arrays are not preserved as null
outputs) and falls back unless <code class="docutils literal notra [...]
+<li><p>Same <code class="docutils literal notranslate"><span
class="pre">CometExplodeExec</span></code> path as <code class="docutils
literal notranslate"><span class="pre">explode</span></code>. Compatible for
array inputs; empty and NULL arrays both emit one null-valued row per Spark’s
<code class="docutils literal notranslate"><span
class="pre">outer</span></code> semantics via the <code class="docutils literal
notranslate"><span class="pre">ListEmptyToNullExpr</span></code> planner b [...]
</ul>
</section>
<section id="posexplode">
@@ -573,7 +573,7 @@ under the License.
<section id="posexplode-outer">
<h2>posexplode_outer<a class="headerlink" href="#posexplode-outer" title="Link
to this heading">#</a></h2>
<ul class="simple">
-<li><p>Same <code class="docutils literal notranslate"><span
class="pre">CometExplodeExec</span></code> path as <code class="docutils
literal notranslate"><span class="pre">posexplode</span></code>, but the <code
class="docutils literal notranslate"><span class="pre">outer=true</span></code>
case is <code class="docutils literal notranslate"><span
class="pre">Incompatible</span></code> and falls back unless <code
class="docutils literal notranslate"><span class="pre">spark.comet.operator
[...]
+<li><p>Same <code class="docutils literal notranslate"><span
class="pre">CometExplodeExec</span></code> path as <code class="docutils
literal notranslate"><span class="pre">posexplode</span></code>. Compatible for
array inputs; empty and NULL arrays both emit one row with null <code
class="docutils literal notranslate"><span class="pre">pos</span></code> and
null <code class="docutils literal notranslate"><span
class="pre">value</span></code> per Spark’s <code class="docutils literal not
[...]
</ul>
</section>
</section>
diff --git a/searchindex.js b/searchindex.js
index c8f50a3146..339c4cc676 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"alltitles": {"!": [[54, "id1"]], "%": [[52, "id1"]], "&":
[[42, "id1"]], "*": [[52, "id2"]], "+": [[52, "id3"]], "-": [[52, "id4"]], "/":
[[52, "id5"]], "1. Format Your Code": [[39, "format-your-code"]], "1. Install
Comet": [[60, "install-comet"], [70, "install-comet"]], "1. Native Operators
(nativeExecs map)": [[27, "native-operators-nativeexecs-map"]], "2. Build and
Verify": [[39, "build-and-verify"]], "2. Clone Iceberg and Apply Diff": [[60,
"clone-iceberg-and-apply- [...]
\ No newline at end of file
+Search.setIndex({"alltitles": {"!": [[54, "id1"]], "%": [[52, "id1"]], "&":
[[42, "id1"]], "*": [[52, "id2"]], "+": [[52, "id3"]], "-": [[52, "id4"]], "/":
[[52, "id5"]], "1. Format Your Code": [[39, "format-your-code"]], "1. Install
Comet": [[60, "install-comet"], [70, "install-comet"]], "1. Native Operators
(nativeExecs map)": [[27, "native-operators-nativeexecs-map"]], "2. Build and
Verify": [[39, "build-and-verify"]], "2. Clone Iceberg and Apply Diff": [[60,
"clone-iceberg-and-apply- [...]
\ No newline at end of file
diff --git a/user-guide/latest/expressions.html
b/user-guide/latest/expressions.html
index af1e6ec2f4..2173266640 100644
--- a/user-guide/latest/expressions.html
+++ b/user-guide/latest/expressions.html
@@ -1891,9 +1891,9 @@ expressions. The following function families are
<strong>not currently planned</
<hr class="docutils" />
<section id="generator-funcs">
<h2>generator_funcs<a class="headerlink" href="#generator-funcs" title="Link
to this heading">#</a></h2>
-<p><code class="docutils literal notranslate"><span
class="pre">explode</span></code> and <code class="docutils literal
notranslate"><span class="pre">posexplode</span></code> are supported via <code
class="docutils literal notranslate"><span
class="pre">CometExplodeExec</span></code> (operator-level, not
-expression-level). The <code class="docutils literal notranslate"><span
class="pre">outer</span></code> variants are wired but marked <code
class="docutils literal notranslate"><span
class="pre">Incompatible</span></code>; they require
-<code class="docutils literal notranslate"><span
class="pre">spark.comet.exec.explode.enabled=true</span></code> and <code
class="docutils literal notranslate"><span
class="pre">allowIncompatible</span></code>.</p>
+<p><code class="docutils literal notranslate"><span
class="pre">explode</span></code>, <code class="docutils literal
notranslate"><span class="pre">explode_outer</span></code>, <code
class="docutils literal notranslate"><span
class="pre">posexplode</span></code>, and <code class="docutils literal
notranslate"><span class="pre">posexplode_outer</span></code> are supported via
+<code class="docutils literal notranslate"><span
class="pre">CometExplodeExec</span></code> (operator-level, not
expression-level). Enabled by default via
+<code class="docutils literal notranslate"><span
class="pre">spark.comet.exec.explode.enabled</span></code>.</p>
<div class="pst-scrollable-table-container"><table class="table">
<thead>
<tr class="row-odd"><th class="head"><p>Function</p></th>
@@ -1911,7 +1911,7 @@ expression-level). The <code class="docutils literal
notranslate"><span class="p
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span
class="pre">explode_outer</span></code></p></td>
<td><p>✅</p></td>
<td><p>—</p></td>
-<td><p>outer=true falls back (Incompatible) (<a class="reference internal"
href="../../contributor-guide/expression-audits/generator_funcs.html#explode-outer"><span
class="std std-ref">audit</span></a>)</p></td>
+<td><p>via <code class="docutils literal notranslate"><span
class="pre">CometExplodeExec</span></code> (<a class="reference internal"
href="../../contributor-guide/expression-audits/generator_funcs.html#explode-outer"><span
class="std std-ref">audit</span></a>)</p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span
class="pre">inline</span></code></p></td>
<td><p>🔜</p></td>
@@ -1931,7 +1931,7 @@ expression-level). The <code class="docutils literal
notranslate"><span class="p
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span
class="pre">posexplode_outer</span></code></p></td>
<td><p>✅</p></td>
<td><p>—</p></td>
-<td><p>outer=true falls back (Incompatible) (<a class="reference internal"
href="../../contributor-guide/expression-audits/generator_funcs.html#posexplode-outer"><span
class="std std-ref">audit</span></a>)</p></td>
+<td><p>via <code class="docutils literal notranslate"><span
class="pre">CometExplodeExec</span></code> (<a class="reference internal"
href="../../contributor-guide/expression-audits/generator_funcs.html#posexplode-outer"><span
class="std std-ref">audit</span></a>)</p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span
class="pre">stack</span></code></p></td>
<td><p>🔜</p></td>
diff --git a/user-guide/latest/operators.html b/user-guide/latest/operators.html
index f5280b5581..d801879405 100644
--- a/user-guide/latest/operators.html
+++ b/user-guide/latest/operators.html
@@ -985,7 +985,7 @@ omitted from the tables below and may be reconsidered based
on demand:</p>
<tbody>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span
class="pre">GenerateExec</span></code></p></td>
<td><p>✅</p></td>
-<td><p>Supports <code class="docutils literal notranslate"><span
class="pre">explode</span></code> and <code class="docutils literal
notranslate"><span class="pre">posexplode</span></code> over arrays. The <code
class="docutils literal notranslate"><span class="pre">_outer</span></code>
variants are incompatible, and <code class="docutils literal notranslate"><span
class="pre">inline</span></code> / <code class="docutils literal
notranslate"><span class="pre">stack</span></code> fall bac [...]
+<td><p>Supports <code class="docutils literal notranslate"><span
class="pre">explode</span></code>, <code class="docutils literal
notranslate"><span class="pre">explode_outer</span></code>, <code
class="docutils literal notranslate"><span
class="pre">posexplode</span></code>, <code class="docutils literal
notranslate"><span class="pre">posexplode_outer</span></code> over arrays.
<code class="docutils literal notranslate"><span
class="pre">inline</span></code> / <code class="docutils lite [...]
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span
class="pre">ExpandExec</span></code></p></td>
<td><p>✅</p></td>
diff --git a/user-guide/latest/understanding-comet-plans.html
b/user-guide/latest/understanding-comet-plans.html
index db3723bb6e..7c5825d559 100644
--- a/user-guide/latest/understanding-comet-plans.html
+++ b/user-guide/latest/understanding-comet-plans.html
@@ -1053,7 +1053,7 @@ consecutively in a plan, they execute as a single fused
block.</p>
<td><p><code class="docutils literal notranslate"><span
class="pre">ExpandExec</span></code></p></td>
</tr>
<tr class="row-even"><td><p><code class="docutils literal notranslate"><span
class="pre">CometExplode</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span
class="pre">GenerateExec</span></code> (for <code class="docutils literal
notranslate"><span class="pre">explode</span></code> and <code class="docutils
literal notranslate"><span class="pre">posexplode</span></code>)</p></td>
+<td><p><code class="docutils literal notranslate"><span
class="pre">GenerateExec</span></code> (for <code class="docutils literal
notranslate"><span class="pre">explode</span></code>, <code class="docutils
literal notranslate"><span class="pre">explode_outer</span></code>, <code
class="docutils literal notranslate"><span
class="pre">posexplode</span></code>, <code class="docutils literal
notranslate"><span class="pre">posexplode_outer</span></code>)</p></td>
</tr>
<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span
class="pre">CometHashAggregate</span></code></p></td>
<td><p><code class="docutils literal notranslate"><span
class="pre">HashAggregateExec</span></code>, <code class="docutils literal
notranslate"><span class="pre">ObjectHashAggregateExec</span></code></p></td>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]