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]

Reply via email to