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 188d278b7e Publish built docs triggered by 
5e302d997e9c6c4cff1238da641844f7f15b6c53
188d278b7e is described below

commit 188d278b7ee9c6801274e87ce8cc10bd2cef9bc1
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
AuthorDate: Fri Sep 11 00:12:44 2026 +0000

    Publish built docs triggered by 5e302d997e9c6c4cff1238da641844f7f15b6c53
---
 .../latest/compatibility/expressions/spark-3.4/string.md.txt      | 2 +-
 .../latest/compatibility/expressions/spark-3.4/struct.md.txt      | 4 ++--
 .../latest/compatibility/expressions/spark-3.5/string.md.txt      | 2 +-
 .../latest/compatibility/expressions/spark-3.5/struct.md.txt      | 4 ++--
 .../latest/compatibility/expressions/spark-4.0/string.md.txt      | 2 +-
 .../latest/compatibility/expressions/spark-4.0/struct.md.txt      | 4 ++--
 .../latest/compatibility/expressions/spark-4.1/string.md.txt      | 2 +-
 .../latest/compatibility/expressions/spark-4.1/struct.md.txt      | 4 ++--
 _sources/user-guide/latest/expressions.md.txt                     | 4 ++--
 searchindex.js                                                    | 2 +-
 user-guide/latest/compatibility/expressions/spark-3.4/string.html | 2 +-
 user-guide/latest/compatibility/expressions/spark-3.4/struct.html | 4 ++--
 user-guide/latest/compatibility/expressions/spark-3.5/string.html | 2 +-
 user-guide/latest/compatibility/expressions/spark-3.5/struct.html | 4 ++--
 user-guide/latest/compatibility/expressions/spark-4.0/string.html | 2 +-
 user-guide/latest/compatibility/expressions/spark-4.0/struct.html | 4 ++--
 user-guide/latest/compatibility/expressions/spark-4.1/string.html | 2 +-
 user-guide/latest/compatibility/expressions/spark-4.1/struct.html | 4 ++--
 user-guide/latest/expressions.html                                | 8 ++++----
 19 files changed, 31 insertions(+), 31 deletions(-)

diff --git 
a/_sources/user-guide/latest/compatibility/expressions/spark-3.4/string.md.txt 
b/_sources/user-guide/latest/compatibility/expressions/spark-3.4/string.md.txt
index 14fea4abe6..2dacf2b765 100644
--- 
a/_sources/user-guide/latest/compatibility/expressions/spark-3.4/string.md.txt
+++ 
b/_sources/user-guide/latest/compatibility/expressions/spark-3.4/string.md.txt
@@ -158,7 +158,7 @@ By default, `StringSplit` is evaluated in the JVM using 
Spark's own code-generat
 
 ## StringTranslate
 
-The following incompatibilities cause `StringTranslate` to fall back to Spark 
by default. Set `spark.comet.expression.StringTranslate.allowIncompatible=true` 
to enable Comet acceleration despite these differences.
+By default, `StringTranslate` is evaluated in the JVM using Spark's own 
code-generated implementation (run inside the Comet pipeline), which matches 
Spark exactly. Set 
`spark.comet.expression.StringTranslate.allowIncompatible=true` to opt into 
Comet's native implementation instead, which has the following differences from 
Spark:
 
 - DataFusion's translate iterates over Unicode graphemes (Spark uses code 
points) and substitutes U+0000 instead of treating it as a deletion sentinel
 
diff --git 
a/_sources/user-guide/latest/compatibility/expressions/spark-3.4/struct.md.txt 
b/_sources/user-guide/latest/compatibility/expressions/spark-3.4/struct.md.txt
index 9d545fadd0..869883c6db 100644
--- 
a/_sources/user-guide/latest/compatibility/expressions/spark-3.4/struct.md.txt
+++ 
b/_sources/user-guide/latest/compatibility/expressions/spark-3.4/struct.md.txt
@@ -35,11 +35,11 @@ By default, `JsonToStructs` is evaluated in the JVM using 
Spark's own code-gener
 
 ## StructsToCsv
 
