You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@datafusion.apache.org by gi...@apache.org on 2026/06/11 15:11:35 UTC

(datafusion-comet) branch asf-site updated (d9a8cb0cb2 -> 5f080d9925)

This is an automated email from the ASF dual-hosted git repository.

github-actions[bot] pushed a change to branch asf-site
in repository https://gitbox.apache.org/repos/asf/datafusion-comet.git


 discard d9a8cb0cb2 Publish built docs triggered by 09898dc7520b0fb6e73ba1e23545c8d09af3f6f2
     new 5f080d9925 Publish built docs triggered by c0c8c952934771dbbc04dfc8c745acadfde603ea

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (d9a8cb0cb2)
            \
             N -- N -- N   refs/heads/asf-site (5f080d9925)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 _sources/user-guide/latest/configs.md.txt     |  21 ++
 _sources/user-guide/latest/expressions.md.txt |  44 ++---
 searchindex.js                                |   2 +-
 user-guide/latest/configs.html                | 268 +++++++++++++++++---------
 user-guide/latest/expressions.html            |  88 ++++-----
 5 files changed, 264 insertions(+), 159 deletions(-)


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@datafusion.apache.org
For additional commands, e-mail: commits-help@datafusion.apache.org


(datafusion-comet) 01/01: Publish built docs triggered by c0c8c952934771dbbc04dfc8c745acadfde603ea

Posted by gi...@apache.org.
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 5f080d9925b82bc1ececa35e36087f85d5f42165
Author: github-actions[bot] <gi...@users.noreply.github.com>
AuthorDate: Thu Jun 11 15:08:20 2026 +0000

    Publish built docs triggered by c0c8c952934771dbbc04dfc8c745acadfde603ea
---
 _sources/user-guide/latest/configs.md.txt     |  33 +++
 _sources/user-guide/latest/expressions.md.txt |  79 ++++---
 searchindex.js                                |   2 +-
 user-guide/latest/configs.html                | 320 ++++++++++++++++++--------
 user-guide/latest/expressions.html            | 188 +++++++++++----
 5 files changed, 451 insertions(+), 171 deletions(-)

diff --git a/_sources/user-guide/latest/configs.md.txt b/_sources/user-guide/latest/configs.md.txt
index c74ccb5adf..371b3360b2 100644
--- a/_sources/user-guide/latest/configs.md.txt
+++ b/_sources/user-guide/latest/configs.md.txt
@@ -217,6 +217,7 @@ These settings can be used to determine which parts of the plan are accelerated
 | `spark.comet.expression.Atan2.enabled` | Enable Comet acceleration for `Atan2` | true |
 | `spark.comet.expression.Atanh.enabled` | Enable Comet acceleration for `Atanh` | true |
 | `spark.comet.expression.AttributeReference.enabled` | Enable Comet acceleration for `AttributeReference` | true |
+| `spark.comet.expression.BRound.enabled` | Enable Comet acceleration for `BRound` | true |
 | `spark.comet.expression.Bin.enabled` | Enable Comet acceleration for `Bin` | true |
 | `spark.comet.expression.BitLength.enabled` | Enable Comet acceleration for `BitLength` | true |
 | `spark.comet.expression.BitwiseAnd.enabled` | Enable Comet acceleration for `BitwiseAnd` | true |
@@ -236,6 +237,7 @@ These settings can be used to determine which parts of the plan are accelerated
 | `spark.comet.expression.Concat.enabled` | Enable Comet acceleration for `Concat` | true |
 | `spark.comet.expression.ConcatWs.enabled` | Enable Comet acceleration for `ConcatWs` | true |
 | `spark.comet.expression.Contains.enabled` | Enable Comet acceleration for `Contains` | true |
+| `spark.comet.expression.Conv.enabled` | Enable Comet acceleration for `Conv` | true |
 | `spark.comet.expression.ConvertTimezone.enabled` | Enable Comet acceleration for `ConvertTimezone` | true |
 | `spark.comet.expression.Cos.enabled` | Enable Comet acceleration for `Cos` | true |
 | `spark.comet.expression.Cosh.enabled` | Enable Comet acceleration for `Cosh` | true |
@@ -244,6 +246,7 @@ These settings can be used to determine which parts of the plan are accelerated
 | `spark.comet.expression.CreateArray.enabled` | Enable Comet acceleration for `CreateArray` | true |
 | `spark.comet.expression.CreateNamedStruct.enabled` | Enable Comet acceleration for `CreateNamedStruct` | true |
 | `spark.comet.expression.Csc.enabled` | Enable Comet acceleration for `Csc` | true |
+| `spark.comet.expression.CsvToStructs.enabled` | Enable Comet acceleration for `CsvToStructs` | true |
 | `spark.comet.expression.DateAdd.enabled` | Enable Comet acceleration for `DateAdd` | true |
 | `spark.comet.expression.DateDiff.enabled` | Enable Comet acceleration for `DateDiff` | true |
 | `spark.comet.expression.DateFormatClass.enabled` | Enable Comet acceleration for `DateFormatClass` | true |
@@ -255,14 +258,18 @@ These settings can be used to determine which parts of the plan are accelerated
 | `spark.comet.expression.Days.enabled` | Enable Comet acceleration for `Days` | true |
 | `spark.comet.expression.Divide.enabled` | Enable Comet acceleration for `Divide` | true |
 | `spark.comet.expression.ElementAt.enabled` | Enable Comet acceleration for `ElementAt` | true |
+| `spark.comet.expression.Elt.enabled` | Enable Comet acceleration for `Elt` | true |
 | `spark.comet.expression.EndsWith.enabled` | Enable Comet acceleration for `EndsWith` | true |
 | `spark.comet.expression.EqualNullSafe.enabled` | Enable Comet acceleration for `EqualNullSafe` | true |
 | `spark.comet.expression.EqualTo.enabled` | Enable Comet acceleration for `EqualTo` | true |
 | `spark.comet.expression.Exp.enabled` | Enable Comet acceleration for `Exp` | true |
 | `spark.comet.expression.Expm1.enabled` | Enable Comet acceleration for `Expm1` | true |
 | `spark.comet.expression.Factorial.enabled` | Enable Comet acceleration for `Factorial` | true |
+| `spark.comet.expression.FindInSet.enabled` | Enable Comet acceleration for `FindInSet` | true |
 | `spark.comet.expression.Flatten.enabled` | Enable Comet acceleration for `Flatten` | true |
 | `spark.comet.expression.Floor.enabled` | Enable Comet acceleration for `Floor` | true |
+| `spark.comet.expression.FormatNumber.enabled` | Enable Comet acceleration for `FormatNumber` | true |
+| `spark.comet.expression.FormatString.enabled` | Enable Comet acceleration for `FormatString` | true |
 | `spark.comet.expression.FromUTCTimestamp.enabled` | Enable Comet acceleration for `FromUTCTimestamp` | true |
 | `spark.comet.expression.FromUnixTime.enabled` | Enable Comet acceleration for `FromUnixTime` | true |
 | `spark.comet.expression.GetArrayItem.enabled` | Enable Comet acceleration for `GetArrayItem` | true |
