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 bd9b0574cdb5ce91b4a2a8b24912110009855ae5
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
AuthorDate: Wed Aug 5 13:48:44 2026 +0000

    Publish built docs triggered by f262b13d2112a78da44d7acc8998b76bc86a6d43
---
 .../expression-audits/conversion_funcs.md.txt      |   1 +
 .../user-guide/latest/compatibility/scans.md.txt   |   4 +-
 _sources/user-guide/latest/configs.md.txt          |   3 +
 _sources/user-guide/latest/expressions.md.txt      |  11 +-
 .../expression-audits/conversion_funcs.html        |   1 +
 searchindex.js                                     |   2 +-
 user-guide/latest/compatibility/scans.html         |   4 +-
 user-guide/latest/configs.html                     | 316 +++++++++++----------
 user-guide/latest/expressions.html                 |  75 +++--
 9 files changed, 226 insertions(+), 191 deletions(-)

diff --git 
a/_sources/contributor-guide/expression-audits/conversion_funcs.md.txt 
b/_sources/contributor-guide/expression-audits/conversion_funcs.md.txt
index 64e01822dc..ea9a9bf737 100644
--- a/_sources/contributor-guide/expression-audits/conversion_funcs.md.txt
+++ b/_sources/contributor-guide/expression-audits/conversion_funcs.md.txt
@@ -37,5 +37,6 @@
 - Spark registers the type-name conversion functions (`bigint`, `binary`, 
`boolean`, `date`, `decimal`, `double`, `float`, `int`, `smallint`, `string`, 
`timestamp`, `tinyint`) as cast aliases. Each lowers to the same `Cast` node, 
so Comet handles it via the `cast` implementation with the same compatibility 
profile.
 - Performance (tuned 2026-07-14, PR 
[#4920](https://github.com/apache/datafusion-comet/pull/4920)): narrowing 
integer casts (`spark_cast_int_to_int`) map the values buffer in a single pass 
with Arrow `unary`/`try_unary` and carry the null buffer over untouched, 
replacing an element-by-element `Option`/`Result` iterator-collect. Up to 100x 
faster on narrowing casts. Benchmark: `benches/cast_numeric.rs`.
 - Performance (tuned 2026-07-15, PR 
[#4940](https://github.com/apache/datafusion-comet/pull/4940)): 
float/double-to-decimal casts (`cast_floating_point_to_decimal128`) now convert 
in a single vectorized `unary_opt` pass that maps out-of-range values (NaN, 
infinity, precision overflow) to null, replacing the per-element 
`Decimal128Builder` loop. ANSI raises via an O(1) null-count check plus a rare 
element-wise rescan. 15-36% faster with no regression on any shape. Benchmark: 
`benches/cast [...]
+- Performance (tuned 2026-07-15, PR 
[#4939](https://github.com/apache/datafusion-comet/pull/4939)): 
integer-to-decimal casts (`cast_int_to_decimal128_internal`) now convert in a 
single vectorized `unary_opt` pass that maps overflowing values to null, 
replacing the per-element `Decimal128Builder` loop. ANSI raises via an O(1) 
null-count check plus a rare element-wise rescan. 28-50% faster with no 
regression on any shape. Benchmark: `benches/cast_int_to_decimal.rs`.
 
 [Spark Expression Support]: ../../user-guide/latest/expressions.md
diff --git a/_sources/user-guide/latest/compatibility/scans.md.txt 
b/_sources/user-guide/latest/compatibility/scans.md.txt
index 00b3284e10..071b83ba5a 100644
--- a/_sources/user-guide/latest/compatibility/scans.md.txt
+++ b/_sources/user-guide/latest/compatibility/scans.md.txt
@@ -38,8 +38,8 @@ The following features are not supported and cause Comet to 
fall back to Spark:
 - Default values that are nested types (e.g., maps, arrays, structs). Literal 
default values are supported.
 - Spark's Datasource V2 API. When `spark.sql.sources.useV1SourceList` does not 
include `parquet`, Spark uses the
   V2 API for Parquet scans. Comet's Parquet scan only supports the V1 API.
-- Spark metadata columns (e.g., `_metadata.file_path`)
-- No support for row indexes
+- `_metadata.row_index`. Other `_metadata` columns (`file_path`, `file_name`, 
`file_size`, `file_block_start`,
+  `file_block_length`, `file_modification_time`) are supported.
 - No support for `input_file_name()`, `input_file_block_start()`, or 
`input_file_block_length()` SQL functions.
   Comet's Parquet scan does not use Spark's `FileScanRDD`, so these functions 
cannot populate their values.
 - No support for `ignoreMissingFiles` or `ignoreCorruptFiles` being set to 
`true`
diff --git a/_sources/user-guide/latest/configs.md.txt 
b/_sources/user-guide/latest/configs.md.txt
index add59e103a..2259315e9a 100644
--- a/_sources/user-guide/latest/configs.md.txt
+++ b/_sources/user-guide/latest/configs.md.txt
@@ -302,6 +302,7 @@ These settings can be used to determine which parts of the 
plan are accelerated
 | `spark.comet.expression.JsonObjectKeys.enabled` | Enable Comet acceleration 
for `JsonObjectKeys` | true |
 | `spark.comet.expression.JsonToStructs.enabled` | Enable Comet acceleration 
for `JsonToStructs` | true |
 | `spark.comet.expression.KnownFloatingPointNormalized.enabled` | Enable Comet 
acceleration for `KnownFloatingPointNormalized` | true |
+| `spark.comet.expression.KnownNotNull.enabled` | Enable Comet acceleration 
for `KnownNotNull` | true |
 | `spark.comet.expression.KnownNullable.enabled` | Enable Comet acceleration 
for `KnownNullable` | true |
 | `spark.comet.expression.LastDay.enabled` | Enable Comet acceleration for 
`LastDay` | true |
 | `spark.comet.expression.Least.enabled` | Enable Comet acceleration for 
`Least` | true |
@@ -415,6 +416,8 @@ These settings can be used to determine which parts of the 
plan are accelerated
 | `spark.comet.expression.Subtract.enabled` | Enable Comet acceleration for 
`Subtract` | true |
 | `spark.comet.expression.Tan.enabled` | Enable Comet acceleration for `Tan` | 
true |
 | `spark.comet.expression.Tanh.enabled` | Enable Comet acceleration for `Tanh` 
| true |
+| `spark.comet.expression.TimestampAdd.enabled` | Enable Comet acceleration 
for `TimestampAdd` | true |
+| `spark.comet.expression.TimestampDiff.enabled` | Enable Comet acceleration 
for `TimestampDiff` | true |
 | `spark.comet.expression.ToCharacter.enabled` | Enable Comet acceleration for 
`ToCharacter` | true |
 | `spark.comet.expression.ToDegrees.enabled` | Enable Comet acceleration for 
`ToDegrees` | true |
 | `spark.comet.expression.ToNumber.enabled` | Enable Comet acceleration for 
`ToNumber` | true |
diff --git a/_sources/user-guide/latest/expressions.md.txt 
b/_sources/user-guide/latest/expressions.md.txt
index b1aa0e5d39..c5d97bd3a5 100644
--- a/_sources/user-guide/latest/expressions.md.txt
+++ b/_sources/user-guide/latest/expressions.md.txt
@@ -254,15 +254,15 @@ The type-name conversion functions (`bigint`, `binary`, 
`boolean`, `date`, `deci
 | `current_time` | πŸ”œ | β€” | Blocked on Spark 4.1 TIME type support 
([#4288](https://github.com/apache/datafusion-comet/issues/4288)) |
 | `current_timestamp` | βœ… | β€” | Constant-folded to a literal before Comet sees 
the plan |
 | `current_timezone` | βœ… | β€” |  |
-| `date_add` | βœ… | Native |  |
-| `date_diff` | βœ… | Native |  |
+| `date_add` | βœ… | Native | The 2-argument form is native; the `date_add(UNIT, 
n, ts)` form (Spark 3.5+) parses to `timestampadd` and runs through codegen 
dispatch |
+| `date_diff` | βœ… | Native | The 2-argument form is native; the 
`date_diff(UNIT, start, end)` form (Spark 3.5+) parses to `timestampdiff` and 
runs through codegen dispatch |
 | `date_format` | βœ… | Hybrid |  |
 | `date_from_unix_date` | βœ… | Native |  |
 | `date_part` | βœ… | β€” |  |
 | `date_sub` | βœ… | Native |  |
 | `date_trunc` | βœ… | Hybrid |  |
-| `dateadd` | βœ… | Native |  |
-| `datediff` | βœ… | Native |  |
+| `dateadd` | βœ… | Native | The 2-argument form is native; the `dateadd(UNIT, 
n, ts)` form parses to `timestampadd` and runs through codegen dispatch |
+| `datediff` | βœ… | Native | The 2-argument form is native; the `datediff(UNIT, 
start, end)` form parses to `timestampdiff` and runs through codegen dispatch |
 | `datepart` | βœ… | β€” |  |
 | `day` | βœ… | Native |  |
 | `dayname` | βœ… | β€” | Abbreviated day name (Spark 4.0+) |
@@ -294,9 +294,12 @@ The type-name conversion functions (`bigint`, `binary`, 
`boolean`, `date`, `deci
 | `session_window` | πŸ”œ | β€” | Batch session-window grouping falls back 
(`UpdatingSessionsExec` is not yet native); tracked by 
[#4785](https://github.com/apache/datafusion-comet/issues/4785) |
 | `time_diff` | πŸ”œ | β€” | Spark 4.1 TIME type; tracked by 
[#4288](https://github.com/apache/datafusion-comet/issues/4288) |
 | `time_trunc` | πŸ”œ | β€” | Spark 4.1 TIME type; tracked by 
[#4288](https://github.com/apache/datafusion-comet/issues/4288) |
+| `timediff` | βœ… | β€” | Spark 4.0+ grammar alias that parses to 
`timestampdiff`; runs through codegen dispatch |
 | `timestamp_micros` | βœ… | Codegen dispatch |  |
 | `timestamp_millis` | βœ… | Codegen dispatch |  |
 | `timestamp_seconds` | βœ… | Native |  |
+| `timestampadd` | βœ… | β€” | Reached through the grammar rather than the 
function registry; runs through codegen dispatch |
+| `timestampdiff` | βœ… | β€” | Reached through the grammar rather than the 
function registry; runs through codegen dispatch |
 | `to_date` | βœ… | β€” | Rewrites to `Cast` (or `Cast(GetTimestamp)` with a 
format) before Comet sees the plan |
 | `to_time` | πŸ”œ | β€” | Spark 4.1 TIME type; tracked by 
[#4288](https://github.com/apache/datafusion-comet/issues/4288) |
 | `to_timestamp` | βœ… | β€” | Rewrites to `Cast` (or `GetTimestamp` with a 
format) before Comet sees the plan |
diff --git a/contributor-guide/expression-audits/conversion_funcs.html 
b/contributor-guide/expression-audits/conversion_funcs.html
index c5bfbbfb36..2faeb6ad29 100644
--- a/contributor-guide/expression-audits/conversion_funcs.html
+++ b/contributor-guide/expression-audits/conversion_funcs.html
@@ -572,6 +572,7 @@ under the License.
 <li><p>Spark registers the type-name conversion functions (<code 
class="docutils literal notranslate"><span class="pre">bigint</span></code>, 
<code class="docutils literal notranslate"><span 
class="pre">binary</span></code>, <code class="docutils literal 
notranslate"><span class="pre">boolean</span></code>, <code class="docutils 
literal notranslate"><span class="pre">date</span></code>, <code 
class="docutils literal notranslate"><span class="pre">decimal</span></code>, 
<code class="docut [...]
 <li><p>Performance (tuned 2026-07-14, PR <a class="reference external" 
href="https://github.com/apache/datafusion-comet/pull/4920";>#4920</a>): 
narrowing integer casts (<code class="docutils literal notranslate"><span 
class="pre">spark_cast_int_to_int</span></code>) map the values buffer in a 
single pass with Arrow <code class="docutils literal notranslate"><span 
class="pre">unary</span></code>/<code class="docutils literal 
notranslate"><span class="pre">try_unary</span></code> and carry  [...]
 <li><p>Performance (tuned 2026-07-15, PR <a class="reference external" 
href="https://github.com/apache/datafusion-comet/pull/4940";>#4940</a>): 
float/double-to-decimal casts (<code class="docutils literal notranslate"><span 
class="pre">cast_floating_point_to_decimal128</span></code>) now convert in a 
single vectorized <code class="docutils literal notranslate"><span 
class="pre">unary_opt</span></code> pass that maps out-of-range values (NaN, 
infinity, precision overflow) to null, replacin [...]
+<li><p>Performance (tuned 2026-07-15, PR <a class="reference external" 
href="https://github.com/apache/datafusion-comet/pull/4939";>#4939</a>): 
integer-to-decimal casts (<code class="docutils literal notranslate"><span 
class="pre">cast_int_to_decimal128_internal</span></code>) now convert in a 
single vectorized <code class="docutils literal notranslate"><span 
class="pre">unary_opt</span></code> pass that maps overflowing values to null, 
replacing the per-element <code class="docutils lite [...]
 </ul>
 </section>
 </section>
diff --git a/searchindex.js b/searchindex.js
index 339c4cc676..c6f209c080 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/compatibility/scans.html 
b/user-guide/latest/compatibility/scans.html
index 469360af00..4ccb162284 100644
--- a/user-guide/latest/compatibility/scans.html
+++ b/user-guide/latest/compatibility/scans.html
@@ -760,8 +760,8 @@ columns are always safe because they can only come from 
signed <code class="docu
 <li><p>Default values that are nested types (e.g., maps, arrays, structs). 
Literal default values are supported.</p></li>
 <li><p>Spark’s Datasource V2 API. When <code class="docutils literal 
notranslate"><span class="pre">spark.sql.sources.useV1SourceList</span></code> 
does not include <code class="docutils literal notranslate"><span 
class="pre">parquet</span></code>, Spark uses the
 V2 API for Parquet scans. Comet’s Parquet scan only supports the V1 
API.</p></li>
-<li><p>Spark metadata columns (e.g., <code class="docutils literal 
notranslate"><span class="pre">_metadata.file_path</span></code>)</p></li>
-<li><p>No support for row indexes</p></li>
+<li><p><code class="docutils literal notranslate"><span 
class="pre">_metadata.row_index</span></code>. Other <code class="docutils 
literal notranslate"><span class="pre">_metadata</span></code> columns (<code 
class="docutils literal notranslate"><span class="pre">file_path</span></code>, 
<code class="docutils literal notranslate"><span 
class="pre">file_name</span></code>, <code class="docutils literal 
notranslate"><span class="pre">file_size</span></code>, <code class="docutils 
literal n [...]
+<code class="docutils literal notranslate"><span 
class="pre">file_block_length</span></code>, <code class="docutils literal 
notranslate"><span class="pre">file_modification_time</span></code>) are 
supported.</p></li>
 <li><p>No support for <code class="docutils literal notranslate"><span 
class="pre">input_file_name()</span></code>, <code class="docutils literal 
notranslate"><span class="pre">input_file_block_start()</span></code>, or <code 
class="docutils literal notranslate"><span 
class="pre">input_file_block_length()</span></code> SQL functions.
 Comet’s Parquet scan does not use Spark’s <code class="docutils literal 
notranslate"><span class="pre">FileScanRDD</span></code>, so these functions 
cannot populate their values.</p></li>
 <li><p>No support for <code class="docutils literal notranslate"><span 
class="pre">ignoreMissingFiles</span></code> or <code class="docutils literal 
notranslate"><span class="pre">ignoreCorruptFiles</span></code> being set to 
<code class="docutils literal notranslate"><span 
class="pre">true</span></code></p></li>
diff --git a/user-guide/latest/configs.html b/user-guide/latest/configs.html
index a647ddbdf6..a8001daf00 100644
--- a/user-guide/latest/configs.html
+++ b/user-guide/latest/configs.html
@@ -1704,611 +1704,623 @@ under the License.
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span 
class="pre">KnownFloatingPointNormalized</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.KnownNullable.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.KnownNotNull.enabled</span></code></p></td>
+<td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">KnownNotNull</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.KnownNullable.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">KnownNullable</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.LastDay.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.LastDay.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">LastDay</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.Least.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Least.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">Least</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.Left.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Left.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">Left</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.Length.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Length.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">Length</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.LengthOfJsonArray.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.LengthOfJsonArray.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">LengthOfJsonArray</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.LessThan.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.LessThan.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">LessThan</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.LessThanOrEqual.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.LessThanOrEqual.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">LessThanOrEqual</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.Levenshtein.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Levenshtein.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">Levenshtein</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.Like.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Like.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">Like</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.Literal.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Literal.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">Literal</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.Log.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Log.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">Log</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.Log10.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Log10.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">Log10</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.Log1p.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Log1p.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">Log1p</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.Log2.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Log2.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">Log2</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.Logarithm.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Logarithm.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">Logarithm</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.Lower.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Lower.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">Lower</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.MakeDTInterval.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.MakeDTInterval.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">MakeDTInterval</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.MakeDate.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.MakeDate.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">MakeDate</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.MakeDecimal.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.MakeDecimal.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">MakeDecimal</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.MakeTimestamp.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.MakeTimestamp.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">MakeTimestamp</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.MakeYMInterval.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.MakeYMInterval.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">MakeYMInterval</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.MapConcat.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.MapConcat.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">MapConcat</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.MapEntries.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.MapEntries.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">MapEntries</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.MapFilter.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.MapFilter.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">MapFilter</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.MapFromArrays.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.MapFromArrays.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">MapFromArrays</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.MapFromEntries.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.MapFromEntries.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">MapFromEntries</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.MapKeys.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.MapKeys.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">MapKeys</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.MapSort.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.MapSort.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">MapSort</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.MapValues.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.MapValues.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">MapValues</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.MapZipWith.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.MapZipWith.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">MapZipWith</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.Mask.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Mask.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">Mask</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.Md5.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Md5.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">Md5</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.MicrosToTimestamp.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.MicrosToTimestamp.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">MicrosToTimestamp</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.MillisToTimestamp.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.MillisToTimestamp.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">MillisToTimestamp</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.Minute.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Minute.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">Minute</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.MonotonicallyIncreasingID.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.MonotonicallyIncreasingID.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">MonotonicallyIncreasingID</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.Month.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Month.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">Month</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.MonthsBetween.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.MonthsBetween.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">MonthsBetween</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.Multiply.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Multiply.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">Multiply</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.MultiplyDTInterval.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.MultiplyDTInterval.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">MultiplyDTInterval</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.Murmur3Hash.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Murmur3Hash.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">Murmur3Hash</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.NaNvl.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.NaNvl.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">NaNvl</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.NextDay.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.NextDay.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">NextDay</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.Not.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Not.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">Not</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.OctetLength.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.OctetLength.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">OctetLength</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.Or.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Or.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">Or</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.Overlay.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Overlay.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">Overlay</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.ParseUrl.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.ParseUrl.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">ParseUrl</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.Pi.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Pi.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">Pi</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.Pmod.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Pmod.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">Pmod</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.Pow.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Pow.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">Pow</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.PreciseTimestampConversion.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.PreciseTimestampConversion.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">PreciseTimestampConversion</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.Quarter.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Quarter.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">Quarter</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.RLike.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.RLike.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">RLike</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.Rand.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Rand.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">Rand</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.RandStr.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.RandStr.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">RandStr</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.Randn.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Randn.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">Randn</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.RegExpExtract.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.RegExpExtract.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">RegExpExtract</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.RegExpExtractAll.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.RegExpExtractAll.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">RegExpExtractAll</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.RegExpInStr.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.RegExpInStr.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">RegExpInStr</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.RegExpReplace.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.RegExpReplace.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">RegExpReplace</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.Remainder.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Remainder.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">Remainder</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.Reverse.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Reverse.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">Reverse</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.Right.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Right.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">Right</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.Rint.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Rint.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">Rint</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.Round.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Round.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">Round</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.ScalaUDF.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.ScalaUDF.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">ScalaUDF</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.ScalarSubquery.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.ScalarSubquery.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">ScalarSubquery</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.SchemaOfCsv.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.SchemaOfCsv.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">SchemaOfCsv</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.SchemaOfJson.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.SchemaOfJson.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">SchemaOfJson</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.Sec.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Sec.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">Sec</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.Second.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Second.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">Second</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.SecondsToTimestamp.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.SecondsToTimestamp.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">SecondsToTimestamp</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.Sequence.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Sequence.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">Sequence</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.Sha1.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Sha1.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">Sha1</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.Sha2.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Sha2.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">Sha2</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.ShiftLeft.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.ShiftLeft.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">ShiftLeft</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.ShiftRight.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.ShiftRight.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">ShiftRight</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.ShiftRightUnsigned.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.ShiftRightUnsigned.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">ShiftRightUnsigned</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.Shuffle.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Shuffle.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">Shuffle</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.Signum.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Signum.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">Signum</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.Sin.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Sin.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">Sin</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.Sinh.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Sinh.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">Sinh</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.Size.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Size.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">Size</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.Slice.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Slice.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">Slice</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.SortArray.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.SortArray.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">SortArray</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.SortOrder.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.SortOrder.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">SortOrder</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.SoundEx.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.SoundEx.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">SoundEx</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.SparkPartitionID.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.SparkPartitionID.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">SparkPartitionID</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.Sqrt.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Sqrt.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">Sqrt</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.StartsWith.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.StartsWith.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">StartsWith</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.StaticInvoke.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.StaticInvoke.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">StaticInvoke</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.StringInstr.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.StringInstr.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">StringInstr</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.StringLPad.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.StringLPad.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">StringLPad</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.StringLocate.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.StringLocate.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">StringLocate</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.StringRPad.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.StringRPad.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">StringRPad</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.StringRepeat.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.StringRepeat.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">StringRepeat</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.StringReplace.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.StringReplace.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">StringReplace</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.StringSpace.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.StringSpace.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">StringSpace</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.StringSplit.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.StringSplit.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">StringSplit</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.StringToMap.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.StringToMap.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">StringToMap</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.StringTranslate.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.StringTranslate.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">StringTranslate</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.StringTrim.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.StringTrim.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">StringTrim</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.StringTrimLeft.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.StringTrimLeft.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">StringTrimLeft</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.StringTrimRight.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.StringTrimRight.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">StringTrimRight</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.StructsToCsv.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.StructsToCsv.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">StructsToCsv</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.StructsToJson.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.StructsToJson.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">StructsToJson</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.Substring.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Substring.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">Substring</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.SubstringIndex.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.SubstringIndex.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">SubstringIndex</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.Subtract.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Subtract.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">Subtract</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.Tan.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Tan.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">Tan</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.Tanh.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Tanh.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">Tanh</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.ToCharacter.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.TimestampAdd.enabled</span></code></p></td>
+<td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">TimestampAdd</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.TimestampDiff.enabled</span></code></p></td>
+<td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">TimestampDiff</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.ToCharacter.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">ToCharacter</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.ToDegrees.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.ToDegrees.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">ToDegrees</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.ToNumber.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.ToNumber.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">ToNumber</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.ToPrettyString.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.ToPrettyString.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">ToPrettyString</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.ToRadians.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.ToRadians.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">ToRadians</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.ToUTCTimestamp.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.ToUTCTimestamp.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">ToUTCTimestamp</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.ToUnixTimestamp.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.ToUnixTimestamp.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">ToUnixTimestamp</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.TransformKeys.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.TransformKeys.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">TransformKeys</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.TransformValues.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.TransformValues.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">TransformValues</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.TruncDate.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.TruncDate.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">TruncDate</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.TruncTimestamp.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.TruncTimestamp.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">TruncTimestamp</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.TryEval.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.TryEval.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">TryEval</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.TryToNumber.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.TryToNumber.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">TryToNumber</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.UnBase64.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.UnBase64.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">UnBase64</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.UnaryMinus.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.UnaryMinus.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">UnaryMinus</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.UnaryPositive.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.UnaryPositive.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">UnaryPositive</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.Unhex.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Unhex.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">Unhex</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.UnixDate.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.UnixDate.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">UnixDate</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.UnixMicros.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.UnixMicros.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">UnixMicros</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.UnixMillis.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.UnixMillis.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">UnixMillis</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.UnixSeconds.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.UnixSeconds.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">UnixSeconds</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.UnixTimestamp.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.UnixTimestamp.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">UnixTimestamp</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.UnscaledValue.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.UnscaledValue.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">UnscaledValue</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.Upper.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Upper.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">Upper</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.Uuid.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Uuid.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">Uuid</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.WeekDay.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.WeekDay.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">WeekDay</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.WeekOfYear.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.WeekOfYear.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">WeekOfYear</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.WidthBucket.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.WidthBucket.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">WidthBucket</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.XPathBoolean.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.XPathBoolean.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">XPathBoolean</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.XPathDouble.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.XPathDouble.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">XPathDouble</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.XPathFloat.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.XPathFloat.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">XPathFloat</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.XPathInt.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.XPathInt.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">XPathInt</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.XPathList.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.XPathList.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">XPathList</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.XPathLong.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.XPathLong.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">XPathLong</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.XPathShort.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.XPathShort.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">XPathShort</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.XPathString.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.XPathString.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">XPathString</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.XxHash64.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.XxHash64.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">XxHash64</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.Year.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.Year.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">Year</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.ZipWith.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">spark.comet.expression.ZipWith.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal 
notranslate"><span class="pre">ZipWith</span></code></p></td>
 <td><p>true</p></td>
 </tr>
diff --git a/user-guide/latest/expressions.html 
b/user-guide/latest/expressions.html
index 2173266640..5f41296ecb 100644
--- a/user-guide/latest/expressions.html
+++ b/user-guide/latest/expressions.html
@@ -1557,12 +1557,12 @@ expressions. The following function families are 
<strong>not currently planned</
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">date_add</span></code></p></td>
 <td><p>βœ…</p></td>
 <td><p>Native</p></td>
-<td><p></p></td>
+<td><p>The 2-argument form is native; the <code class="docutils literal 
notranslate"><span class="pre">date_add(UNIT,</span> <span 
class="pre">n,</span> <span class="pre">ts)</span></code> form (Spark 3.5+) 
parses to <code class="docutils literal notranslate"><span 
class="pre">timestampadd</span></code> and runs through codegen 
dispatch</p></td>
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">date_diff</span></code></p></td>
 <td><p>βœ…</p></td>
 <td><p>Native</p></td>
-<td><p></p></td>
+<td><p>The 2-argument form is native; the <code class="docutils literal 
notranslate"><span class="pre">date_diff(UNIT,</span> <span 
class="pre">start,</span> <span class="pre">end)</span></code> form (Spark 
3.5+) parses to <code class="docutils literal notranslate"><span 
class="pre">timestampdiff</span></code> and runs through codegen 
dispatch</p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">date_format</span></code></p></td>
 <td><p>βœ…</p></td>
@@ -1592,12 +1592,12 @@ expressions. The following function families are 
<strong>not currently planned</
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">dateadd</span></code></p></td>
 <td><p>βœ…</p></td>
 <td><p>Native</p></td>
-<td><p></p></td>
+<td><p>The 2-argument form is native; the <code class="docutils literal 
notranslate"><span class="pre">dateadd(UNIT,</span> <span class="pre">n,</span> 
<span class="pre">ts)</span></code> form parses to <code class="docutils 
literal notranslate"><span class="pre">timestampadd</span></code> and runs 
through codegen dispatch</p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">datediff</span></code></p></td>
 <td><p>βœ…</p></td>
 <td><p>Native</p></td>
-<td><p></p></td>
+<td><p>The 2-argument form is native; the <code class="docutils literal 
notranslate"><span class="pre">datediff(UNIT,</span> <span 
class="pre">start,</span> <span class="pre">end)</span></code> form parses to 
<code class="docutils literal notranslate"><span 
class="pre">timestampdiff</span></code> and runs through codegen 
dispatch</p></td>
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">datepart</span></code></p></td>
 <td><p>βœ…</p></td>
@@ -1754,132 +1754,147 @@ expressions. The following function families are 
<strong>not currently planned</
 <td><p>β€”</p></td>
 <td><p>Spark 4.1 TIME type; tracked by <a class="reference external" 
href="https://github.com/apache/datafusion-comet/issues/4288";>#4288</a></p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">timestamp_micros</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">timediff</span></code></p></td>
+<td><p>βœ…</p></td>
+<td><p>β€”</p></td>
+<td><p>Spark 4.0+ grammar alias that parses to <code class="docutils literal 
notranslate"><span class="pre">timestampdiff</span></code>; runs through 
codegen dispatch</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">timestamp_micros</span></code></p></td>
 <td><p>βœ…</p></td>
 <td><p>Codegen dispatch</p></td>
 <td><p></p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">timestamp_millis</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">timestamp_millis</span></code></p></td>
 <td><p>βœ…</p></td>
 <td><p>Codegen dispatch</p></td>
 <td><p></p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">timestamp_seconds</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">timestamp_seconds</span></code></p></td>
 <td><p>βœ…</p></td>
 <td><p>Native</p></td>
 <td><p></p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">to_date</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">timestampadd</span></code></p></td>
+<td><p>βœ…</p></td>
+<td><p>β€”</p></td>
+<td><p>Reached through the grammar rather than the function registry; runs 
through codegen dispatch</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">timestampdiff</span></code></p></td>
+<td><p>βœ…</p></td>
+<td><p>β€”</p></td>
+<td><p>Reached through the grammar rather than the function registry; runs 
through codegen dispatch</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">to_date</span></code></p></td>
 <td><p>βœ…</p></td>
 <td><p>β€”</p></td>
 <td><p>Rewrites to <code class="docutils literal notranslate"><span 
class="pre">Cast</span></code> (or <code class="docutils literal 
notranslate"><span class="pre">Cast(GetTimestamp)</span></code> with a format) 
before Comet sees the plan</p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">to_time</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">to_time</span></code></p></td>
 <td><p>πŸ”œ</p></td>
 <td><p>β€”</p></td>
 <td><p>Spark 4.1 TIME type; tracked by <a class="reference external" 
href="https://github.com/apache/datafusion-comet/issues/4288";>#4288</a></p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">to_timestamp</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">to_timestamp</span></code></p></td>
 <td><p>βœ…</p></td>
 <td><p>β€”</p></td>
 <td><p>Rewrites to <code class="docutils literal notranslate"><span 
class="pre">Cast</span></code> (or <code class="docutils literal 
notranslate"><span class="pre">GetTimestamp</span></code> with a format) before 
Comet sees the plan</p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">to_timestamp_ltz</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">to_timestamp_ltz</span></code></p></td>
 <td><p>βœ…</p></td>
 <td><p>β€”</p></td>
 <td><p>Rewrites to <code class="docutils literal notranslate"><span 
class="pre">to_timestamp</span></code> (<code class="docutils literal 
notranslate"><span class="pre">TimestampType</span></code>)</p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">to_timestamp_ntz</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">to_timestamp_ntz</span></code></p></td>
 <td><p>βœ…</p></td>
 <td><p>β€”</p></td>
 <td><p>Rewrites to <code class="docutils literal notranslate"><span 
class="pre">to_timestamp</span></code> (<code class="docutils literal 
notranslate"><span class="pre">TimestampNTZType</span></code>)</p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">to_unix_timestamp</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">to_unix_timestamp</span></code></p></td>
 <td><p>βœ…</p></td>
 <td><p>Hybrid</p></td>
 <td><p></p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">to_utc_timestamp</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">to_utc_timestamp</span></code></p></td>
 <td><p>βœ…</p></td>
 <td><p>Hybrid</p></td>
 <td><p>Routes through the JVM codegen dispatcher by default (handles all 
timezone forms); the native path is opt-in via allowIncompatible (<a 
class="reference internal" href="#compatibility/expressions/datetime.md"><span 
class="xref myst">details</span></a>)</p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">trunc</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">trunc</span></code></p></td>
 <td><p>βœ…</p></td>
 <td><p>Hybrid</p></td>
 <td><p></p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">try_make_interval</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">try_make_interval</span></code></p></td>
 <td><p>πŸ”œ</p></td>
 <td><p>β€”</p></td>
 <td><p>Produces legacy CalendarInterval; tracked by <a class="reference 
external" 
href="https://github.com/apache/datafusion-comet/issues/5061";>#5061</a></p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">try_make_timestamp</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">try_make_timestamp</span></code></p></td>
 <td><p>βœ…</p></td>
 <td><p>β€”</p></td>
 <td><p></p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">try_to_date</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">try_to_date</span></code></p></td>
 <td><p>βœ…</p></td>
 <td><p>β€”</p></td>
 <td><p>Rewrites to <code class="docutils literal notranslate"><span 
class="pre">Cast</span></code>/<code class="docutils literal notranslate"><span 
class="pre">GetTimestamp</span></code> before Comet sees the plan; same support 
as <code class="docutils literal notranslate"><span 
class="pre">to_date</span></code></p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">try_to_time</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">try_to_time</span></code></p></td>
 <td><p>πŸ”œ</p></td>
 <td><p>β€”</p></td>
 <td><p>Spark 4.1 TIME type; tracked by <a class="reference external" 
href="https://github.com/apache/datafusion-comet/issues/4288";>#4288</a></p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">try_to_timestamp</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">try_to_timestamp</span></code></p></td>
 <td><p>βœ…</p></td>
 <td><p>β€”</p></td>
 <td><p>Rewrites to <code class="docutils literal notranslate"><span 
class="pre">Cast</span></code>/<code class="docutils literal notranslate"><span 
class="pre">GetTimestamp</span></code> before Comet sees the plan; same support 
as <code class="docutils literal notranslate"><span 
class="pre">to_timestamp</span></code></p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">unix_date</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">unix_date</span></code></p></td>
 <td><p>βœ…</p></td>
 <td><p>Native</p></td>
 <td><p></p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">unix_micros</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">unix_micros</span></code></p></td>
 <td><p>βœ…</p></td>
 <td><p>Codegen dispatch</p></td>
 <td><p></p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">unix_millis</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">unix_millis</span></code></p></td>
 <td><p>βœ…</p></td>
 <td><p>Codegen dispatch</p></td>
 <td><p></p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">unix_seconds</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">unix_seconds</span></code></p></td>
 <td><p>βœ…</p></td>
 <td><p>Codegen dispatch</p></td>
 <td><p></p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">unix_timestamp</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">unix_timestamp</span></code></p></td>
 <td><p>βœ…</p></td>
 <td><p>Native</p></td>
 <td><p></p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">weekday</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">weekday</span></code></p></td>
 <td><p>βœ…</p></td>
 <td><p>Native</p></td>
 <td><p></p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">weekofyear</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">weekofyear</span></code></p></td>
 <td><p>βœ…</p></td>
 <td><p>Native</p></td>
 <td><p></p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">window</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">window</span></code></p></td>
 <td><p>βœ…</p></td>
 <td><p>β€”</p></td>
 <td><p>Batch tumbling and sliding time-window grouping runs natively</p></td>
 </tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">window_time</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">window_time</span></code></p></td>
 <td><p>βœ…</p></td>
 <td><p>β€”</p></td>
 <td><p>Batch time-window grouping runs natively</p></td>
 </tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span 
class="pre">year</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span 
class="pre">year</span></code></p></td>
 <td><p>βœ…</p></td>
 <td><p>Native</p></td>
 <td><p></p></td>


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

Reply via email to