-The following incompatibilities cause `StructsToCsv` to fall back to Spark by 
default. Set `spark.comet.expression.StructsToCsv.allowIncompatible=true` to 
enable Comet acceleration despite these differences.
+By default, `StructsToCsv` is evaluated in the JVM using Spark's own 
code-generated implementation (run inside the Comet pipeline), which matches 
Spark exactly. Set `spark.comet.expression.StructsToCsv.allowIncompatible=true` 
to opt into Comet's native implementation instead, which has the following 
differences from Spark:
 
 - Date, Timestamp, TimestampNTZ, and Binary data types may produce different 
results (https://github.com/apache/datafusion-comet/issues/3232)
 
-The following cases are not supported by Comet and always fall back to Spark, 
regardless of any `allowIncompatible` setting:
+The following cases have no native implementation and always run in the JVM 
using Spark's code-generated implementation (inside the Comet pipeline):
 
 - Complex types (arrays, maps, structs) in the schema are not supported
 
diff --git 
a/_sources/user-guide/latest/compatibility/expressions/spark-3.5/string.md.txt 
b/_sources/user-guide/latest/compatibility/expressions/spark-3.5/string.md.txt
index 14fea4abe6..2dacf2b765 100644
--- 
a/_sources/user-guide/latest/compatibility/expressions/spark-3.5/string.md.txt
+++ 
b/_sources/user-guide/latest/compatibility/expressions/spark-3.5/string.md.txt
@@ -158,7 +158,7 @@ By default, `StringSplit` is evaluated in the JVM using 
Spark's own code-generat
 
 ## StringTranslate
 
-The following incompatibilities cause `StringTranslate` to fall back to Spark 
by default. Set `spark.comet.expression.StringTranslate.allowIncompatible=true` 
to enable Comet acceleration despite these differences.
+By default, `StringTranslate` is evaluated in the JVM using Spark's own 
code-generated implementation (run inside the Comet pipeline), which matches 
Spark exactly. Set 
`spark.comet.expression.StringTranslate.allowIncompatible=true` to opt into 
Comet's native implementation instead, which has the following differences from 
Spark:
 
 - DataFusion's translate iterates over Unicode graphemes (Spark uses code 
points) and substitutes U+0000 instead of treating it as a deletion sentinel
 
diff --git 
a/_sources/user-guide/latest/compatibility/expressions/spark-3.5/struct.md.txt 
b/_sources/user-guide/latest/compatibility/expressions/spark-3.5/struct.md.txt
index 9d545fadd0..869883c6db 100644
--- 
a/_sources/user-guide/latest/compatibility/expressions/spark-3.5/struct.md.txt
+++ 
b/_sources/user-guide/latest/compatibility/expressions/spark-3.5/struct.md.txt
@@ -35,11 +35,11 @@ By default, `JsonToStructs` is evaluated in the JVM using 
Spark's own code-gener
 
 ## StructsToCsv
 
-The following incompatibilities cause `StructsToCsv` to fall back to Spark by 
default. Set `spark.comet.expression.StructsToCsv.allowIncompatible=true` to 
enable Comet acceleration despite these differences.
+By default, `StructsToCsv` is evaluated in the JVM using Spark's own 
code-generated implementation (run inside the Comet pipeline), which matches 
Spark exactly. Set `spark.comet.expression.StructsToCsv.allowIncompatible=true` 
to opt into Comet's native implementation instead, which has the following 
differences from Spark:
 
 - Date, Timestamp, TimestampNTZ, and Binary data types may produce different 
results (https://github.com/apache/datafusion-comet/issues/3232)
 
-The following cases are not supported by Comet and always fall back to Spark, 
regardless of any `allowIncompatible` setting:
+The following cases have no native implementation and always run in the JVM 
using Spark's code-generated implementation (inside the Comet pipeline):
 
 - Complex types (arrays, maps, structs) in the schema are not supported
 
diff --git 
a/_sources/user-guide/latest/compatibility/expressions/spark-4.0/string.md.txt 
b/_sources/user-guide/latest/compatibility/expressions/spark-4.0/string.md.txt
index ba40db398e..e52a0ec09d 100644
--- 
a/_sources/user-guide/latest/compatibility/expressions/spark-4.0/string.md.txt
+++ 
b/_sources/user-guide/latest/compatibility/expressions/spark-4.0/string.md.txt
@@ -166,7 +166,7 @@ By default, `StringSplit` is evaluated in the JVM using 
Spark's own code-generat
 
 ## StringTranslate
 
-The following incompatibilities cause `StringTranslate` to fall back to Spark 
by default. Set `spark.comet.expression.StringTranslate.allowIncompatible=true` 
to enable Comet acceleration despite these differences.
+By default, `StringTranslate` is evaluated in the JVM using Spark's own 
code-generated implementation (run inside the Comet pipeline), which matches 
Spark exactly. Set 
`spark.comet.expression.StringTranslate.allowIncompatible=true` to opt into 
Comet's native implementation instead, which has the following differences from 
Spark:
 
 - DataFusion's translate iterates over Unicode graphemes (Spark uses code 
points) and substitutes U+0000 instead of treating it as a deletion sentinel
 