@@ -277,6 +284,7 @@ These settings can be used to determine which parts of the plan are accelerated
 | `spark.comet.expression.Hex.enabled` | Enable Comet acceleration for `Hex` | true |
 | `spark.comet.expression.Hour.enabled` | Enable Comet acceleration for `Hour` | true |
 | `spark.comet.expression.Hours.enabled` | Enable Comet acceleration for `Hours` | true |
+| `spark.comet.expression.Hypot.enabled` | Enable Comet acceleration for `Hypot` | true |
 | `spark.comet.expression.If.enabled` | Enable Comet acceleration for `If` | true |
 | `spark.comet.expression.In.enabled` | Enable Comet acceleration for `In` | true |
 | `spark.comet.expression.InSet.enabled` | Enable Comet acceleration for `InSet` | true |
@@ -285,6 +293,7 @@ These settings can be used to determine which parts of the plan are accelerated
 | `spark.comet.expression.IsNaN.enabled` | Enable Comet acceleration for `IsNaN` | true |
 | `spark.comet.expression.IsNotNull.enabled` | Enable Comet acceleration for `IsNotNull` | true |
 | `spark.comet.expression.IsNull.enabled` | Enable Comet acceleration for `IsNull` | true |
+| `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.LastDay.enabled` | Enable Comet acceleration for `LastDay` | true |
@@ -294,16 +303,19 @@ These settings can be used to determine which parts of the plan are accelerated
 | `spark.comet.expression.LengthOfJsonArray.enabled` | Enable Comet acceleration for `LengthOfJsonArray` | true |
 | `spark.comet.expression.LessThan.enabled` | Enable Comet acceleration for `LessThan` | true |
 | `spark.comet.expression.LessThanOrEqual.enabled` | Enable Comet acceleration for `LessThanOrEqual` | true |
+| `spark.comet.expression.Levenshtein.enabled` | Enable Comet acceleration for `Levenshtein` | true |
 | `spark.comet.expression.Like.enabled` | Enable Comet acceleration for `Like` | true |
 | `spark.comet.expression.Literal.enabled` | Enable Comet acceleration for `Literal` | true |
 | `spark.comet.expression.Log.enabled` | Enable Comet acceleration for `Log` | true |
 | `spark.comet.expression.Log10.enabled` | Enable Comet acceleration for `Log10` | true |
+| `spark.comet.expression.Log1p.enabled` | Enable Comet acceleration for `Log1p` | true |
 | `spark.comet.expression.Log2.enabled` | Enable Comet acceleration for `Log2` | true |
 | `spark.comet.expression.Logarithm.enabled` | Enable Comet acceleration for `Logarithm` | true |
 | `spark.comet.expression.Lower.enabled` | Enable Comet acceleration for `Lower` | true |
 | `spark.comet.expression.MakeDate.enabled` | Enable Comet acceleration for `MakeDate` | true |
 | `spark.comet.expression.MakeDecimal.enabled` | Enable Comet acceleration for `MakeDecimal` | true |
 | `spark.comet.expression.MakeTimestamp.enabled` | Enable Comet acceleration for `MakeTimestamp` | true |
+| `spark.comet.expression.MapConcat.enabled` | Enable Comet acceleration for `MapConcat` | true |
 | `spark.comet.expression.MapContainsKey.enabled` | Enable Comet acceleration for `MapContainsKey` | true |
 | `spark.comet.expression.MapEntries.enabled` | Enable Comet acceleration for `MapEntries` | true |
 | `spark.comet.expression.MapFromArrays.enabled` | Enable Comet acceleration for `MapFromArrays` | true |
@@ -319,12 +331,15 @@ These settings can be used to determine which parts of the plan are accelerated
 | `spark.comet.expression.MonthsBetween.enabled` | Enable Comet acceleration for `MonthsBetween` | true |
 | `spark.comet.expression.Multiply.enabled` | Enable Comet acceleration for `Multiply` | true |
 | `spark.comet.expression.Murmur3Hash.enabled` | Enable Comet acceleration for `Murmur3Hash` | true |
+| `spark.comet.expression.NaNvl.enabled` | Enable Comet acceleration for `NaNvl` | true |
 | `spark.comet.expression.NextDay.enabled` | Enable Comet acceleration for `NextDay` | true |
 | `spark.comet.expression.Not.enabled` | Enable Comet acceleration for `Not` | true |
 | `spark.comet.expression.OctetLength.enabled` | Enable Comet acceleration for `OctetLength` | true |
 | `spark.comet.expression.Or.enabled` | Enable Comet acceleration for `Or` | true |
+| `spark.comet.expression.Overlay.enabled` | Enable Comet acceleration for `Overlay` | true |
 | `spark.comet.expression.ParseUrl.enabled` | Enable Comet acceleration for `ParseUrl` | true |
 | `spark.comet.expression.Pi.enabled` | Enable Comet acceleration for `Pi` | true |
+| `spark.comet.expression.Pmod.enabled` | Enable Comet acceleration for `Pmod` | true |
 | `spark.comet.expression.Pow.enabled` | Enable Comet acceleration for `Pow` | true |
 | `spark.comet.expression.Quarter.enabled` | Enable Comet acceleration for `Quarter` | true |
 | `spark.comet.expression.RLike.enabled` | Enable Comet acceleration for `RLike` | true |
@@ -341,9 +356,12 @@ These settings can be used to determine which parts of the plan are accelerated
 | `spark.comet.expression.Round.enabled` | Enable Comet acceleration for `Round` | true |
 | `spark.comet.expression.ScalaUDF.enabled` | Enable Comet acceleration for `ScalaUDF` | true |
 | `spark.comet.expression.ScalarSubquery.enabled` | Enable Comet acceleration for `ScalarSubquery` | true |
+| `spark.comet.expression.SchemaOfCsv.enabled` | Enable Comet acceleration for `SchemaOfCsv` | true |
+| `spark.comet.expression.SchemaOfJson.enabled` | Enable Comet acceleration for `SchemaOfJson` | true |
 | `spark.comet.expression.Sec.enabled` | Enable Comet acceleration for `Sec` | true |
 | `spark.comet.expression.Second.enabled` | Enable Comet acceleration for `Second` | true |
 | `spark.comet.expression.SecondsToTimestamp.enabled` | Enable Comet acceleration for `SecondsToTimestamp` | true |
+| `spark.comet.expression.Sequence.enabled` | Enable Comet acceleration for `Sequence` | true |
 | `spark.comet.expression.Sha1.enabled` | Enable Comet acceleration for `Sha1` | true |
 | `spark.comet.expression.Sha2.enabled` | Enable Comet acceleration for `Sha2` | true |
 | `spark.comet.expression.ShiftLeft.enabled` | Enable Comet acceleration for `ShiftLeft` | true |
@@ -356,12 +374,14 @@ These settings can be used to determine which parts of the plan are accelerated
 | `spark.comet.expression.Slice.enabled` | Enable Comet acceleration for `Slice` | true |
 | `spark.comet.expression.SortArray.enabled` | Enable Comet acceleration for `SortArray` | true |
 | `spark.comet.expression.SortOrder.enabled` | Enable Comet acceleration for `SortOrder` | true |