diff --git 
a/_sources/user-guide/latest/compatibility/expressions/spark-4.0/struct.md.txt 
b/_sources/user-guide/latest/compatibility/expressions/spark-4.0/struct.md.txt
index 9d545fadd0..869883c6db 100644
--- 
a/_sources/user-guide/latest/compatibility/expressions/spark-4.0/struct.md.txt
+++ 
b/_sources/user-guide/latest/compatibility/expressions/spark-4.0/struct.md.txt
@@ -35,11 +35,11 @@ By default, `JsonToStructs` is evaluated in the JVM using 
Spark's own code-gener
 
 ## StructsToCsv
 
-The following incompatibilities cause `StructsToCsv` to fall back to Spark by 
default. Set `spark.comet.expression.StructsToCsv.allowIncompatible=true` to 
enable Comet acceleration despite these differences.
+By default, `StructsToCsv` is evaluated in the JVM using Spark's own 
code-generated implementation (run inside the Comet pipeline), which matches 
Spark exactly. Set `spark.comet.expression.StructsToCsv.allowIncompatible=true` 
to opt into Comet's native implementation instead, which has the following 
differences from Spark:
 
 - Date, Timestamp, TimestampNTZ, and Binary data types may produce different 
results (https://github.com/apache/datafusion-comet/issues/3232)
 
-The following cases are not supported by Comet and always fall back to Spark, 
regardless of any `allowIncompatible` setting:
+The following cases have no native implementation and always run in the JVM 
using Spark's code-generated implementation (inside the Comet pipeline):
 
 - Complex types (arrays, maps, structs) in the schema are not supported
 
diff --git 
a/_sources/user-guide/latest/compatibility/expressions/spark-4.1/string.md.txt 
b/_sources/user-guide/latest/compatibility/expressions/spark-4.1/string.md.txt
index ba40db398e..e52a0ec09d 100644
--- 
a/_sources/user-guide/latest/compatibility/expressions/spark-4.1/string.md.txt
+++ 
b/_sources/user-guide/latest/compatibility/expressions/spark-4.1/string.md.txt
@@ -166,7 +166,7 @@ By default, `StringSplit` is evaluated in the JVM using 
Spark's own code-generat
 
 ## StringTranslate
 
-The following incompatibilities cause `StringTranslate` to fall back to Spark 
by default. Set `spark.comet.expression.StringTranslate.allowIncompatible=true` 
to enable Comet acceleration despite these differences.
+By default, `StringTranslate` is evaluated in the JVM using Spark's own 
code-generated implementation (run inside the Comet pipeline), which matches 
Spark exactly. Set 
`spark.comet.expression.StringTranslate.allowIncompatible=true` to opt into 
Comet's native implementation instead, which has the following differences from 
Spark:
 
 - DataFusion's translate iterates over Unicode graphemes (Spark uses code 
points) and substitutes U+0000 instead of treating it as a deletion sentinel
 
diff --git 
a/_sources/user-guide/latest/compatibility/expressions/spark-4.1/struct.md.txt 
b/_sources/user-guide/latest/compatibility/expressions/spark-4.1/struct.md.txt
index 9d545fadd0..869883c6db 100644
--- 
a/_sources/user-guide/latest/compatibility/expressions/spark-4.1/struct.md.txt
+++ 
b/_sources/user-guide/latest/compatibility/expressions/spark-4.1/struct.md.txt
@@ -35,11 +35,11 @@ By default, `JsonToStructs` is evaluated in the JVM using 
Spark's own code-gener
 
 ## StructsToCsv
 