+| `spark.comet.expression.SoundEx.enabled` | Enable Comet acceleration for `SoundEx` | true |
 | `spark.comet.expression.SparkPartitionID.enabled` | Enable Comet acceleration for `SparkPartitionID` | true |
 | `spark.comet.expression.Sqrt.enabled` | Enable Comet acceleration for `Sqrt` | true |
 | `spark.comet.expression.StartsWith.enabled` | Enable Comet acceleration for `StartsWith` | true |
 | `spark.comet.expression.StaticInvoke.enabled` | Enable Comet acceleration for `StaticInvoke` | true |
 | `spark.comet.expression.StringInstr.enabled` | Enable Comet acceleration for `StringInstr` | true |
 | `spark.comet.expression.StringLPad.enabled` | Enable Comet acceleration for `StringLPad` | true |
+| `spark.comet.expression.StringLocate.enabled` | Enable Comet acceleration for `StringLocate` | true |
 | `spark.comet.expression.StringRPad.enabled` | Enable Comet acceleration for `StringRPad` | true |
 | `spark.comet.expression.StringRepeat.enabled` | Enable Comet acceleration for `StringRepeat` | true |
 | `spark.comet.expression.StringReplace.enabled` | Enable Comet acceleration for `StringReplace` | true |
@@ -380,14 +400,18 @@ 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.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 |
 | `spark.comet.expression.ToRadians.enabled` | Enable Comet acceleration for `ToRadians` | true |
 | `spark.comet.expression.ToUTCTimestamp.enabled` | Enable Comet acceleration for `ToUTCTimestamp` | true |
 | `spark.comet.expression.ToUnixTimestamp.enabled` | Enable Comet acceleration for `ToUnixTimestamp` | true |
 | `spark.comet.expression.TruncDate.enabled` | Enable Comet acceleration for `TruncDate` | true |
 | `spark.comet.expression.TruncTimestamp.enabled` | Enable Comet acceleration for `TruncTimestamp` | true |
 | `spark.comet.expression.TryEval.enabled` | Enable Comet acceleration for `TryEval` | true |
+| `spark.comet.expression.UnBase64.enabled` | Enable Comet acceleration for `UnBase64` | true |
 | `spark.comet.expression.UnaryMinus.enabled` | Enable Comet acceleration for `UnaryMinus` | true |
+| `spark.comet.expression.UnaryPositive.enabled` | Enable Comet acceleration for `UnaryPositive` | true |
 | `spark.comet.expression.Unhex.enabled` | Enable Comet acceleration for `Unhex` | true |
 | `spark.comet.expression.UnixDate.enabled` | Enable Comet acceleration for `UnixDate` | true |
 | `spark.comet.expression.UnixMicros.enabled` | Enable Comet acceleration for `UnixMicros` | true |
@@ -398,6 +422,15 @@ These settings can be used to determine which parts of the plan are accelerated
 | `spark.comet.expression.Upper.enabled` | Enable Comet acceleration for `Upper` | true |
 | `spark.comet.expression.WeekDay.enabled` | Enable Comet acceleration for `WeekDay` | true |
 | `spark.comet.expression.WeekOfYear.enabled` | Enable Comet acceleration for `WeekOfYear` | true |
+| `spark.comet.expression.WidthBucket.enabled` | Enable Comet acceleration for `WidthBucket` | true |
+| `spark.comet.expression.XPathBoolean.enabled` | Enable Comet acceleration for `XPathBoolean` | true |
+| `spark.comet.expression.XPathDouble.enabled` | Enable Comet acceleration for `XPathDouble` | true |
+| `spark.comet.expression.XPathFloat.enabled` | Enable Comet acceleration for `XPathFloat` | true |
+| `spark.comet.expression.XPathInt.enabled` | Enable Comet acceleration for `XPathInt` | true |
+| `spark.comet.expression.XPathList.enabled` | Enable Comet acceleration for `XPathList` | true |
+| `spark.comet.expression.XPathLong.enabled` | Enable Comet acceleration for `XPathLong` | true |
+| `spark.comet.expression.XPathShort.enabled` | Enable Comet acceleration for `XPathShort` | true |
+| `spark.comet.expression.XPathString.enabled` | Enable Comet acceleration for `XPathString` | true |
 | `spark.comet.expression.XxHash64.enabled` | Enable Comet acceleration for `XxHash64` | true |
 | `spark.comet.expression.Year.enabled` | Enable Comet acceleration for `Year` | true |
 <!-- prettier-ignore-end -->
diff --git a/_sources/user-guide/latest/expressions.md.txt b/_sources/user-guide/latest/expressions.md.txt
index 86e70cb330..a0b587d05c 100644
--- a/_sources/user-guide/latest/expressions.md.txt
+++ b/_sources/user-guide/latest/expressions.md.txt
@@ -52,11 +52,9 @@ Comet focuses acceleration on mainstream relational, string, datetime, math, and
 expressions. The following function families are **not currently planned** for native acceleration (they are not on the 1.0 roadmap): specialized functionality with narrow real-world analytics use and high implementation cost. They fall back to Spark and may be reconsidered based on demand:
 
 - **Probabilistic sketches and approximate top-k** (`kll_sketch_*`, `hll_*`, `theta_*`, `count_min_sketch`, `bitmap_*`, `approx_top_k*`): specialized data structures with exact-correctness traps.
-- **XML / XPath** (`from_xml`, `to_xml`, `schema_of_xml`, `xpath*`): legacy text format, rare in accelerated workloads.
 - **Geospatial** (`st_*`): brand-new Spark 4.1 functionality, specialized.
 - **Avro / Protobuf codecs** (`from_avro`, `to_avro`, `from_protobuf`, `to_protobuf`, `schema_of_avro`): format conversion belongs at the IO layer, not expression evaluation.
 - **JVM reflection** (`java_method`, `reflect`): niche, and they invoke arbitrary JVM methods (a security concern).
-- **CSV functions** (`from_csv`, `to_csv`, `schema_of_csv`): row-level CSV parsing and formatting in expressions is niche and better handled at the data source layer.
 - **UTF-8 validation** (`is_valid_utf8`, `make_valid_utf8`, `validate_utf8`, `try_validate_utf8`): niche Spark 4.x string-validation helpers.
 - **File metadata** (`input_file_name`, `input_file_block_start`, `input_file_block_length`): require scan-internal per-row file information, outside the expression layer.
 - **Miscellaneous niche** (`histogram_numeric`, `version`, `sentences`, `quote`): low-value or specialized functions with little benefit from native acceleration.
@@ -155,7 +153,7 @@ The tables below list every Spark built-in expression with its current status.
 | `element_at` | ✅ | MapType input falls back |
 | `flatten` | ✅ | Binary/struct/map elements fall back |
 | `get` | ✅ |  |