-The following incompatibilities cause `StructsToCsv` to fall back to Spark by 
default. Set `spark.comet.expression.StructsToCsv.allowIncompatible=true` to 
enable Comet acceleration despite these differences.
+By default, `StructsToCsv` is evaluated in the JVM using Spark's own 
code-generated implementation (run inside the Comet pipeline), which matches 
Spark exactly. Set `spark.comet.expression.StructsToCsv.allowIncompatible=true` 
to opt into Comet's native implementation instead, which has the following 
differences from Spark:
 
 - Date, Timestamp, TimestampNTZ, and Binary data types may produce different 
results (https://github.com/apache/datafusion-comet/issues/3232)
 
-The following cases are not supported by Comet and always fall back to Spark, 
regardless of any `allowIncompatible` setting:
+The following cases have no native implementation and always run in the JVM 
using Spark's code-generated implementation (inside the Comet pipeline):
 
 - Complex types (arrays, maps, structs) in the schema are not supported
 
diff --git a/_sources/user-guide/latest/expressions.md.txt 
b/_sources/user-guide/latest/expressions.md.txt
index 8f31a036ec..b1bd78f397 100644
--- a/_sources/user-guide/latest/expressions.md.txt
+++ b/_sources/user-guide/latest/expressions.md.txt
@@ -239,7 +239,7 @@ The type-name conversion functions (`bigint`, `binary`, 
`boolean`, `date`, `deci
 | --- | --- | --- | --- |
 | `from_csv` | ✅ | Codegen dispatch |  |
 | `schema_of_csv` | ✅ | Codegen dispatch |  |
-| `to_csv` | ✅ | Native |  |
+| `to_csv` | ✅ | Hybrid | Codegen dispatch by default; the native path is 
opt-in via allowIncompatible |
 
 ---
 
@@ -610,7 +610,7 @@ The type-name conversion functions (`bigint`, `binary`, 
`boolean`, `date`, `deci
 | `to_char` | ✅ | — |  |
 | `to_number` | ✅ | Codegen dispatch |  |
 | `to_varchar` | ✅ | — |  |
-| `translate` | ✅ | Native | DataFusion's `translate` iterates over Unicode 
graphemes (Spark uses code points) and substitutes U+0000 instead of treating 
it as a deletion sentinel, so the native path is opt-in via allowIncompatible |
+| `translate` | ✅ | Hybrid | Codegen dispatch by default: DataFusion's 
`translate` iterates over Unicode graphemes (Spark uses code points) and 
substitutes U+0000 instead of treating it as a deletion sentinel, so the native 
path is opt-in via allowIncompatible |
 | `trim` | ✅ | Native |  |
 | `try_to_binary` | ✅ | — | Runs natively (rewrites to 
`try_eval(to_binary(...))`) |
 | `try_to_number` | ✅ | Codegen dispatch | Routed through the JVM codegen 
dispatcher |
diff --git a/searchindex.js b/searchindex.js
index 9d4451a2a6..d81530f3b8 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/string.html 
b/user-guide/latest/compatibility/expressions/spark-3.4/string.html
index 48297d8d0f..403911a844 100644
--- a/user-guide/latest/compatibility/expressions/spark-3.4/string.html
+++ b/user-guide/latest/compatibility/expressions/spark-3.4/string.html
@@ -941,7 +941,7 @@ under the License.
 </section>
 <section id="stringtranslate">
 <h2>StringTranslate<a class="headerlink" href="#stringtranslate" title="Link 
to this heading">#</a></h2>
-<p>The following incompatibilities cause <code class="docutils literal 
notranslate"><span class="pre">StringTranslate</span></code> to fall back to 
Spark by default. Set <code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.StringTranslate.allowIncompatible=true</span></code>
 to enable Comet acceleration despite these differences.</p>
+<p>By default, <code class="docutils literal notranslate"><span 
class="pre">StringTranslate</span></code> is evaluated in the JVM using Spark’s 
own code-generated implementation (run inside the Comet pipeline), which 
matches Spark exactly. Set <code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.StringTranslate.allowIncompatible=true</span></code>
 to opt into Comet’s native implementation instead, which has the following 
differences from Spark:</p>
 <ul class="simple">
 <li><p>DataFusion’s translate iterates over Unicode graphemes (Spark uses code 
points) and substitutes U+0000 instead of treating it as a deletion 
sentinel</p></li>
 </ul>
diff --git a/user-guide/latest/compatibility/expressions/spark-3.4/struct.html 
b/user-guide/latest/compatibility/expressions/spark-3.4/struct.html
index 80178007e2..9cf6d05eaa 100644
--- a/user-guide/latest/compatibility/expressions/spark-3.4/struct.html
+++ b/user-guide/latest/compatibility/expressions/spark-3.4/struct.html
@@ -799,11 +799,11 @@ under the License.
 </section>
 <section id="structstocsv">
 <h2>StructsToCsv<a class="headerlink" href="#structstocsv" title="Link to this 
heading">#</a></h2>
-<p>The following incompatibilities cause <code class="docutils literal 
notranslate"><span class="pre">StructsToCsv</span></code> to fall back to Spark 
by default. Set <code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.StructsToCsv.allowIncompatible=true</span></code>
 to enable Comet acceleration despite these differences.</p>
+<p>By default, <code class="docutils literal notranslate"><span 
class="pre">StructsToCsv</span></code> is evaluated in the JVM using Spark’s 
own code-generated implementation (run inside the Comet pipeline), which 
matches Spark exactly. Set <code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.StructsToCsv.allowIncompatible=true</span></code>
 to opt into Comet’s native implementation instead, which has the following 
differences from Spark:</p>
 <ul class="simple">
 <li><p>Date, Timestamp, TimestampNTZ, and Binary data types may produce 
different results 
(https://github.com/apache/datafusion-comet/issues/3232)</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>
+<p>The following cases have no native implementation and always run in the JVM 
using Spark’s code-generated implementation (inside the Comet pipeline):</p>
 <ul class="simple">
 <li><p>Complex types (arrays, maps, structs) in the schema are not 
supported</p></li>
 </ul>
diff --git a/user-guide/latest/compatibility/expressions/spark-3.5/string.html 
b/user-guide/latest/compatibility/expressions/spark-3.5/string.html
index 037523dfce..5340516dca 100644
--- a/user-guide/latest/compatibility/expressions/spark-3.5/string.html
+++ b/user-guide/latest/compatibility/expressions/spark-3.5/string.html
@@ -941,7 +941,7 @@ under the License.
 </section>
 <section id="stringtranslate">
 <h2>StringTranslate<a class="headerlink" href="#stringtranslate" title="Link 
to this heading">#</a></h2>
-<p>The following incompatibilities cause <code class="docutils literal 
notranslate"><span class="pre">StringTranslate</span></code> to fall back to 
Spark by default. Set <code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.StringTranslate.allowIncompatible=true</span></code>
 to enable Comet acceleration despite these differences.</p>
+<p>By default, <code class="docutils literal notranslate"><span 
class="pre">StringTranslate</span></code> is evaluated in the JVM using Spark’s 
own code-generated implementation (run inside the Comet pipeline), which 
matches Spark exactly. Set <code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.StringTranslate.allowIncompatible=true</span></code>
 to opt into Comet’s native implementation instead, which has the following 
differences from Spark:</p>
 <ul class="simple">
 <li><p>DataFusion’s translate iterates over Unicode graphemes (Spark uses code 
points) and substitutes U+0000 instead of treating it as a deletion 
sentinel</p></li>
 </ul>
diff --git a/user-guide/latest/compatibility/expressions/spark-3.5/struct.html 
b/user-guide/latest/compatibility/expressions/spark-3.5/struct.html
index 5318d3458d..d662f32029 100644
--- a/user-guide/latest/compatibility/expressions/spark-3.5/struct.html
+++ b/user-guide/latest/compatibility/expressions/spark-3.5/struct.html
@@ -799,11 +799,11 @@ under the License.
 </section>
 <section id="structstocsv">
 <h2>StructsToCsv<a class="headerlink" href="#structstocsv" title="Link to this 
heading">#</a></h2>
-<p>The following incompatibilities cause <code class="docutils literal 
notranslate"><span class="pre">StructsToCsv</span></code> to fall back to Spark 
by default. Set <code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.StructsToCsv.allowIncompatible=true</span></code>
 to enable Comet acceleration despite these differences.</p>
+<p>By default, <code class="docutils literal notranslate"><span 
class="pre">StructsToCsv</span></code> is evaluated in the JVM using Spark’s 
own code-generated implementation (run inside the Comet pipeline), which 
matches Spark exactly. Set <code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.StructsToCsv.allowIncompatible=true</span></code>
 to opt into Comet’s native implementation instead, which has the following 
differences from Spark:</p>
 <ul class="simple">
 <li><p>Date, Timestamp, TimestampNTZ, and Binary data types may produce 
different results 
(https://github.com/apache/datafusion-comet/issues/3232)</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>
+<p>The following cases have no native implementation and always run in the JVM 
using Spark’s code-generated implementation (inside the Comet pipeline):</p>
 <ul class="simple">
 <li><p>Complex types (arrays, maps, structs) in the schema are not 
supported</p></li>
 </ul>
diff --git a/user-guide/latest/compatibility/expressions/spark-4.0/string.html 
b/user-guide/latest/compatibility/expressions/spark-4.0/string.html
index ab16c078d7..78c0c3847b 100644
--- a/user-guide/latest/compatibility/expressions/spark-4.0/string.html
+++ b/user-guide/latest/compatibility/expressions/spark-4.0/string.html
@@ -950,7 +950,7 @@ under the License.
 </section>
 <section id="stringtranslate">
 <h2>StringTranslate<a class="headerlink" href="#stringtranslate" title="Link 
to this heading">#</a></h2>
-<p>The following incompatibilities cause <code class="docutils literal 
notranslate"><span class="pre">StringTranslate</span></code> to fall back to 
Spark by default. Set <code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.StringTranslate.allowIncompatible=true</span></code>
 to enable Comet acceleration despite these differences.</p>
+<p>By default, <code class="docutils literal notranslate"><span 
class="pre">StringTranslate</span></code> is evaluated in the JVM using Spark’s 
own code-generated implementation (run inside the Comet pipeline), which 
matches Spark exactly. Set <code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.StringTranslate.allowIncompatible=true</span></code>
 to opt into Comet’s native implementation instead, which has the following 
differences from Spark:</p>
 <ul class="simple">
 <li><p>DataFusion’s translate iterates over Unicode graphemes (Spark uses code 
points) and substitutes U+0000 instead of treating it as a deletion 
sentinel</p></li>
 </ul>
diff --git a/user-guide/latest/compatibility/expressions/spark-4.0/struct.html 
b/user-guide/latest/compatibility/expressions/spark-4.0/struct.html
index 6b110a3edf..0e30979292 100644
--- a/user-guide/latest/compatibility/expressions/spark-4.0/struct.html
+++ b/user-guide/latest/compatibility/expressions/spark-4.0/struct.html
@@ -799,11 +799,11 @@ under the License.
 </section>
 <section id="structstocsv">
 <h2>StructsToCsv<a class="headerlink" href="#structstocsv" title="Link to this 
heading">#</a></h2>
-<p>The following incompatibilities cause <code class="docutils literal 
notranslate"><span class="pre">StructsToCsv</span></code> to fall back to Spark 
by default. Set <code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.StructsToCsv.allowIncompatible=true</span></code>
 to enable Comet acceleration despite these differences.</p>
+<p>By default, <code class="docutils literal notranslate"><span 
class="pre">StructsToCsv</span></code> is evaluated in the JVM using Spark’s 
own code-generated implementation (run inside the Comet pipeline), which 
matches Spark exactly. Set <code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.StructsToCsv.allowIncompatible=true</span></code>
 to opt into Comet’s native implementation instead, which has the following 
differences from Spark:</p>
 <ul class="simple">
 <li><p>Date, Timestamp, TimestampNTZ, and Binary data types may produce 
different results 
(https://github.com/apache/datafusion-comet/issues/3232)</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>
+<p>The following cases have no native implementation and always run in the JVM 
using Spark’s code-generated implementation (inside the Comet pipeline):</p>
 <ul class="simple">
 <li><p>Complex types (arrays, maps, structs) in the schema are not 
supported</p></li>
 </ul>
diff --git a/user-guide/latest/compatibility/expressions/spark-4.1/string.html 
b/user-guide/latest/compatibility/expressions/spark-4.1/string.html
index f1b9674c72..298d9697cb 100644
--- a/user-guide/latest/compatibility/expressions/spark-4.1/string.html
+++ b/user-guide/latest/compatibility/expressions/spark-4.1/string.html
@@ -950,7 +950,7 @@ under the License.
 </section>
 <section id="stringtranslate">
 <h2>StringTranslate<a class="headerlink" href="#stringtranslate" title="Link 
to this heading">#</a></h2>
-<p>The following incompatibilities cause <code class="docutils literal 
notranslate"><span class="pre">StringTranslate</span></code> to fall back to 
Spark by default. Set <code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.StringTranslate.allowIncompatible=true</span></code>
 to enable Comet acceleration despite these differences.</p>
+<p>By default, <code class="docutils literal notranslate"><span 
class="pre">StringTranslate</span></code> is evaluated in the JVM using Spark’s 
own code-generated implementation (run inside the Comet pipeline), which 
matches Spark exactly. Set <code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.StringTranslate.allowIncompatible=true</span></code>
 to opt into Comet’s native implementation instead, which has the following 
differences from Spark:</p>
 <ul class="simple">
 <li><p>DataFusion’s translate iterates over Unicode graphemes (Spark uses code 
points) and substitutes U+0000 instead of treating it as a deletion 
sentinel</p></li>
 </ul>
diff --git a/user-guide/latest/compatibility/expressions/spark-4.1/struct.html 
b/user-guide/latest/compatibility/expressions/spark-4.1/struct.html
index ae6bf81216..605053c7e5 100644
--- a/user-guide/latest/compatibility/expressions/spark-4.1/struct.html
+++ b/user-guide/latest/compatibility/expressions/spark-4.1/struct.html
@@ -799,11 +799,11 @@ under the License.
 </section>
 <section id="structstocsv">
 <h2>StructsToCsv<a class="headerlink" href="#structstocsv" title="Link to this 
heading">#</a></h2>
-<p>The following incompatibilities cause <code class="docutils literal 
notranslate"><span class="pre">StructsToCsv</span></code> to fall back to Spark 
by default. Set <code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.StructsToCsv.allowIncompatible=true</span></code>
 to enable Comet acceleration despite these differences.</p>
+<p>By default, <code class="docutils literal notranslate"><span 
class="pre">StructsToCsv</span></code> is evaluated in the JVM using Spark’s 
own code-generated implementation (run inside the Comet pipeline), which 
matches Spark exactly. Set <code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.StructsToCsv.allowIncompatible=true</span></code>
 to opt into Comet’s native implementation instead, which has the following 
differences from Spark:</p>
 <ul class="simple">
 <li><p>Date, Timestamp, TimestampNTZ, and Binary data types may produce 
different results 
(https://github.com/apache/datafusion-comet/issues/3232)</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>
+<p>The following cases have no native implementation and always run in the JVM 
using Spark’s code-generated implementation (inside the Comet pipeline):</p>
 <ul class="simple">
 <li><p>Complex types (arrays, maps, structs) in the schema are not 
supported</p></li>
 </ul>
diff --git a/user-guide/latest/expressions.html 
b/user-guide/latest/expressions.html
index d6af19be94..5bf98b41c0 100644
--- a/user-guide/latest/expressions.html
+++ b/user-guide/latest/expressions.html
@@ -1534,8 +1534,8 @@ expressions. The following function families are 
<strong>not currently planned</
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">to_csv</span></code></p></td>
 <td><p>✅</p></td>
-<td><p>Native</p></td>
-<td><p></p></td>
+<td><p>Hybrid</p></td>
+<td><p>Codegen dispatch by default; the native path is opt-in via 
allowIncompatible</p></td>
 </tr>
 </tbody>
 </table>
@@ -3182,8 +3182,8 @@ expressions. The following function families are 
<strong>not currently planned</
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">translate</span></code></p></td>
 <td><p>✅</p></td>
-<td><p>Native</p></td>
-<td><p>DataFusion’s <code class="docutils literal notranslate"><span 
class="pre">translate</span></code> iterates over Unicode graphemes (Spark uses 
code points) and substitutes U+0000 instead of treating it as a deletion 
sentinel, so the native path is opt-in via allowIncompatible</p></td>
+<td><p>Hybrid</p></td>
+<td><p>Codegen dispatch by default: DataFusion’s <code class="docutils literal 
notranslate"><span class="pre">translate</span></code> iterates over Unicode 
graphemes (Spark uses code points) and substitutes U+0000 instead of treating 
it as a deletion sentinel, so the native path is opt-in via 
allowIncompatible</p></td>
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">trim</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