-| `sequence` | 🔜 | [#4538](https://github.com/apache/datafusion-comet/issues/4538) |
+| `sequence` | ✅ |  |
 | `shuffle` | 🔜 | Random array shuffle |
 | `slice` | ✅ | Native ([#4149](https://github.com/apache/datafusion-comet/issues/4149)) |
 | `sort_array` | ✅ | Nested struct/null arrays fall back |
@@ -200,7 +198,7 @@ The tables below list every Spark built-in expression with its current status.
 | `coalesce` | ✅ |  |
 | `if` | ✅ |  |
 | `ifnull` | ✅ |  |
-| `nanvl` | 🔜 | [#4538](https://github.com/apache/datafusion-comet/issues/4538) |
+| `nanvl` | ✅ |  |
 | `nullif` | ✅ |  |
 | `nullifzero` | ✅ | Lowers to `if`/`=` (Spark 4.0+) |
 | `nvl` | ✅ |  |
@@ -220,6 +218,16 @@ The type-name conversion functions (`bigint`, `binary`, `boolean`, `date`, `deci
 
 ---
 
+## csv_funcs
+
+| Function | Status | Notes |
+| --- | --- | --- |
+| `from_csv` | ✅ |  |
+| `schema_of_csv` | ✅ |  |
+| `to_csv` | ✅ |  |
+
+---
+
 ## datetime_funcs
 
 | Function | Status | Notes |
@@ -339,9 +347,9 @@ expression-level). The `outer` variants are wired but marked `Incompatible`; the
 | `from_json` | ✅ | Falls back by default; opt-in via allowIncompatible ([audit](../../contributor-guide/expression-audits/json_funcs.md#from_json)) |
 | `get_json_object` | ✅ | Some inputs need allowIncompatible ([audit](../../contributor-guide/expression-audits/json_funcs.md#get_json_object)) |
 | `json_array_length` | ✅ | Single-quoted/trailing JSON needs allowIncompatible ([audit](../../contributor-guide/expression-audits/json_funcs.md#json_array_length)) |
-| `json_object_keys` | 🔜 | [#3161](https://github.com/apache/datafusion-comet/issues/3161) |
+| `json_object_keys` | ✅ |  |
 | `json_tuple` | 🔜 | [#3160](https://github.com/apache/datafusion-comet/issues/3160) |
-| `schema_of_json` | 🔜 | [#3163](https://github.com/apache/datafusion-comet/issues/3163) |
+| `schema_of_json` | ✅ |  |
 | `to_json` | ✅ | Options and map/array inputs fall back ([audit](../../contributor-guide/expression-audits/json_funcs.md#to_json)) |
 
 ---
@@ -373,7 +381,7 @@ All higher-order functions are planned via [#4224](https://github.com/apache/dat
 | --- | --- | --- |
 | `element_at` | ✅ | MapType input falls back |
 | `map` | 🔜 | Constructs a map |
-| `map_concat` | 🔜 | Concatenates maps |
+| `map_concat` | ✅ |  |
 | `map_contains_key` | ✅ |  |
 | `map_entries` | ✅ |  |
 | `map_from_arrays` | ✅ |  |
@@ -403,11 +411,11 @@ All higher-order functions are planned via [#4224](https://github.com/apache/dat
 | `atan2` | ✅ |  |
 | `atanh` | ✅ |  |
 | `bin` | ✅ |  |
-| `bround` | 🔜 | [#4538](https://github.com/apache/datafusion-comet/issues/4538) |
+| `bround` | ✅ |  |
 | `cbrt` | ✅ |  |
 | `ceil` | ✅ | Two-arg form falls back |
 | `ceiling` | ✅ |  |
-| `conv` | 🔜 | [#4538](https://github.com/apache/datafusion-comet/issues/4538) |
+| `conv` | ✅ |  |
 | `cos` | ✅ |  |
 | `cosh` | ✅ |  |
 | `cot` | ✅ |  |
@@ -421,17 +429,17 @@ All higher-order functions are planned via [#4224](https://github.com/apache/dat
 | `floor` | ✅ | Two-arg form falls back |
 | `greatest` | ✅ |  |
 | `hex` | ✅ |  |
-| `hypot` | 🔜 | [#4538](https://github.com/apache/datafusion-comet/issues/4538) |
+| `hypot` | ✅ |  |
 | `least` | ✅ |  |
 | `ln` | ✅ |  |
 | `log` | ✅ |  |
 | `log10` | ✅ |  |
-| `log1p` | 🔜 | [#4538](https://github.com/apache/datafusion-comet/issues/4538) |
+| `log1p` | ✅ |  |
 | `log2` | ✅ |  |
 | `mod` | ✅ |  |
 | `negative` | ✅ |  |
 | `pi` | ✅ |  |
-| `pmod` | 🔜 | [#4538](https://github.com/apache/datafusion-comet/issues/4538) |
+| `pmod` | ✅ |  |
 | `positive` | ✅ |  |
 | `pow` | ✅ |  |
 | `power` | ✅ |  |
@@ -540,29 +548,29 @@ All higher-order functions are planned via [#4224](https://github.com/apache/dat
 | `concat_ws` | ✅ |  |
 | `contains` | ✅ |  |
 | `decode` | ✅ |  |
-| `elt` | 🔜 | [#4538](https://github.com/apache/datafusion-comet/issues/4538) |
+| `elt` | ✅ |  |
 | `encode` | 🔜 | Lowers to `StaticInvoke(encode)` (not allowlisted); falls back |
 | `endswith` | ✅ |  |
-| `find_in_set` | 🔜 | [#4538](https://github.com/apache/datafusion-comet/issues/4538) |
-| `format_number` | 🔜 | [#4538](https://github.com/apache/datafusion-comet/issues/4538) |
-| `format_string` | 🔜 | [#4538](https://github.com/apache/datafusion-comet/issues/4538) |
+| `find_in_set` | ✅ |  |
+| `format_number` | ✅ |  |
+| `format_string` | ✅ |  |
 | `initcap` | ✅ |  |
 | `instr` | ✅ |  |
 | `lcase` | ✅ |  |
 | `left` | ✅ |  |
 | `len` | ✅ |  |
 | `length` | ✅ |  |
-| `levenshtein` | 🔜 | [#4538](https://github.com/apache/datafusion-comet/issues/4538) |
-| `locate` | 🔜 | [#4538](https://github.com/apache/datafusion-comet/issues/4538) |
+| `levenshtein` | ✅ |  |
+| `locate` | ✅ |  |
 | `lower` | ✅ |  |
 | `lpad` | ✅ |  |
 | `ltrim` | ✅ |  |
 | `luhn_check` | ✅ | Native via `StaticInvoke` (tests: luhn_check.sql) |
 | `mask` | 🔜 | Data masking |
 | `octet_length` | ✅ |  |
-| `overlay` | 🔜 | [#4538](https://github.com/apache/datafusion-comet/issues/4538) |
-| `position` | 🔜 | [#4538](https://github.com/apache/datafusion-comet/issues/4538) |
-| `printf` | 🔜 | [#4538](https://github.com/apache/datafusion-comet/issues/4538) |
+| `overlay` | ✅ |  |
+| `position` | ✅ |  |
+| `printf` | ✅ |  |
 | `regexp_count` | 🔜 | tracking [#4098](https://github.com/apache/datafusion-comet/issues/4098) |
 | `regexp_extract` | 🔜 | tracking [#4098](https://github.com/apache/datafusion-comet/issues/4098) |
 | `regexp_extract_all` | 🔜 | tracking [#4098](https://github.com/apache/datafusion-comet/issues/4098) |
@@ -574,7 +582,7 @@ All higher-order functions are planned via [#4224](https://github.com/apache/dat
 | `right` | ✅ |  |
 | `rpad` | ✅ |  |
 | `rtrim` | ✅ |  |
-| `soundex` | 🔜 | [#4538](https://github.com/apache/datafusion-comet/issues/4538) |
+| `soundex` | ✅ |  |
 | `space` | ✅ |  |
 | `split` | ✅ |  |
 | `split_part` | 🔜 | Lowers to `element_at(StringSplitSQL(...))`; `StringSplitSQL` falls back ([#4561](https://github.com/apache/datafusion-comet/issues/4561)) |
@@ -583,15 +591,15 @@ All higher-order functions are planned via [#4224](https://github.com/apache/dat
 | `substring` | ✅ |  |
 | `substring_index` | ✅ |  |
 | `to_binary` | ✅ | Hex form accelerated; other formats fall back |
-| `to_char` | 🔜 | [#4538](https://github.com/apache/datafusion-comet/issues/4538) |
-| `to_number` | 🔜 | [#4538](https://github.com/apache/datafusion-comet/issues/4538) |
-| `to_varchar` | 🔜 | [#4538](https://github.com/apache/datafusion-comet/issues/4538) |
+| `to_char` | ✅ |  |
+| `to_number` | ✅ |  |
+| `to_varchar` | ✅ |  |
 | `translate` | ✅ |  |
 | `trim` | ✅ |  |
 | `try_to_binary` | 🔜 | Lowers to `TryEval(...)`, which falls back |
 | `try_to_number` | 🔜 | TRY variant of `to_number` |
 | `ucase` | ✅ |  |
-| `unbase64` | 🔜 | [#4538](https://github.com/apache/datafusion-comet/issues/4538) |
+| `unbase64` | ✅ |  |
 | `upper` | ✅ |  |
 
 ---
@@ -639,6 +647,25 @@ fall back to Spark.
 
 ---
 
+## xml_funcs
+
+| Function | Status | Notes |
+| --- | --- | --- |
+| `from_xml` | ✅ | Spark 4.0+ |
+| `schema_of_xml` | ✅ | Spark 4.0+ |
+| `to_xml` | ✅ | Spark 4.0+ |
+| `xpath` | ✅ |  |
+| `xpath_boolean` | ✅ |  |
+| `xpath_double` | ✅ |  |
+| `xpath_float` | ✅ |  |
+| `xpath_int` | ✅ |  |
+| `xpath_long` | ✅ |  |
+| `xpath_number` | ✅ | Alias of `xpath_double` |
+| `xpath_short` | ✅ |  |
+| `xpath_string` | ✅ |  |
+
+---
+
 ## Beyond SQL functions
 
 Comet also accelerates a number of Catalyst expressions that have no Spark SQL function name and therefore do not appear in the tables above. These arise from the DataFrame API, from SQL syntax other than function calls, or from the query optimizer. They include:
diff --git a/searchindex.js b/searchindex.js
index 5d759f15f9..9a092417a7 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"alltitles": {"!": [[49, "id1"]], "%": [[47, "id1"]], "&": [[37, "id1"]], "*": [[47, "id2"]], "+": [[47, "id3"]], "-": [[47, "id4"]], "/": [[47, "id5"]], "1. Format Your Code": [[34, "format-your-code"]], "1. Install Comet": [[54, "install-comet"], [63, "install-comet"]], "1. Native Operators (nativeExecs map)": [[23, "native-operators-nativeexecs-map"]], "2. Build and Verify": [[34, "build-and-verify"]], "2. Clone Iceberg and Apply Diff": [[54, "clone-iceberg-and-apply- [...]
\ No newline at end of file
+Search.setIndex({"alltitles": {"!": [[49, "id1"]], "%": [[47, "id1"]], "&": [[37, "id1"]], "*": [[47, "id2"]], "+": [[47, "id3"]], "-": [[47, "id4"]], "/": [[47, "id5"]], "1. Format Your Code": [[34, "format-your-code"]], "1. Install Comet": [[54, "install-comet"], [63, "install-comet"]], "1. Native Operators (nativeExecs map)": [[23, "native-operators-nativeexecs-map"]], "2. Build and Verify": [[34, "build-and-verify"]], "2. Clone Iceberg and Apply Diff": [[54, "clone-iceberg-and-apply- [...]
\ No newline at end of file
diff --git a/user-guide/latest/configs.html b/user-guide/latest/configs.html
index bba64cfe08..6c94e7a93b 100644
--- a/user-guide/latest/configs.html
+++ b/user-guide/latest/configs.html
@@ -1148,82 +1148,90 @@ under the License.
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">AttributeReference</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.Bin.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.BRound.enabled</span></code></p></td>
+<td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">BRound</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.Bin.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">Bin</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.BitLength.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.BitLength.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">BitLength</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.BitwiseAnd.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.BitwiseAnd.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">BitwiseAnd</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.BitwiseCount.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.BitwiseCount.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">BitwiseCount</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.BitwiseGet.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.BitwiseGet.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">BitwiseGet</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.BitwiseNot.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.BitwiseNot.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">BitwiseNot</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.BitwiseOr.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.BitwiseOr.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">BitwiseOr</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.BitwiseXor.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.BitwiseXor.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">BitwiseXor</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.BloomFilterMightContain.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.BloomFilterMightContain.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">BloomFilterMightContain</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.CaseWhen.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.CaseWhen.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">CaseWhen</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.Cast.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.Cast.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">Cast</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.Cbrt.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.Cbrt.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">Cbrt</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.Ceil.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.Ceil.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">Ceil</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.CheckOverflow.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.CheckOverflow.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">CheckOverflow</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.Chr.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.Chr.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">Chr</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.Coalesce.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.Coalesce.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">Coalesce</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.Concat.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.Concat.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">Concat</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.ConcatWs.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.ConcatWs.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">ConcatWs</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.Contains.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.Contains.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">Contains</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.Conv.enabled</span></code></p></td>
+<td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">Conv</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.ConvertTimezone.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">ConvertTimezone</span></code></p></td>
 <td><p>true</p></td>
@@ -1256,50 +1264,58 @@ under the License.
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">Csc</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.DateAdd.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.CsvToStructs.enabled</span></code></p></td>
+<td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">CsvToStructs</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.DateAdd.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">DateAdd</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.DateDiff.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.DateDiff.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">DateDiff</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.DateFormatClass.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.DateFormatClass.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">DateFormatClass</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.DateFromUnixDate.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.DateFromUnixDate.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">DateFromUnixDate</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.DateSub.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.DateSub.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">DateSub</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.DayOfMonth.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.DayOfMonth.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">DayOfMonth</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.DayOfWeek.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.DayOfWeek.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">DayOfWeek</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.DayOfYear.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.DayOfYear.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">DayOfYear</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.Days.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.Days.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">Days</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.Divide.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.Divide.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">Divide</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.ElementAt.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.ElementAt.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">ElementAt</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.Elt.enabled</span></code></p></td>
+<td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">Elt</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.EndsWith.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">EndsWith</span></code></p></td>
 <td><p>true</p></td>
@@ -1324,70 +1340,86 @@ under the License.
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">Factorial</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.Flatten.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.FindInSet.enabled</span></code></p></td>
+<td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">FindInSet</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.Flatten.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">Flatten</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.Floor.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.Floor.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">Floor</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.FromUTCTimestamp.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.FormatNumber.enabled</span></code></p></td>
+<td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">FormatNumber</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.FormatString.enabled</span></code></p></td>
+<td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">FormatString</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.FromUTCTimestamp.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">FromUTCTimestamp</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.FromUnixTime.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.FromUnixTime.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">FromUnixTime</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.GetArrayItem.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.GetArrayItem.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">GetArrayItem</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.GetArrayStructFields.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.GetArrayStructFields.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">GetArrayStructFields</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.GetJsonObject.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.GetJsonObject.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">GetJsonObject</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.GetMapValue.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.GetMapValue.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">GetMapValue</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.GetStructField.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.GetStructField.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">GetStructField</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.GetTimestamp.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.GetTimestamp.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">GetTimestamp</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.GreaterThan.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.GreaterThan.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">GreaterThan</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.GreaterThanOrEqual.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.GreaterThanOrEqual.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">GreaterThanOrEqual</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.Greatest.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.Greatest.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">Greatest</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.Hex.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.Hex.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">Hex</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.Hour.enabled</span></code></p></td>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.Hour.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">Hour</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.Hours.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.Hours.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">Hours</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.Hypot.enabled</span></code></p></td>
+<td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">Hypot</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.If.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">If</span></code></p></td>
 <td><p>true</p></td>
@@ -1420,42 +1452,50 @@ under the License.
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">IsNull</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.JsonToStructs.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.JsonObjectKeys.enabled</span></code></p></td>
+<td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">JsonObjectKeys</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.JsonToStructs.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">JsonToStructs</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.KnownFloatingPointNormalized.enabled</span></code></p></td>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.KnownFloatingPointNormalized.enabled</span></code></p></td>
 <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.LastDay.enabled</span></code></p></td>
+<tr class="row-even"><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-even"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.Least.enabled</span></code></p></td>
+<tr class="row-odd"><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-odd"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.Left.enabled</span></code></p></td>
+<tr class="row-even"><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-even"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.Length.enabled</span></code></p></td>
+<tr class="row-odd"><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-odd"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.LengthOfJsonArray.enabled</span></code></p></td>
+<tr class="row-even"><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-even"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.LessThan.enabled</span></code></p></td>
+<tr class="row-odd"><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-odd"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.LessThanOrEqual.enabled</span></code></p></td>
+<tr class="row-even"><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>
+<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>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">Like</span></code></p></td>
 <td><p>true</p></td>
@@ -1472,30 +1512,38 @@ under the License.
 <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.Log2.enabled</span></code></p></td>
+<tr class="row-even"><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>
 <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-odd"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.Logarithm.enabled</span></code></p></td>
+<tr class="row-even"><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-even"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.Lower.enabled</span></code></p></td>
+<tr class="row-odd"><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-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-odd"><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.MapContainsKey.enabled</span></code></p></td>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">MapContainsKey</span></code></p></td>
 <td><p>true</p></td>
@@ -1556,22 +1604,30 @@ under the License.
 <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.NextDay.enabled</span></code></p></td>
+<tr class="row-odd"><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>
 <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-even"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.Not.enabled</span></code></p></td>
+<tr class="row-odd"><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-odd"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.OctetLength.enabled</span></code></p></td>
+<tr class="row-even"><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-even"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.Or.enabled</span></code></p></td>
+<tr class="row-odd"><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>
+<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>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">ParseUrl</span></code></p></td>
 <td><p>true</p></td>
@@ -1580,82 +1636,98 @@ under the License.
 <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.Pow.enabled</span></code></p></td>
+<tr class="row-odd"><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>
 <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-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.Randn.enabled</span></code></p></td>
+<tr class="row-even"><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-even"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.RegExpExtract.enabled</span></code></p></td>
+<tr class="row-odd"><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-odd"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.RegExpExtractAll.enabled</span></code></p></td>
+<tr class="row-even"><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-even"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.RegExpInStr.enabled</span></code></p></td>
+<tr class="row-odd"><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-odd"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.RegExpReplace.enabled</span></code></p></td>
+<tr class="row-even"><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-even"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.Remainder.enabled</span></code></p></td>
+<tr class="row-odd"><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-odd"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.Reverse.enabled</span></code></p></td>
+<tr class="row-even"><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-even"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.Right.enabled</span></code></p></td>
+<tr class="row-odd"><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-odd"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.Rint.enabled</span></code></p></td>
+<tr class="row-even"><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-even"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.Round.enabled</span></code></p></td>
+<tr class="row-odd"><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-odd"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.ScalaUDF.enabled</span></code></p></td>
+<tr class="row-even"><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-even"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.ScalarSubquery.enabled</span></code></p></td>
+<tr class="row-odd"><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-odd"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.Sec.enabled</span></code></p></td>
+<tr class="row-even"><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>
+<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>
 <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-even"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.Second.enabled</span></code></p></td>
+<tr class="row-odd"><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-odd"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.SecondsToTimestamp.enabled</span></code></p></td>
+<tr class="row-even"><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>
+<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>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">Sha1</span></code></p></td>
 <td><p>true</p></td>
@@ -1704,30 +1776,38 @@ under the License.
 <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-even"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.SparkPartitionID.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-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-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-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>
@@ -1800,10 +1880,18 @@ under the License.
 <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.ToDegrees.enabled</span></code></p></td>
+<tr class="row-even"><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>
 <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>
+<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.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>
@@ -1828,10 +1916,18 @@ under the License.
 <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-odd"><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.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>
 <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>
+<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>
 <td><p>Enable Comet acceleration for <code class="docutils literal notranslate"><span class="pre">Unhex</span></code></p></td>
 <td><p>true</p></td>
@@ -1872,11 +1968,47 @@ under the License.
 <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-even"><td><p><code class="docutils literal notranslate"><span class="pre">spark.comet.expression.XxHash64.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-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-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-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-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-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-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-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-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-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>
diff --git a/user-guide/latest/expressions.html b/user-guide/latest/expressions.html
index e125be4314..d5a22ed858 100644
--- a/user-guide/latest/expressions.html
+++ b/user-guide/latest/expressions.html
@@ -571,11 +571,9 @@ expression class name, for example <code class="docutils literal notranslate"><s
 expressions. The following function families are <strong>not currently planned</strong> for native acceleration (they are not on the 1.0 roadmap): specialized functionality with narrow real-world analytics use and high implementation cost. They fall back to Spark and may be reconsidered based on demand:</p>
 <ul class="simple">
 <li><p><strong>Probabilistic sketches and approximate top-k</strong> (<code class="docutils literal notranslate"><span class="pre">kll_sketch_*</span></code>, <code class="docutils literal notranslate"><span class="pre">hll_*</span></code>, <code class="docutils literal notranslate"><span class="pre">theta_*</span></code>, <code class="docutils literal notranslate"><span class="pre">count_min_sketch</span></code>, <code class="docutils literal notranslate"><span class="pre">bitmap_*</spa [...]
-<li><p><strong>XML / XPath</strong> (<code class="docutils literal notranslate"><span class="pre">from_xml</span></code>, <code class="docutils literal notranslate"><span class="pre">to_xml</span></code>, <code class="docutils literal notranslate"><span class="pre">schema_of_xml</span></code>, <code class="docutils literal notranslate"><span class="pre">xpath*</span></code>): legacy text format, rare in accelerated workloads.</p></li>
 <li><p><strong>Geospatial</strong> (<code class="docutils literal notranslate"><span class="pre">st_*</span></code>): brand-new Spark 4.1 functionality, specialized.</p></li>
 <li><p><strong>Avro / Protobuf codecs</strong> (<code class="docutils literal notranslate"><span class="pre">from_avro</span></code>, <code class="docutils literal notranslate"><span class="pre">to_avro</span></code>, <code class="docutils literal notranslate"><span class="pre">from_protobuf</span></code>, <code class="docutils literal notranslate"><span class="pre">to_protobuf</span></code>, <code class="docutils literal notranslate"><span class="pre">schema_of_avro</span></code>): form [...]
 <li><p><strong>JVM reflection</strong> (<code class="docutils literal notranslate"><span class="pre">java_method</span></code>, <code class="docutils literal notranslate"><span class="pre">reflect</span></code>): niche, and they invoke arbitrary JVM methods (a security concern).</p></li>
-<li><p><strong>CSV functions</strong> (<code class="docutils literal notranslate"><span class="pre">from_csv</span></code>, <code class="docutils literal notranslate"><span class="pre">to_csv</span></code>, <code class="docutils literal notranslate"><span class="pre">schema_of_csv</span></code>): row-level CSV parsing and formatting in expressions is niche and better handled at the data source layer.</p></li>
 <li><p><strong>UTF-8 validation</strong> (<code class="docutils literal notranslate"><span class="pre">is_valid_utf8</span></code>, <code class="docutils literal notranslate"><span class="pre">make_valid_utf8</span></code>, <code class="docutils literal notranslate"><span class="pre">validate_utf8</span></code>, <code class="docutils literal notranslate"><span class="pre">try_validate_utf8</span></code>): niche Spark 4.x string-validation helpers.</p></li>
 <li><p><strong>File metadata</strong> (<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>, <code class="docutils literal notranslate"><span class="pre">input_file_block_length</span></code>): require scan-internal per-row file information, outside the expression layer.</p></li>
 <li><p><strong>Miscellaneous niche</strong> (<code class="docutils literal notranslate"><span class="pre">histogram_numeric</span></code>, <code class="docutils literal notranslate"><span class="pre">version</span></code>, <code class="docutils literal notranslate"><span class="pre">sentences</span></code>, <code class="docutils literal notranslate"><span class="pre">quote</span></code>): low-value or specialized functions with little benefit from native acceleration.</p></li>
@@ -925,8 +923,8 @@ expressions. The following function families are <strong>not currently planned</
 <td><p></p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">sequence</span></code></p></td>
-<td><p>🔜</p></td>
-<td><p><a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4538">#4538</a></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">shuffle</span></code></p></td>
 <td><p>🔜</p></td>
@@ -1066,8 +1064,8 @@ expressions. The following function families are <strong>not currently planned</
 <td><p></p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">nanvl</span></code></p></td>
-<td><p>🔜</p></td>
-<td><p><a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4538">#4538</a></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">nullif</span></code></p></td>
 <td><p>✅</p></td>
@@ -1118,6 +1116,33 @@ expressions. The following function families are <strong>not currently planned</
 </div>
 </section>
 <hr class="docutils" />
+<section id="csv-funcs">
+<h2>csv_funcs<a class="headerlink" href="#csv-funcs" title="Link to this heading">#</a></h2>
+<div class="pst-scrollable-table-container"><table class="table">
+<thead>
+<tr class="row-odd"><th class="head"><p>Function</p></th>
+<th class="head"><p>Status</p></th>
+<th class="head"><p>Notes</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">from_csv</span></code></p></td>
+<td><p>✅</p></td>
+<td><p></p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">schema_of_csv</span></code></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">to_csv</span></code></p></td>
+<td><p>✅</p></td>
+<td><p></p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</section>
+<hr class="docutils" />
 <section id="datetime-funcs">
 <h2>datetime_funcs<a class="headerlink" href="#datetime-funcs" title="Link to this heading">#</a></h2>
 <div class="pst-scrollable-table-container"><table class="table">
@@ -1537,16 +1562,16 @@ expression-level). The <code class="docutils literal notranslate"><span class="p
 <td><p>Single-quoted/trailing JSON needs allowIncompatible (<a class="reference internal" href="../../contributor-guide/expression-audits/json_funcs.html#json-array-length"><span class="std std-ref">audit</span></a>)</p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">json_object_keys</span></code></p></td>
-<td><p>🔜</p></td>
-<td><p><a class="reference external" href="https://github.com/apache/datafusion-comet/issues/3161">#3161</a></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">json_tuple</span></code></p></td>
 <td><p>🔜</p></td>
 <td><p><a class="reference external" href="https://github.com/apache/datafusion-comet/issues/3160">#3160</a></p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">schema_of_json</span></code></p></td>
-<td><p>🔜</p></td>
-<td><p><a class="reference external" href="https://github.com/apache/datafusion-comet/issues/3163">#3163</a></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">to_json</span></code></p></td>
 <td><p>✅</p></td>
@@ -1640,8 +1665,8 @@ expression-level). The <code class="docutils literal notranslate"><span class="p
 <td><p>Constructs a map</p></td>
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">map_concat</span></code></p></td>
-<td><p>🔜</p></td>
-<td><p>Concatenates maps</p></td>
+<td><p>✅</p></td>
+<td><p></p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">map_contains_key</span></code></p></td>
 <td><p>✅</p></td>
@@ -1747,8 +1772,8 @@ expression-level). The <code class="docutils literal notranslate"><span class="p
 <td><p></p></td>
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">bround</span></code></p></td>
-<td><p>🔜</p></td>
-<td><p><a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4538">#4538</a></p></td>
+<td><p>✅</p></td>
+<td><p></p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">cbrt</span></code></p></td>
 <td><p>✅</p></td>
@@ -1763,8 +1788,8 @@ expression-level). The <code class="docutils literal notranslate"><span class="p
 <td><p></p></td>
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">conv</span></code></p></td>
-<td><p>🔜</p></td>
-<td><p><a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4538">#4538</a></p></td>
+<td><p>✅</p></td>
+<td><p></p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">cos</span></code></p></td>
 <td><p>✅</p></td>
@@ -1819,8 +1844,8 @@ expression-level). The <code class="docutils literal notranslate"><span class="p
 <td><p></p></td>
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">hypot</span></code></p></td>
-<td><p>🔜</p></td>
-<td><p><a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4538">#4538</a></p></td>
+<td><p>✅</p></td>
+<td><p></p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">least</span></code></p></td>
 <td><p>✅</p></td>
@@ -1839,8 +1864,8 @@ expression-level). The <code class="docutils literal notranslate"><span class="p
 <td><p></p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">log1p</span></code></p></td>
-<td><p>🔜</p></td>
-<td><p><a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4538">#4538</a></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">log2</span></code></p></td>
 <td><p>✅</p></td>
@@ -1859,8 +1884,8 @@ expression-level). The <code class="docutils literal notranslate"><span class="p
 <td><p></p></td>
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">pmod</span></code></p></td>
-<td><p>🔜</p></td>
-<td><p><a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4538">#4538</a></p></td>
+<td><p>✅</p></td>
+<td><p></p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">positive</span></code></p></td>
 <td><p>✅</p></td>
@@ -2256,8 +2281,8 @@ expression-level). The <code class="docutils literal notranslate"><span class="p
 <td><p></p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">elt</span></code></p></td>
-<td><p>🔜</p></td>
-<td><p><a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4538">#4538</a></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">encode</span></code></p></td>
 <td><p>🔜</p></td>
@@ -2268,16 +2293,16 @@ expression-level). The <code class="docutils literal notranslate"><span class="p
 <td><p></p></td>
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">find_in_set</span></code></p></td>
-<td><p>🔜</p></td>
-<td><p><a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4538">#4538</a></p></td>
+<td><p>✅</p></td>
+<td><p></p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">format_number</span></code></p></td>
-<td><p>🔜</p></td>
-<td><p><a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4538">#4538</a></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">format_string</span></code></p></td>
-<td><p>🔜</p></td>
-<td><p><a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4538">#4538</a></p></td>
+<td><p>✅</p></td>
+<td><p></p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">initcap</span></code></p></td>
 <td><p>✅</p></td>
@@ -2304,12 +2329,12 @@ expression-level). The <code class="docutils literal notranslate"><span class="p
 <td><p></p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">levenshtein</span></code></p></td>
-<td><p>🔜</p></td>
-<td><p><a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4538">#4538</a></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">locate</span></code></p></td>
-<td><p>🔜</p></td>
-<td><p><a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4538">#4538</a></p></td>
+<td><p>✅</p></td>
+<td><p></p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">lower</span></code></p></td>
 <td><p>✅</p></td>
@@ -2336,16 +2361,16 @@ expression-level). The <code class="docutils literal notranslate"><span class="p
 <td><p></p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">overlay</span></code></p></td>
-<td><p>🔜</p></td>
-<td><p><a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4538">#4538</a></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">position</span></code></p></td>
-<td><p>🔜</p></td>
-<td><p><a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4538">#4538</a></p></td>
+<td><p>✅</p></td>
+<td><p></p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">printf</span></code></p></td>
-<td><p>🔜</p></td>
-<td><p><a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4538">#4538</a></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">regexp_count</span></code></p></td>
 <td><p>🔜</p></td>
@@ -2392,8 +2417,8 @@ expression-level). The <code class="docutils literal notranslate"><span class="p
 <td><p></p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">soundex</span></code></p></td>
-<td><p>🔜</p></td>
-<td><p><a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4538">#4538</a></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">space</span></code></p></td>
 <td><p>✅</p></td>
@@ -2428,16 +2453,16 @@ expression-level). The <code class="docutils literal notranslate"><span class="p
 <td><p>Hex form accelerated; other formats fall back</p></td>
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">to_char</span></code></p></td>
-<td><p>🔜</p></td>
-<td><p><a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4538">#4538</a></p></td>
+<td><p>✅</p></td>
+<td><p></p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">to_number</span></code></p></td>
-<td><p>🔜</p></td>
-<td><p><a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4538">#4538</a></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">to_varchar</span></code></p></td>
-<td><p>🔜</p></td>
-<td><p><a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4538">#4538</a></p></td>
+<td><p>✅</p></td>
+<td><p></p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">translate</span></code></p></td>
 <td><p>✅</p></td>
@@ -2460,8 +2485,8 @@ expression-level). The <code class="docutils literal notranslate"><span class="p
 <td><p></p></td>
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">unbase64</span></code></p></td>
-<td><p>🔜</p></td>
-<td><p><a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4538">#4538</a></p></td>
+<td><p>✅</p></td>
+<td><p></p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">upper</span></code></p></td>
 <td><p>✅</p></td>
@@ -2583,6 +2608,69 @@ fall back to Spark.</p>
 </div>
 </section>
 <hr class="docutils" />
+<section id="xml-funcs">
+<h2>xml_funcs<a class="headerlink" href="#xml-funcs" title="Link to this heading">#</a></h2>
+<div class="pst-scrollable-table-container"><table class="table">
+<thead>
+<tr class="row-odd"><th class="head"><p>Function</p></th>
+<th class="head"><p>Status</p></th>
+<th class="head"><p>Notes</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">from_xml</span></code></p></td>
+<td><p>✅</p></td>
+<td><p>Spark 4.0+</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">schema_of_xml</span></code></p></td>
+<td><p>✅</p></td>
+<td><p>Spark 4.0+</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">to_xml</span></code></p></td>
+<td><p>✅</p></td>
+<td><p>Spark 4.0+</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">xpath</span></code></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">xpath_boolean</span></code></p></td>
+<td><p>✅</p></td>
+<td><p></p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">xpath_double</span></code></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">xpath_float</span></code></p></td>
+<td><p>✅</p></td>
+<td><p></p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">xpath_int</span></code></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">xpath_long</span></code></p></td>
+<td><p>✅</p></td>
+<td><p></p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">xpath_number</span></code></p></td>
+<td><p>✅</p></td>
+<td><p>Alias of <code class="docutils literal notranslate"><span class="pre">xpath_double</span></code></p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">xpath_short</span></code></p></td>
+<td><p>✅</p></td>
+<td><p></p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">xpath_string</span></code></p></td>
+<td><p>✅</p></td>
+<td><p></p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</section>
+<hr class="docutils" />
 <section id="beyond-sql-functions">
 <h2>Beyond SQL functions<a class="headerlink" href="#beyond-sql-functions" title="Link to this heading">#</a></h2>
 <p>Comet also accelerates a number of Catalyst expressions that have no Spark SQL function name and therefore do not appear in the tables above. These arise from the DataFrame API, from SQL syntax other than function calls, or from the query optimizer. They include:</p>


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@datafusion.apache.org
For additional commands, e-mail: commits-help@datafusion.apache.org