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/03 18:57:11 UTC

(datafusion-comet) branch asf-site updated: Publish built docs triggered by eff0460a62100a385d0253947deba67d77729554

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

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


The following commit(s) were added to refs/heads/asf-site by this push:
     new 3963b9de3f Publish built docs triggered by eff0460a62100a385d0253947deba67d77729554
3963b9de3f is described below

commit 3963b9de3fdd62e49213824ee364b3c03dc998ed
Author: github-actions[bot] <gi...@users.noreply.github.com>
AuthorDate: Wed Jun 3 18:57:07 2026 +0000

    Publish built docs triggered by eff0460a62100a385d0253947deba67d77729554
---
 _sources/user-guide/latest/expressions.md.txt | 667 +++++++++++++-------------
 searchindex.js                                |   2 +-
 user-guide/latest/expressions.html            | 174 +++----
 3 files changed, 424 insertions(+), 419 deletions(-)

diff --git a/_sources/user-guide/latest/expressions.md.txt b/_sources/user-guide/latest/expressions.md.txt
index 05db6fe6a3..3627766445 100644
--- a/_sources/user-guide/latest/expressions.md.txt
+++ b/_sources/user-guide/latest/expressions.md.txt
@@ -24,9 +24,12 @@ expression. Comet accelerates expressions either with a native (Rust) implementa
 dispatching to a Spark-compatible codegen path. When an expression is not supported, Comet
 transparently falls back to Spark for that part of the plan; results are unaffected.
 
-Expressions marked ✅ Supported are enabled by default. Expressions marked ⚠️ Supported
-(caveats) include cases that are known to diverge from Spark; those cases fall back to Spark
-by default and must be opted into per expression with
+Expressions marked ✅ Supported are enabled by default and produce Spark-compatible results.
+Expressions marked ⚠️ Incorrect by default run natively by default but can return results that
+differ from Spark on some inputs; see the linked detail on each affected row.
+
+Some ✅ Supported expressions have specific incompatible cases that fall back to Spark by
+default. Those cases must be opted into per expression with
 `spark.comet.expression.EXPRNAME.allowIncompatible=true` (where `EXPRNAME` is the Spark
 expression class name, for example `Cast`). There is no global opt-in.
 
@@ -64,66 +67,66 @@ The tables below list every Spark built-in expression with its current status.
 
 ## agg_funcs
 
-| Function                | Status | Notes                                                            |
-| ----------------------- | ------ | ---------------------------------------------------------------- |
-| `any`                   | ✅     |                                                                  |
-| `any_value`             | ✅     |                                                                  |
-| `approx_count_distinct` | 🔜     | tracking #4098                                                   |
-| `array_agg`             | 🔜     | Array aggregate (related to `collect_list`, #2524)               |
-| `avg`                   | ✅     | Interval types fall back                                         |
-| `bit_and`               | ✅     |                                                                  |
-| `bit_or`                | ✅     |                                                                  |
-| `bit_xor`               | ✅     |                                                                  |
-| `bool_and`              | ✅     |                                                                  |
-| `bool_or`               | ✅     |                                                                  |
-| `collect_list`          | 🔜     | [#2524](https://github.com/apache/datafusion-comet/issues/2524)  |
-| `collect_set`           | ✅     |                                                                  |
-| `corr`                  | ✅     |                                                                  |
-| `count`                 | ✅     |                                                                  |
-| `count_if`              | ✅     |                                                                  |
-| `covar_pop`             | ✅     |                                                                  |
-| `covar_samp`            | ✅     |                                                                  |
-| `every`                 | ✅     |                                                                  |
-| `first`                 | ✅     |                                                                  |
-| `first_value`           | ✅     |                                                                  |
-| `grouping`              | 🔜     | Grouping indicator for ROLLUP/CUBE/GROUPING SETS                 |
-| `grouping_id`           | 🔜     | Grouping indicator for ROLLUP/CUBE/GROUPING SETS                 |
-| `kurtosis`              | 🔜     | tracking #4098                                                   |
-| `last`                  | ✅     |                                                                  |
-| `last_value`            | ✅     |                                                                  |
-| `listagg`               | 🔜     | String aggregation                                               |
-| `max`                   | ✅     |                                                                  |
-| `max_by`                | 🔜     | [#3841](https://github.com/apache/datafusion-comet/issues/3841)  |
-| `mean`                  | ✅     |                                                                  |
-| `median`                | 🔜     | tracking #4098                                                   |
-| `min`                   | ✅     |                                                                  |
-| `min_by`                | 🔜     | [#3841](https://github.com/apache/datafusion-comet/issues/3841)  |
-| `mode`                  | 🔜     | [#3970](https://github.com/apache/datafusion-comet/issues/3970)  |
-| `percentile`            | 🔜     | #4542                                                            |
-| `percentile_cont`       | 🔜     | Percentile aggregate                                             |
-| `percentile_disc`       | 🔜     | Percentile aggregate                                             |
-| `regr_avgx`             | ✅     | Native: Spark rewrites to `Average` (tests in #4551)             |
-| `regr_avgy`             | ✅     | Native: Spark rewrites to `Average` (tests in #4551)             |
-| `regr_count`            | ✅     | Native: Spark rewrites to `Count` (tests in #4551)               |
-| `regr_intercept`        | 🔜     | Falls back; can reuse `covar_pop`/`var_pop` accumulators (#4552) |
-| `regr_r2`               | 🔜     | Falls back; can reuse the `corr` accumulator (#4552)             |
-| `regr_slope`            | 🔜     | Falls back; can reuse `covar_pop`/`var_pop` accumulators (#4552) |
-| `regr_sxx`              | 🔜     | Falls back; can reuse `var_pop` accumulator (#4552)              |
-| `regr_sxy`              | 🔜     | Falls back; can reuse `covar_pop` accumulator (#4552)            |
-| `regr_syy`              | 🔜     | Falls back; can reuse `var_pop` accumulator (#4552)              |
-| `skewness`              | 🔜     | tracking #4098                                                   |
-| `some`                  | ✅     |                                                                  |
-| `std`                   | ✅     |                                                                  |
-| `stddev`                | ✅     |                                                                  |
-| `stddev_pop`            | ✅     |                                                                  |
-| `stddev_samp`           | ✅     |                                                                  |
-| `string_agg`            | 🔜     | String aggregation (alias of `listagg`)                          |
-| `sum`                   | ✅     |                                                                  |
-| `try_avg`               | 🔜     | tracking #4098                                                   |
-| `try_sum`               | 🔜     | tracking #4098                                                   |
-| `var_pop`               | ✅     |                                                                  |
-| `var_samp`              | ✅     |                                                                  |
-| `variance`              | ✅     |                                                                  |
+| Function                | Status | Notes                                                                                                                      |
+| ----------------------- | ------ | -------------------------------------------------------------------------------------------------------------------------- |
+| `any`                   | ✅     |                                                                                                                            |
+| `any_value`             | ✅     |                                                                                                                            |
+| `approx_count_distinct` | 🔜     | tracking [#4098](https://github.com/apache/datafusion-comet/issues/4098)                                                   |
+| `array_agg`             | 🔜     | Array aggregate (related to `collect_list`, [#2524](https://github.com/apache/datafusion-comet/issues/2524))               |
+| `avg`                   | ✅     | Interval types fall back                                                                                                   |
+| `bit_and`               | ✅     |                                                                                                                            |
+| `bit_or`                | ✅     |                                                                                                                            |
+| `bit_xor`               | ✅     |                                                                                                                            |
+| `bool_and`              | ✅     |                                                                                                                            |
+| `bool_or`               | ✅     |                                                                                                                            |
+| `collect_list`          | 🔜     | [#2524](https://github.com/apache/datafusion-comet/issues/2524)                                                            |
+| `collect_set`           | ✅     |                                                                                                                            |
+| `corr`                  | ✅     |                                                                                                                            |
+| `count`                 | ✅     |                                                                                                                            |
+| `count_if`              | ✅     |                                                                                                                            |
+| `covar_pop`             | ✅     |                                                                                                                            |
+| `covar_samp`            | ✅     |                                                                                                                            |
+| `every`                 | ✅     |                                                                                                                            |
+| `first`                 | ✅     |                                                                                                                            |
+| `first_value`           | ✅     |                                                                                                                            |
+| `grouping`              | 🔜     | Grouping indicator for ROLLUP/CUBE/GROUPING SETS                                                                           |
+| `grouping_id`           | 🔜     | Grouping indicator for ROLLUP/CUBE/GROUPING SETS                                                                           |
+| `kurtosis`              | 🔜     | tracking [#4098](https://github.com/apache/datafusion-comet/issues/4098)                                                   |
+| `last`                  | ✅     |                                                                                                                            |
+| `last_value`            | ✅     |                                                                                                                            |
+| `listagg`               | 🔜     | String aggregation                                                                                                         |
+| `max`                   | ✅     |                                                                                                                            |
+| `max_by`                | 🔜     | [#3841](https://github.com/apache/datafusion-comet/issues/3841)                                                            |
+| `mean`                  | ✅     |                                                                                                                            |
+| `median`                | 🔜     | tracking [#4098](https://github.com/apache/datafusion-comet/issues/4098)                                                   |
+| `min`                   | ✅     |                                                                                                                            |
+| `min_by`                | 🔜     | [#3841](https://github.com/apache/datafusion-comet/issues/3841)                                                            |
+| `mode`                  | 🔜     | [#3970](https://github.com/apache/datafusion-comet/issues/3970)                                                            |
+| `percentile`            | 🔜     | [#4542](https://github.com/apache/datafusion-comet/issues/4542)                                                            |
+| `percentile_cont`       | 🔜     | Percentile aggregate                                                                                                       |
+| `percentile_disc`       | 🔜     | Percentile aggregate                                                                                                       |
+| `regr_avgx`             | ✅     | Native: Spark rewrites to `Average` (tests in [#4551](https://github.com/apache/datafusion-comet/issues/4551))             |
+| `regr_avgy`             | ✅     | Native: Spark rewrites to `Average` (tests in [#4551](https://github.com/apache/datafusion-comet/issues/4551))             |
+| `regr_count`            | ✅     | Native: Spark rewrites to `Count` (tests in [#4551](https://github.com/apache/datafusion-comet/issues/4551))               |
+| `regr_intercept`        | 🔜     | Falls back; can reuse `covar_pop`/`var_pop` accumulators ([#4552](https://github.com/apache/datafusion-comet/issues/4552)) |
+| `regr_r2`               | 🔜     | Falls back; can reuse the `corr` accumulator ([#4552](https://github.com/apache/datafusion-comet/issues/4552))             |
+| `regr_slope`            | 🔜     | Falls back; can reuse `covar_pop`/`var_pop` accumulators ([#4552](https://github.com/apache/datafusion-comet/issues/4552)) |
+| `regr_sxx`              | 🔜     | Falls back; can reuse `var_pop` accumulator ([#4552](https://github.com/apache/datafusion-comet/issues/4552))              |
+| `regr_sxy`              | 🔜     | Falls back; can reuse `covar_pop` accumulator ([#4552](https://github.com/apache/datafusion-comet/issues/4552))            |
+| `regr_syy`              | 🔜     | Falls back; can reuse `var_pop` accumulator ([#4552](https://github.com/apache/datafusion-comet/issues/4552))              |
+| `skewness`              | 🔜     | tracking [#4098](https://github.com/apache/datafusion-comet/issues/4098)                                                   |
+| `some`                  | ✅     |                                                                                                                            |
+| `std`                   | ✅     |                                                                                                                            |
+| `stddev`                | ✅     |                                                                                                                            |
+| `stddev_pop`            | ✅     |                                                                                                                            |
+| `stddev_samp`           | ✅     |                                                                                                                            |
+| `string_agg`            | 🔜     | String aggregation (alias of `listagg`)                                                                                    |
+| `sum`                   | ✅     |                                                                                                                            |
+| `try_avg`               | 🔜     | tracking [#4098](https://github.com/apache/datafusion-comet/issues/4098)                                                   |
+| `try_sum`               | 🔜     | tracking [#4098](https://github.com/apache/datafusion-comet/issues/4098)                                                   |
+| `var_pop`               | ✅     |                                                                                                                            |
+| `var_samp`              | ✅     |                                                                                                                            |
+| `variance`              | ✅     |                                                                                                                            |
 
 ---
 
@@ -152,9 +155,9 @@ 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                                                                               |
+| `sequence`        | 🔜     | [#4538](https://github.com/apache/datafusion-comet/issues/4538)                     |
 | `shuffle`         | 🔜     | Random array shuffle                                                                |
-| `slice`           | ✅     | Native (#4149)                                                                      |
+| `slice`           | ✅     | Native ([#4149](https://github.com/apache/datafusion-comet/issues/4149))            |
 | `sort_array`      | ✅     | Nested struct/null arrays fall back                                                 |
 
 ---
@@ -192,18 +195,18 @@ The tables below list every Spark built-in expression with its current status.
 
 ## conditional_funcs
 
-| Function     | Status | Notes                             |
-| ------------ | ------ | --------------------------------- |
-| `coalesce`   | ✅     |                                   |
-| `if`         | ✅     |                                   |
-| `ifnull`     | ✅     |                                   |
-| `nanvl`      | 🔜     | #4538                             |
-| `nullif`     | ✅     |                                   |
-| `nullifzero` | ✅     | Lowers to `if`/`=` (Spark 4.0+)   |
-| `nvl`        | ✅     |                                   |
-| `nvl2`       | ✅     |                                   |
-| `when`       | ✅     |                                   |
-| `zeroifnull` | ✅     | Lowers to `coalesce` (Spark 4.0+) |
+| Function     | Status | Notes                                                           |
+| ------------ | ------ | --------------------------------------------------------------- |
+| `coalesce`   | ✅     |                                                                 |
+| `if`         | ✅     |                                                                 |
+| `ifnull`     | ✅     |                                                                 |
+| `nanvl`      | 🔜     | [#4538](https://github.com/apache/datafusion-comet/issues/4538) |
+| `nullif`     | ✅     |                                                                 |
+| `nullifzero` | ✅     | Lowers to `if`/`=` (Spark 4.0+)                                 |
+| `nvl`        | ✅     |                                                                 |
+| `nvl2`       | ✅     |                                                                 |
+| `when`       | ✅     |                                                                 |
+| `zeroifnull` | ✅     | Lowers to `coalesce` (Spark 4.0+)                               |
 
 ---
 
@@ -219,81 +222,81 @@ The type-name conversion functions (`bigint`, `binary`, `boolean`, `date`, `deci
 
 ## datetime_funcs
 
-| Function              | Status | Notes                                                                                                                      |
-| --------------------- | ------ | -------------------------------------------------------------------------------------------------------------------------- |
-| `add_months`          | ✅     |                                                                                                                            |
-| `convert_timezone`    | ✅     |                                                                                                                            |
-| `curdate`             | ✅     | Constant-folded to a literal (alias of `current_date`)                                                                     |
-| `current_date`        | ✅     | Constant-folded to a literal before Comet sees the plan                                                                    |
-| `current_time`        | 🔜     | Blocked on Spark 4.1 TIME type support (#4288)                                                                             |
-| `current_timestamp`   | ✅     | Constant-folded to a literal before Comet sees the plan                                                                    |
-| `current_timezone`    | ✅     |                                                                                                                            |
-| `date_add`            | ✅     |                                                                                                                            |
-| `date_diff`           | ✅     |                                                                                                                            |
-| `date_format`         | ✅     |                                                                                                                            |
-| `date_from_unix_date` | ✅     |                                                                                                                            |
-| `date_part`           | ✅     |                                                                                                                            |
-| `date_sub`            | ✅     |                                                                                                                            |
-| `date_trunc`          | ✅     |                                                                                                                            |
-| `dateadd`             | ✅     |                                                                                                                            |
-| `datediff`            | ✅     |                                                                                                                            |
-| `datepart`            | ✅     |                                                                                                                            |
-| `day`                 | ✅     |                                                                                                                            |
-| `dayname`             | 🔜     | #4544                                                                                                                      |
-| `dayofmonth`          | ✅     |                                                                                                                            |
-| `dayofweek`           | ✅     |                                                                                                                            |
-| `dayofyear`           | ✅     |                                                                                                                            |
-| `extract`             | ✅     |                                                                                                                            |
-| `from_unixtime`       | ✅     |                                                                                                                            |
-| `from_utc_timestamp`  | ✅     | Legacy zone forms fall back (Incompatible) ([details](compatibility/expressions/datetime.md))                              |
-| `hour`                | ✅     |                                                                                                                            |
-| `last_day`            | ✅     |                                                                                                                            |
-| `localtimestamp`      | ✅     |                                                                                                                            |
-| `make_date`           | ✅     |                                                                                                                            |
-| `make_dt_interval`    | 🔜     | #4541                                                                                                                      |
-| `make_interval`       | 🔜     | Produces legacy CalendarInterval; tracked by #4540                                                                         |
-| `make_time`           | 🔜     | Spark 4.1 TIME type; tracked by #4288                                                                                      |
-| `make_timestamp`      | ✅     |                                                                                                                            |
-| `make_timestamp_ltz`  | ✅     | 2-arg TIME form falls back                                                                                                 |
-| `make_timestamp_ntz`  | ✅     | 2-arg TIME form falls back                                                                                                 |
-| `make_ym_interval`    | 🔜     | #4541                                                                                                                      |
-| `minute`              | ✅     |                                                                                                                            |
-| `month`               | ✅     |                                                                                                                            |
-| `monthname`           | 🔜     | #4544                                                                                                                      |
-| `months_between`      | ✅     |                                                                                                                            |
-| `next_day`            | ✅     |                                                                                                                            |
-| `now`                 | ✅     | Constant-folded to a literal (alias of `current_timestamp`)                                                                |
-| `quarter`             | ✅     |                                                                                                                            |
-| `second`              | ✅     |                                                                                                                            |
-| `session_window`      | 🔜     | Time-window grouping; tracked by #4553                                                                                     |
-| `time_diff`           | 🔜     | Spark 4.1 TIME type; tracked by #4288                                                                                      |
-| `time_trunc`          | 🔜     | Spark 4.1 TIME type; tracked by #4288                                                                                      |
-| `timestamp_micros`    | ✅     |                                                                                                                            |
-| `timestamp_millis`    | ✅     |                                                                                                                            |
-| `timestamp_seconds`   | ✅     |                                                                                                                            |
-| `to_date`             | ✅     | Rewrites to `Cast` (or `Cast(GetTimestamp)` with a format) before Comet sees the plan                                      |
-| `to_time`             | 🔜     | Spark 4.1 TIME type; tracked by #4288                                                                                      |
-| `to_timestamp`        | ✅     | Rewrites to `Cast` (or `GetTimestamp` with a format) before Comet sees the plan                                            |
-| `to_timestamp_ltz`    | ✅     | Rewrites to `to_timestamp` (`TimestampType`)                                                                               |
-| `to_timestamp_ntz`    | ✅     | Rewrites to `to_timestamp` (`TimestampNTZType`)                                                                            |
-| `to_unix_timestamp`   | ✅     |                                                                                                                            |
-| `to_utc_timestamp`    | ✅     | Legacy zone forms fall back (Incompatible) ([details](compatibility/expressions/datetime.md))                              |
-| `trunc`               | ✅     |                                                                                                                            |
-| `try_make_interval`   | 🔜     | Produces legacy CalendarInterval; tracked by #4540                                                                         |
-| `try_make_timestamp`  | ⚠️     | Returns a wrong value instead of NULL for invalid inputs ([#4554](https://github.com/apache/datafusion-comet/issues/4554)) |
-| `try_to_date`         | 🔜     | Rewrites to `Cast`/`GetTimestamp` but currently falls back; tracked by #4556                                               |
-| `try_to_time`         | 🔜     | Spark 4.1 TIME type; tracked by #4288                                                                                      |
-| `try_to_timestamp`    | 🔜     | Rewrites to `Cast`/`GetTimestamp` but currently falls back; tracked by #4556                                               |
-| `unix_date`           | ✅     |                                                                                                                            |
-| `unix_micros`         | ✅     |                                                                                                                            |
-| `unix_millis`         | ✅     |                                                                                                                            |
-| `unix_seconds`        | ✅     |                                                                                                                            |
-| `unix_timestamp`      | ✅     |                                                                                                                            |
-| `weekday`             | ✅     |                                                                                                                            |
-| `weekofyear`          | ✅     |                                                                                                                            |
-| `window`              | 🔜     | Time-window grouping; tracked by #4553                                                                                     |
-| `window_time`         | 🔜     | Time-window grouping; tracked by #4553                                                                                     |
-| `year`                | ✅     |                                                                                                                            |
+| Function              | Status | Notes                                                                                                                                  |
+| --------------------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------- |
+| `add_months`          | ✅     |                                                                                                                                        |
+| `convert_timezone`    | ✅     |                                                                                                                                        |
+| `curdate`             | ✅     | Constant-folded to a literal (alias of `current_date`)                                                                                 |
+| `current_date`        | ✅     | Constant-folded to a literal before Comet sees the plan                                                                                |
+| `current_time`        | 🔜     | Blocked on Spark 4.1 TIME type support ([#4288](https://github.com/apache/datafusion-comet/issues/4288))                               |
+| `current_timestamp`   | ✅     | Constant-folded to a literal before Comet sees the plan                                                                                |
+| `current_timezone`    | ✅     |                                                                                                                                        |
+| `date_add`            | ✅     |                                                                                                                                        |
+| `date_diff`           | ✅     |                                                                                                                                        |
+| `date_format`         | ✅     |                                                                                                                                        |
+| `date_from_unix_date` | ✅     |                                                                                                                                        |
+| `date_part`           | ✅     |                                                                                                                                        |
+| `date_sub`            | ✅     |                                                                                                                                        |
+| `date_trunc`          | ✅     |                                                                                                                                        |
+| `dateadd`             | ✅     |                                                                                                                                        |
+| `datediff`            | ✅     |                                                                                                                                        |
+| `datepart`            | ✅     |                                                                                                                                        |
+| `day`                 | ✅     |                                                                                                                                        |
+| `dayname`             | 🔜     | [#4544](https://github.com/apache/datafusion-comet/issues/4544)                                                                        |
+| `dayofmonth`          | ✅     |                                                                                                                                        |
+| `dayofweek`           | ✅     |                                                                                                                                        |
+| `dayofyear`           | ✅     |                                                                                                                                        |
+| `extract`             | ✅     |                                                                                                                                        |
+| `from_unixtime`       | ✅     |                                                                                                                                        |
+| `from_utc_timestamp`  | ✅     | Legacy zone forms fall back (Incompatible) ([details](compatibility/expressions/datetime.md))                                          |
+| `hour`                | ✅     |                                                                                                                                        |
+| `last_day`            | ✅     |                                                                                                                                        |
+| `localtimestamp`      | ✅     |                                                                                                                                        |
+| `make_date`           | ✅     |                                                                                                                                        |
+| `make_dt_interval`    | 🔜     | [#4541](https://github.com/apache/datafusion-comet/issues/4541)                                                                        |
+| `make_interval`       | 🔜     | Produces legacy CalendarInterval; tracked by [#4540](https://github.com/apache/datafusion-comet/issues/4540)                           |
+| `make_time`           | 🔜     | Spark 4.1 TIME type; tracked by [#4288](https://github.com/apache/datafusion-comet/issues/4288)                                        |
+| `make_timestamp`      | ✅     |                                                                                                                                        |
+| `make_timestamp_ltz`  | ✅     | 2-arg TIME form falls back                                                                                                             |
+| `make_timestamp_ntz`  | ✅     | 2-arg TIME form falls back                                                                                                             |
+| `make_ym_interval`    | 🔜     | [#4541](https://github.com/apache/datafusion-comet/issues/4541)                                                                        |
+| `minute`              | ✅     |                                                                                                                                        |
+| `month`               | ✅     |                                                                                                                                        |
+| `monthname`           | 🔜     | [#4544](https://github.com/apache/datafusion-comet/issues/4544)                                                                        |
+| `months_between`      | ✅     |                                                                                                                                        |
+| `next_day`            | ✅     |                                                                                                                                        |
+| `now`                 | ✅     | Constant-folded to a literal (alias of `current_timestamp`)                                                                            |
+| `quarter`             | ✅     |                                                                                                                                        |
+| `second`              | ✅     |                                                                                                                                        |
+| `session_window`      | 🔜     | Time-window grouping; tracked by [#4553](https://github.com/apache/datafusion-comet/issues/4553)                                       |
+| `time_diff`           | 🔜     | Spark 4.1 TIME type; tracked by [#4288](https://github.com/apache/datafusion-comet/issues/4288)                                        |
+| `time_trunc`          | 🔜     | Spark 4.1 TIME type; tracked by [#4288](https://github.com/apache/datafusion-comet/issues/4288)                                        |
+| `timestamp_micros`    | ✅     |                                                                                                                                        |
+| `timestamp_millis`    | ✅     |                                                                                                                                        |
+| `timestamp_seconds`   | ✅     |                                                                                                                                        |
+| `to_date`             | ✅     | Rewrites to `Cast` (or `Cast(GetTimestamp)` with a format) before Comet sees the plan                                                  |
+| `to_time`             | 🔜     | Spark 4.1 TIME type; tracked by [#4288](https://github.com/apache/datafusion-comet/issues/4288)                                        |
+| `to_timestamp`        | ✅     | Rewrites to `Cast` (or `GetTimestamp` with a format) before Comet sees the plan                                                        |
+| `to_timestamp_ltz`    | ✅     | Rewrites to `to_timestamp` (`TimestampType`)                                                                                           |
+| `to_timestamp_ntz`    | ✅     | Rewrites to `to_timestamp` (`TimestampNTZType`)                                                                                        |
+| `to_unix_timestamp`   | ✅     |                                                                                                                                        |
+| `to_utc_timestamp`    | ✅     | Legacy zone forms fall back (Incompatible) ([details](compatibility/expressions/datetime.md))                                          |
+| `trunc`               | ✅     |                                                                                                                                        |
+| `try_make_interval`   | 🔜     | Produces legacy CalendarInterval; tracked by [#4540](https://github.com/apache/datafusion-comet/issues/4540)                           |
+| `try_make_timestamp`  | ⚠️     | Returns a wrong value instead of NULL for invalid inputs ([#4554](https://github.com/apache/datafusion-comet/issues/4554))             |
+| `try_to_date`         | 🔜     | Rewrites to `Cast`/`GetTimestamp` but currently falls back; tracked by [#4556](https://github.com/apache/datafusion-comet/issues/4556) |
+| `try_to_time`         | 🔜     | Spark 4.1 TIME type; tracked by [#4288](https://github.com/apache/datafusion-comet/issues/4288)                                        |
+| `try_to_timestamp`    | 🔜     | Rewrites to `Cast`/`GetTimestamp` but currently falls back; tracked by [#4556](https://github.com/apache/datafusion-comet/issues/4556) |
+| `unix_date`           | ✅     |                                                                                                                                        |
+| `unix_micros`         | ✅     |                                                                                                                                        |
+| `unix_millis`         | ✅     |                                                                                                                                        |
+| `unix_seconds`        | ✅     |                                                                                                                                        |
+| `unix_timestamp`      | ✅     |                                                                                                                                        |
+| `weekday`             | ✅     |                                                                                                                                        |
+| `weekofyear`          | ✅     |                                                                                                                                        |
+| `window`              | 🔜     | Time-window grouping; tracked by [#4553](https://github.com/apache/datafusion-comet/issues/4553)                                       |
+| `window_time`         | 🔜     | Time-window grouping; tracked by [#4553](https://github.com/apache/datafusion-comet/issues/4553)                                       |
+| `year`                | ✅     |                                                                                                                                        |
 
 ---
 
@@ -335,7 +338,7 @@ 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` | 🔜     | tracking #4098                                                                                                                   |
+| `json_array_length` | 🔜     | tracking [#4098](https://github.com/apache/datafusion-comet/issues/4098)                                                         |
 | `json_object_keys`  | 🔜     | [#3161](https://github.com/apache/datafusion-comet/issues/3161)                                                                  |
 | `json_tuple`        | 🔜     | [#3160](https://github.com/apache/datafusion-comet/issues/3160)                                                                  |
 | `schema_of_json`    | 🔜     | [#3163](https://github.com/apache/datafusion-comet/issues/3163)                                                                  |
@@ -384,111 +387,111 @@ All higher-order functions are planned via [#4224](https://github.com/apache/dat
 
 ## math_funcs
 
-| Function       | Status | Notes                                                              |
-| -------------- | ------ | ------------------------------------------------------------------ |
-| `%`            | ✅     | try_mod (TRY mode) falls back                                      |
-| `*`            | ✅     | Interval multiplication falls back                                 |
-| `+`            | ✅     |                                                                    |
-| `-`            | ✅     |                                                                    |
-| `/`            | ✅     |                                                                    |
-| `abs`          | ✅     | Interval types fall back                                           |
-| `acos`         | ✅     |                                                                    |
-| `acosh`        | ✅     |                                                                    |
-| `asin`         | ✅     |                                                                    |
-| `asinh`        | ✅     |                                                                    |
-| `atan`         | ✅     |                                                                    |
-| `atan2`        | ✅     |                                                                    |
-| `atanh`        | ✅     |                                                                    |
-| `bin`          | ✅     |                                                                    |
-| `bround`       | 🔜     | #4538                                                              |
-| `cbrt`         | ✅     |                                                                    |
-| `ceil`         | ✅     | Two-arg form falls back                                            |
-| `ceiling`      | ✅     |                                                                    |
-| `conv`         | 🔜     | #4538                                                              |
-| `cos`          | ✅     |                                                                    |
-| `cosh`         | ✅     |                                                                    |
-| `cot`          | ✅     |                                                                    |
-| `csc`          | ✅     |                                                                    |
-| `degrees`      | ✅     |                                                                    |
-| `div`          | ✅     |                                                                    |
-| `e`            | ✅     | Folds to a literal (like `pi`)                                     |
-| `exp`          | ✅     |                                                                    |
-| `expm1`        | ✅     |                                                                    |
-| `factorial`    | ✅     |                                                                    |
-| `floor`        | ✅     | Two-arg form falls back                                            |
-| `greatest`     | ✅     |                                                                    |
-| `hex`          | ✅     |                                                                    |
-| `hypot`        | 🔜     | #4538                                                              |
-| `least`        | ✅     |                                                                    |
-| `ln`           | ✅     |                                                                    |
-| `log`          | ✅     |                                                                    |
-| `log10`        | ✅     |                                                                    |
-| `log1p`        | 🔜     | #4538                                                              |
-| `log2`         | ✅     |                                                                    |
-| `mod`          | ✅     |                                                                    |
-| `negative`     | ✅     |                                                                    |
-| `pi`           | ✅     |                                                                    |
-| `pmod`         | 🔜     | #4538                                                              |
-| `positive`     | ✅     |                                                                    |
-| `pow`          | ✅     |                                                                    |
-| `power`        | ✅     |                                                                    |
-| `radians`      | ✅     |                                                                    |
-| `rand`         | ✅     |                                                                    |
-| `randn`        | ✅     |                                                                    |
-| `random`       | ✅     | Alias for `rand` (Spark 4.0+); seed must be a literal              |
-| `randstr`      | 🔜     | Random string (Spark 4.0+)                                         |
-| `rint`         | ✅     |                                                                    |
-| `round`        | ✅     | Float/double inputs fall back                                      |
-| `sec`          | ✅     |                                                                    |
-| `shiftleft`    | ✅     |                                                                    |
-| `sign`         | ✅     |                                                                    |
-| `signum`       | ✅     |                                                                    |
-| `sin`          | ✅     |                                                                    |
-| `sinh`         | ✅     |                                                                    |
-| `sqrt`         | ✅     |                                                                    |
-| `tan`          | ✅     |                                                                    |
-| `tanh`         | ✅     |                                                                    |
-| `try_add`      | ✅     | Datetime/interval form falls back                                  |
-| `try_divide`   | ✅     |                                                                    |
-| `try_mod`      | 🔜     | Lowers to `Remainder` with TRY eval mode, which falls back (#4484) |
-| `try_multiply` | ✅     |                                                                    |
-| `try_subtract` | ✅     |                                                                    |
-| `unhex`        | ✅     |                                                                    |
-| `uniform`      | ✅     | Constant-folded; literal arguments only (Spark 4.0+)               |
-| `width_bucket` | ✅     |                                                                    |
+| Function       | Status | Notes                                                                                                                        |
+| -------------- | ------ | ---------------------------------------------------------------------------------------------------------------------------- |
+| `%`            | ✅     | try_mod (TRY mode) falls back                                                                                                |
+| `*`            | ✅     | Interval multiplication falls back                                                                                           |
+| `+`            | ✅     |                                                                                                                              |
+| `-`            | ✅     |                                                                                                                              |
+| `/`            | ✅     |                                                                                                                              |
+| `abs`          | ✅     | Interval types fall back                                                                                                     |
+| `acos`         | ✅     |                                                                                                                              |
+| `acosh`        | ✅     |                                                                                                                              |
+| `asin`         | ✅     |                                                                                                                              |
+| `asinh`        | ✅     |                                                                                                                              |
+| `atan`         | ✅     |                                                                                                                              |
+| `atan2`        | ✅     |                                                                                                                              |
+| `atanh`        | ✅     |                                                                                                                              |
+| `bin`          | ✅     |                                                                                                                              |
+| `bround`       | 🔜     | [#4538](https://github.com/apache/datafusion-comet/issues/4538)                                                              |
+| `cbrt`         | ✅     |                                                                                                                              |
+| `ceil`         | ✅     | Two-arg form falls back                                                                                                      |
+| `ceiling`      | ✅     |                                                                                                                              |
+| `conv`         | 🔜     | [#4538](https://github.com/apache/datafusion-comet/issues/4538)                                                              |
+| `cos`          | ✅     |                                                                                                                              |
+| `cosh`         | ✅     |                                                                                                                              |
+| `cot`          | ✅     |                                                                                                                              |
+| `csc`          | ✅     |                                                                                                                              |
+| `degrees`      | ✅     |                                                                                                                              |
+| `div`          | ✅     |                                                                                                                              |
+| `e`            | ✅     | Folds to a literal (like `pi`)                                                                                               |
+| `exp`          | ✅     |                                                                                                                              |
+| `expm1`        | ✅     |                                                                                                                              |
+| `factorial`    | ✅     |                                                                                                                              |
+| `floor`        | ✅     | Two-arg form falls back                                                                                                      |
+| `greatest`     | ✅     |                                                                                                                              |
+| `hex`          | ✅     |                                                                                                                              |
+| `hypot`        | 🔜     | [#4538](https://github.com/apache/datafusion-comet/issues/4538)                                                              |
+| `least`        | ✅     |                                                                                                                              |
+| `ln`           | ✅     |                                                                                                                              |
+| `log`          | ✅     |                                                                                                                              |
+| `log10`        | ✅     |                                                                                                                              |
+| `log1p`        | 🔜     | [#4538](https://github.com/apache/datafusion-comet/issues/4538)                                                              |
+| `log2`         | ✅     |                                                                                                                              |
+| `mod`          | ✅     |                                                                                                                              |
+| `negative`     | ✅     |                                                                                                                              |
+| `pi`           | ✅     |                                                                                                                              |
+| `pmod`         | 🔜     | [#4538](https://github.com/apache/datafusion-comet/issues/4538)                                                              |
+| `positive`     | ✅     |                                                                                                                              |
+| `pow`          | ✅     |                                                                                                                              |
+| `power`        | ✅     |                                                                                                                              |
+| `radians`      | ✅     |                                                                                                                              |
+| `rand`         | ✅     |                                                                                                                              |
+| `randn`        | ✅     |                                                                                                                              |
+| `random`       | ✅     | Alias for `rand` (Spark 4.0+); seed must be a literal                                                                        |
+| `randstr`      | 🔜     | Random string (Spark 4.0+)                                                                                                   |
+| `rint`         | ✅     |                                                                                                                              |
+| `round`        | ✅     | Float/double inputs fall back                                                                                                |
+| `sec`          | ✅     |                                                                                                                              |
+| `shiftleft`    | ✅     |                                                                                                                              |
+| `sign`         | ✅     |                                                                                                                              |
+| `signum`       | ✅     |                                                                                                                              |
+| `sin`          | ✅     |                                                                                                                              |
+| `sinh`         | ✅     |                                                                                                                              |
+| `sqrt`         | ✅     |                                                                                                                              |
+| `tan`          | ✅     |                                                                                                                              |
+| `tanh`         | ✅     |                                                                                                                              |
+| `try_add`      | ✅     | Datetime/interval form falls back                                                                                            |
+| `try_divide`   | ✅     |                                                                                                                              |
+| `try_mod`      | 🔜     | Lowers to `Remainder` with TRY eval mode, which falls back ([#4484](https://github.com/apache/datafusion-comet/issues/4484)) |
+| `try_multiply` | ✅     |                                                                                                                              |
+| `try_subtract` | ✅     |                                                                                                                              |
+| `unhex`        | ✅     |                                                                                                                              |
+| `uniform`      | ✅     | Constant-folded; literal arguments only (Spark 4.0+)                                                                         |
+| `width_bucket` | ✅     |                                                                                                                              |
 
 ---
 
 ## misc_funcs
 
-| Function                      | Status | Notes                                                                            |
-| ----------------------------- | ------ | -------------------------------------------------------------------------------- |
-| `aes_decrypt`                 | 🔜     | Falls back; `StaticInvoke` not allowlisted; planned via codegen dispatch (#4558) |
-| `aes_encrypt`                 | 🔜     | Falls back; planned via codegen dispatch (#4558); nondeterministic IV by default |
-| `assert_true`                 | 🔜     | Lowers to `RaiseError`, which falls back                                         |
-| `current_catalog`             | ✅     | Resolved to a literal by the analyzer (`ReplaceCurrentLike`)                     |
-| `current_database`            | ✅     | Resolved to a literal by the analyzer (`ReplaceCurrentLike`)                     |
-| `current_schema`              | ✅     | Alias of `current_database`; resolved to a literal by the analyzer               |
-| `current_user`                | ✅     | Resolved to a literal by the analyzer; same as `user`                            |
-| `equal_null`                  | ✅     | Lowers to `<=>` (`EqualNullSafe`)                                                |
-| `is_variant_null`             | 🔜     | tracking #4098                                                                   |
-| `monotonically_increasing_id` | ✅     |                                                                                  |
-| `parse_json`                  | 🔜     | tracking #4098                                                                   |
-| `raise_error`                 | 🔜     | Raises a runtime error                                                           |
-| `rand`                        | ✅     | Seed must be a literal                                                           |
-| `randn`                       | ✅     | Seed must be a literal                                                           |
-| `schema_of_variant`           | 🔜     | tracking #4098                                                                   |
-| `schema_of_variant_agg`       | 🔜     | tracking #4098                                                                   |
-| `session_user`                | ✅     | Alias of `current_user`; resolved to a literal by the analyzer                   |
-| `spark_partition_id`          | ✅     |                                                                                  |
-| `to_variant_object`           | 🔜     | tracking #4098                                                                   |
-| `try_aes_decrypt`             | 🔜     | Falls back; planned via codegen dispatch (#4558)                                 |
-| `try_parse_json`              | 🔜     | tracking #4098                                                                   |
-| `try_variant_get`             | 🔜     | tracking #4098                                                                   |
-| `typeof`                      | ✅     | Foldable; resolved to a literal before Comet sees the plan                       |
-| `user`                        | ✅     | Resolved to a literal by the Spark analyzer before reaching Comet                |
-| `uuid`                        | 🔜     | Nondeterministic random UUID                                                     |
-| `variant_get`                 | 🔜     | tracking #4098                                                                   |
+| Function                      | Status | Notes                                                                                                                                      |
+| ----------------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------ |
+| `aes_decrypt`                 | 🔜     | Falls back; `StaticInvoke` not allowlisted; planned via codegen dispatch ([#4558](https://github.com/apache/datafusion-comet/issues/4558)) |
+| `aes_encrypt`                 | 🔜     | Falls back; planned via codegen dispatch ([#4558](https://github.com/apache/datafusion-comet/issues/4558)); nondeterministic IV by default |
+| `assert_true`                 | 🔜     | Lowers to `RaiseError`, which falls back                                                                                                   |
+| `current_catalog`             | ✅     | Resolved to a literal by the analyzer (`ReplaceCurrentLike`)                                                                               |
+| `current_database`            | ✅     | Resolved to a literal by the analyzer (`ReplaceCurrentLike`)                                                                               |
+| `current_schema`              | ✅     | Alias of `current_database`; resolved to a literal by the analyzer                                                                         |
+| `current_user`                | ✅     | Resolved to a literal by the analyzer; same as `user`                                                                                      |
+| `equal_null`                  | ✅     | Lowers to `<=>` (`EqualNullSafe`)                                                                                                          |
+| `is_variant_null`             | 🔜     | tracking [#4098](https://github.com/apache/datafusion-comet/issues/4098)                                                                   |
+| `monotonically_increasing_id` | ✅     |                                                                                                                                            |
+| `parse_json`                  | 🔜     | tracking [#4098](https://github.com/apache/datafusion-comet/issues/4098)                                                                   |
+| `raise_error`                 | 🔜     | Raises a runtime error                                                                                                                     |
+| `rand`                        | ✅     | Seed must be a literal                                                                                                                     |
+| `randn`                       | ✅     | Seed must be a literal                                                                                                                     |
+| `schema_of_variant`           | 🔜     | tracking [#4098](https://github.com/apache/datafusion-comet/issues/4098)                                                                   |
+| `schema_of_variant_agg`       | 🔜     | tracking [#4098](https://github.com/apache/datafusion-comet/issues/4098)                                                                   |
+| `session_user`                | ✅     | Alias of `current_user`; resolved to a literal by the analyzer                                                                             |
+| `spark_partition_id`          | ✅     |                                                                                                                                            |
+| `to_variant_object`           | 🔜     | tracking [#4098](https://github.com/apache/datafusion-comet/issues/4098)                                                                   |
+| `try_aes_decrypt`             | 🔜     | Falls back; planned via codegen dispatch ([#4558](https://github.com/apache/datafusion-comet/issues/4558))                                 |
+| `try_parse_json`              | 🔜     | tracking [#4098](https://github.com/apache/datafusion-comet/issues/4098)                                                                   |
+| `try_variant_get`             | 🔜     | tracking [#4098](https://github.com/apache/datafusion-comet/issues/4098)                                                                   |
+| `typeof`                      | ✅     | Foldable; resolved to a literal before Comet sees the plan                                                                                 |
+| `user`                        | ✅     | Resolved to a literal by the Spark analyzer before reaching Comet                                                                          |
+| `uuid`                        | 🔜     | Nondeterministic random UUID                                                                                                               |
+| `variant_get`                 | 🔜     | tracking [#4098](https://github.com/apache/datafusion-comet/issues/4098)                                                                   |
 
 ---
 
@@ -522,74 +525,74 @@ All higher-order functions are planned via [#4224](https://github.com/apache/dat
 
 ## string_funcs
 
-| Function             | Status | Notes                                                                            |
-| -------------------- | ------ | -------------------------------------------------------------------------------- |
-| `ascii`              | ✅     |                                                                                  |
-| `base64`             | 🔜     | Lowers to `StaticInvoke(encode)` (not allowlisted); falls back                   |
-| `bit_length`         | ✅     |                                                                                  |
-| `btrim`              | ✅     |                                                                                  |
-| `char`               | ✅     |                                                                                  |
-| `char_length`        | ✅     |                                                                                  |
-| `character_length`   | ✅     |                                                                                  |
-| `chr`                | ✅     |                                                                                  |
-| `collate`            | 🔜     | Spark collation (umbrella #2190)                                                 |
-| `collation`          | ✅     | Constant-folded to a literal (Spark 4.0+)                                        |
-| `concat_ws`          | ✅     |                                                                                  |
-| `contains`           | ✅     |                                                                                  |
-| `decode`             | ✅     |                                                                                  |
-| `elt`                | 🔜     | #4538                                                                            |
-| `encode`             | 🔜     | Lowers to `StaticInvoke(encode)` (not allowlisted); falls back                   |
-| `endswith`           | ✅     |                                                                                  |
-| `find_in_set`        | 🔜     | #4538                                                                            |
-| `format_number`      | 🔜     | #4538                                                                            |
-| `format_string`      | 🔜     | #4538                                                                            |
-| `initcap`            | ✅     |                                                                                  |
-| `instr`              | ✅     |                                                                                  |
-| `lcase`              | ✅     |                                                                                  |
-| `left`               | ✅     |                                                                                  |
-| `len`                | ✅     |                                                                                  |
-| `length`             | ✅     |                                                                                  |
-| `levenshtein`        | 🔜     | #4538                                                                            |
-| `locate`             | 🔜     | #4538                                                                            |
-| `lower`              | ✅     |                                                                                  |
-| `lpad`               | ✅     |                                                                                  |
-| `ltrim`              | ✅     |                                                                                  |
-| `luhn_check`         | ✅     | Native via `StaticInvoke` (tests: luhn_check.sql)                                |
-| `mask`               | 🔜     | Data masking                                                                     |
-| `octet_length`       | ✅     |                                                                                  |
-| `overlay`            | 🔜     | #4538                                                                            |
-| `position`           | 🔜     | #4538                                                                            |
-| `printf`             | 🔜     | #4538                                                                            |
-| `regexp_count`       | 🔜     | tracking #4098                                                                   |
-| `regexp_extract`     | 🔜     | tracking #4098                                                                   |
-| `regexp_extract_all` | 🔜     | tracking #4098                                                                   |
-| `regexp_instr`       | 🔜     | tracking #4098                                                                   |
-| `regexp_replace`     | ✅     |                                                                                  |
-| `regexp_substr`      | 🔜     | tracking #4098                                                                   |
-| `repeat`             | ✅     |                                                                                  |
-| `replace`            | ✅     |                                                                                  |
-| `right`              | ✅     |                                                                                  |
-| `rpad`               | ✅     |                                                                                  |
-| `rtrim`              | ✅     |                                                                                  |
-| `soundex`            | 🔜     | #4538                                                                            |
-| `space`              | ✅     |                                                                                  |
-| `split`              | ✅     |                                                                                  |
-| `split_part`         | 🔜     | Lowers to `element_at(StringSplitSQL(...))`; `StringSplitSQL` falls back (#4561) |
-| `startswith`         | ✅     |                                                                                  |
-| `substr`             | ✅     |                                                                                  |
-| `substring`          | ✅     |                                                                                  |
-| `substring_index`    | ✅     |                                                                                  |
-| `to_binary`          | ✅     | Hex form accelerated; other formats fall back                                    |
-| `to_char`            | 🔜     | #4538                                                                            |
-| `to_number`          | 🔜     | #4538                                                                            |
-| `to_varchar`         | 🔜     | #4538                                                                            |
-| `translate`          | ✅     |                                                                                  |
-| `trim`               | ✅     |                                                                                  |
-| `try_to_binary`      | 🔜     | Lowers to `TryEval(...)`, which falls back                                       |
-| `try_to_number`      | 🔜     | TRY variant of `to_number`                                                       |
-| `ucase`              | ✅     |                                                                                  |
-| `unbase64`           | 🔜     | #4538                                                                            |
-| `upper`              | ✅     |                                                                                  |
+| Function             | Status | Notes                                                                                                                                      |
+| -------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------ |
+| `ascii`              | ✅     |                                                                                                                                            |
+| `base64`             | 🔜     | Lowers to `StaticInvoke(encode)` (not allowlisted); falls back                                                                             |
+| `bit_length`         | ✅     |                                                                                                                                            |
+| `btrim`              | ✅     |                                                                                                                                            |
+| `char`               | ✅     |                                                                                                                                            |
+| `char_length`        | ✅     |                                                                                                                                            |
+| `character_length`   | ✅     |                                                                                                                                            |
+| `chr`                | ✅     |                                                                                                                                            |
+| `collate`            | 🔜     | Spark collation (umbrella [#2190](https://github.com/apache/datafusion-comet/issues/2190))                                                 |
+| `collation`          | ✅     | Constant-folded to a literal (Spark 4.0+)                                                                                                  |
+| `concat_ws`          | ✅     |                                                                                                                                            |
+| `contains`           | ✅     |                                                                                                                                            |
+| `decode`             | ✅     |                                                                                                                                            |
+| `elt`                | 🔜     | [#4538](https://github.com/apache/datafusion-comet/issues/4538)                                                                            |
+| `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)                                                                            |
+| `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)                                                                            |
+| `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)                                                                            |
+| `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)                                                                   |
+| `regexp_instr`       | 🔜     | tracking [#4098](https://github.com/apache/datafusion-comet/issues/4098)                                                                   |
+| `regexp_replace`     | ✅     |                                                                                                                                            |
+| `regexp_substr`      | 🔜     | tracking [#4098](https://github.com/apache/datafusion-comet/issues/4098)                                                                   |
+| `repeat`             | ✅     |                                                                                                                                            |
+| `replace`            | ✅     |                                                                                                                                            |
+| `right`              | ✅     |                                                                                                                                            |
+| `rpad`               | ✅     |                                                                                                                                            |
+| `rtrim`              | ✅     |                                                                                                                                            |
+| `soundex`            | 🔜     | [#4538](https://github.com/apache/datafusion-comet/issues/4538)                                                                            |
+| `space`              | ✅     |                                                                                                                                            |
+| `split`              | ✅     |                                                                                                                                            |
+| `split_part`         | 🔜     | Lowers to `element_at(StringSplitSQL(...))`; `StringSplitSQL` falls back ([#4561](https://github.com/apache/datafusion-comet/issues/4561)) |
+| `startswith`         | ✅     |                                                                                                                                            |
+| `substr`             | ✅     |                                                                                                                                            |
+| `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)                                                                            |
+| `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)                                                                            |
+| `upper`              | ✅     |                                                                                                                                            |
 
 ---
 
@@ -622,17 +625,17 @@ When enabled, `lag` and `lead` are explicitly wired; aggregate window functions
 `ntile`, `percent_rank`, `cume_dist`, `nth_value`) are not yet wired in the window serde and
 fall back to Spark.
 
-| Function       | Status | Notes                             |
-| -------------- | ------ | --------------------------------- |
-| `cume_dist`    | 🔜     | Window function; tracked by #2721 |
-| `dense_rank`   | 🔜     | Window function; tracked by #2721 |
-| `lag`          | ✅     | via `CometWindowExec`             |
-| `lead`         | ✅     | via `CometWindowExec`             |
-| `nth_value`    | 🔜     | Window function; tracked by #2721 |
-| `ntile`        | 🔜     | Window function; tracked by #2721 |
-| `percent_rank` | 🔜     | Window function; tracked by #2721 |
-| `rank`         | 🔜     | Window function; tracked by #2721 |
-| `row_number`   | 🔜     | Window function; tracked by #2721 |
+| Function       | Status | Notes                                                                                       |
+| -------------- | ------ | ------------------------------------------------------------------------------------------- |
+| `cume_dist`    | 🔜     | Window function; tracked by [#2721](https://github.com/apache/datafusion-comet/issues/2721) |
+| `dense_rank`   | 🔜     | Window function; tracked by [#2721](https://github.com/apache/datafusion-comet/issues/2721) |
+| `lag`          | ✅     | via `CometWindowExec`                                                                       |
+| `lead`         | ✅     | via `CometWindowExec`                                                                       |
+| `nth_value`    | 🔜     | Window function; tracked by [#2721](https://github.com/apache/datafusion-comet/issues/2721) |
+| `ntile`        | 🔜     | Window function; tracked by [#2721](https://github.com/apache/datafusion-comet/issues/2721) |
+| `percent_rank` | 🔜     | Window function; tracked by [#2721](https://github.com/apache/datafusion-comet/issues/2721) |
+| `rank`         | 🔜     | Window function; tracked by [#2721](https://github.com/apache/datafusion-comet/issues/2721) |
+| `row_number`   | 🔜     | Window function; tracked by [#2721](https://github.com/apache/datafusion-comet/issues/2721) |
 
 ---
 
diff --git a/searchindex.js b/searchindex.js
index 276eae370a..fc8c85dbbb 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/expressions.html b/user-guide/latest/expressions.html
index df58318c49..49769a2aaf 100644
--- a/user-guide/latest/expressions.html
+++ b/user-guide/latest/expressions.html
@@ -529,9 +529,11 @@ under the License.
 expression. Comet accelerates expressions either with a native (Rust) implementation or by
 dispatching to a Spark-compatible codegen path. When an expression is not supported, Comet
 transparently falls back to Spark for that part of the plan; results are unaffected.</p>
-<p>Expressions marked ✅ Supported are enabled by default. Expressions marked ⚠️ Supported
-(caveats) include cases that are known to diverge from Spark; those cases fall back to Spark
-by default and must be opted into per expression with
+<p>Expressions marked ✅ Supported are enabled by default and produce Spark-compatible results.
+Expressions marked ⚠️ Incorrect by default run natively by default but can return results that
+differ from Spark on some inputs; see the linked detail on each affected row.</p>
+<p>Some ✅ Supported expressions have specific incompatible cases that fall back to Spark by
+default. Those cases must be opted into per expression with
 <code class="docutils literal notranslate"><span class="pre">spark.comet.expression.EXPRNAME.allowIncompatible=true</span></code> (where <code class="docutils literal notranslate"><span class="pre">EXPRNAME</span></code> is the Spark
 expression class name, for example <code class="docutils literal notranslate"><span class="pre">Cast</span></code>). There is no global opt-in.</p>
 <p>Most expressions can also be disabled with <code class="docutils literal notranslate"><span class="pre">spark.comet.expression.EXPRNAME.enabled=false</span></code>, where
@@ -600,11 +602,11 @@ expressions. The following function families are <strong>not currently planned</
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">approx_count_distinct</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>tracking #4098</p></td>
+<td><p>tracking <a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4098">#4098</a></p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">array_agg</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>Array aggregate (related to <code class="docutils literal notranslate"><span class="pre">collect_list</span></code>, #2524)</p></td>
+<td><p>Array aggregate (related to <code class="docutils literal notranslate"><span class="pre">collect_list</span></code>, <a class="reference external" href="https://github.com/apache/datafusion-comet/issues/2524">#2524</a>)</p></td>
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">avg</span></code></p></td>
 <td><p>✅</p></td>
@@ -680,7 +682,7 @@ expressions. The following function families are <strong>not currently planned</
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">kurtosis</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>tracking #4098</p></td>
+<td><p>tracking <a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4098">#4098</a></p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">last</span></code></p></td>
 <td><p>✅</p></td>
@@ -708,7 +710,7 @@ expressions. The following function families are <strong>not currently planned</
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">median</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>tracking #4098</p></td>
+<td><p>tracking <a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4098">#4098</a></p></td>
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">min</span></code></p></td>
 <td><p>✅</p></td>
@@ -724,7 +726,7 @@ expressions. The following function families are <strong>not currently planned</
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">percentile</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>#4542</p></td>
+<td><p><a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4542">#4542</a></p></td>
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">percentile_cont</span></code></p></td>
 <td><p>🔜</p></td>
@@ -736,43 +738,43 @@ expressions. The following function families are <strong>not currently planned</
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">regr_avgx</span></code></p></td>
 <td><p>✅</p></td>
-<td><p>Native: Spark rewrites to <code class="docutils literal notranslate"><span class="pre">Average</span></code> (tests in #4551)</p></td>
+<td><p>Native: Spark rewrites to <code class="docutils literal notranslate"><span class="pre">Average</span></code> (tests in <a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4551">#4551</a>)</p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">regr_avgy</span></code></p></td>
 <td><p>✅</p></td>
-<td><p>Native: Spark rewrites to <code class="docutils literal notranslate"><span class="pre">Average</span></code> (tests in #4551)</p></td>
+<td><p>Native: Spark rewrites to <code class="docutils literal notranslate"><span class="pre">Average</span></code> (tests in <a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4551">#4551</a>)</p></td>
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">regr_count</span></code></p></td>
 <td><p>✅</p></td>
-<td><p>Native: Spark rewrites to <code class="docutils literal notranslate"><span class="pre">Count</span></code> (tests in #4551)</p></td>
+<td><p>Native: Spark rewrites to <code class="docutils literal notranslate"><span class="pre">Count</span></code> (tests in <a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4551">#4551</a>)</p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">regr_intercept</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>Falls back; can reuse <code class="docutils literal notranslate"><span class="pre">covar_pop</span></code>/<code class="docutils literal notranslate"><span class="pre">var_pop</span></code> accumulators (#4552)</p></td>
+<td><p>Falls back; can reuse <code class="docutils literal notranslate"><span class="pre">covar_pop</span></code>/<code class="docutils literal notranslate"><span class="pre">var_pop</span></code> accumulators (<a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4552">#4552</a>)</p></td>
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">regr_r2</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>Falls back; can reuse the <code class="docutils literal notranslate"><span class="pre">corr</span></code> accumulator (#4552)</p></td>
+<td><p>Falls back; can reuse the <code class="docutils literal notranslate"><span class="pre">corr</span></code> accumulator (<a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4552">#4552</a>)</p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">regr_slope</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>Falls back; can reuse <code class="docutils literal notranslate"><span class="pre">covar_pop</span></code>/<code class="docutils literal notranslate"><span class="pre">var_pop</span></code> accumulators (#4552)</p></td>
+<td><p>Falls back; can reuse <code class="docutils literal notranslate"><span class="pre">covar_pop</span></code>/<code class="docutils literal notranslate"><span class="pre">var_pop</span></code> accumulators (<a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4552">#4552</a>)</p></td>
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">regr_sxx</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>Falls back; can reuse <code class="docutils literal notranslate"><span class="pre">var_pop</span></code> accumulator (#4552)</p></td>
+<td><p>Falls back; can reuse <code class="docutils literal notranslate"><span class="pre">var_pop</span></code> accumulator (<a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4552">#4552</a>)</p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">regr_sxy</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>Falls back; can reuse <code class="docutils literal notranslate"><span class="pre">covar_pop</span></code> accumulator (#4552)</p></td>
+<td><p>Falls back; can reuse <code class="docutils literal notranslate"><span class="pre">covar_pop</span></code> accumulator (<a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4552">#4552</a>)</p></td>
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">regr_syy</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>Falls back; can reuse <code class="docutils literal notranslate"><span class="pre">var_pop</span></code> accumulator (#4552)</p></td>
+<td><p>Falls back; can reuse <code class="docutils literal notranslate"><span class="pre">var_pop</span></code> accumulator (<a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4552">#4552</a>)</p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">skewness</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>tracking #4098</p></td>
+<td><p>tracking <a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4098">#4098</a></p></td>
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">some</span></code></p></td>
 <td><p>✅</p></td>
@@ -804,11 +806,11 @@ expressions. The following function families are <strong>not currently planned</
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">try_avg</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>tracking #4098</p></td>
+<td><p>tracking <a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4098">#4098</a></p></td>
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">try_sum</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>tracking #4098</p></td>
+<td><p>tracking <a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4098">#4098</a></p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">var_pop</span></code></p></td>
 <td><p>✅</p></td>
@@ -923,7 +925,7 @@ expressions. The following function families are <strong>not currently planned</
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">sequence</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>#4538</p></td>
+<td><p><a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4538">#4538</a></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>
@@ -931,7 +933,7 @@ expressions. The following function families are <strong>not currently planned</
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">slice</span></code></p></td>
 <td><p>✅</p></td>
-<td><p>Native (#4149)</p></td>
+<td><p>Native (<a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4149">#4149</a>)</p></td>
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">sort_array</span></code></p></td>
 <td><p>✅</p></td>
@@ -1064,7 +1066,7 @@ expressions. The following function families are <strong>not currently planned</
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">nanvl</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>#4538</p></td>
+<td><p><a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4538">#4538</a></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>
@@ -1143,7 +1145,7 @@ expressions. The following function families are <strong>not currently planned</
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">current_time</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>Blocked on Spark 4.1 TIME type support (#4288)</p></td>
+<td><p>Blocked on Spark 4.1 TIME type support (<a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4288">#4288</a>)</p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">current_timestamp</span></code></p></td>
 <td><p>✅</p></td>
@@ -1199,7 +1201,7 @@ expressions. The following function families are <strong>not currently planned</
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">dayname</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>#4544</p></td>
+<td><p><a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4544">#4544</a></p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">dayofmonth</span></code></p></td>
 <td><p>✅</p></td>
@@ -1243,15 +1245,15 @@ expressions. The following function families are <strong>not currently planned</
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">make_dt_interval</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>#4541</p></td>
+<td><p><a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4541">#4541</a></p></td>
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">make_interval</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>Produces legacy CalendarInterval; tracked by #4540</p></td>
+<td><p>Produces legacy CalendarInterval; tracked by <a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4540">#4540</a></p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">make_time</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>Spark 4.1 TIME type; tracked by #4288</p></td>
+<td><p>Spark 4.1 TIME type; tracked by <a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4288">#4288</a></p></td>
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">make_timestamp</span></code></p></td>
 <td><p>✅</p></td>
@@ -1267,7 +1269,7 @@ expressions. The following function families are <strong>not currently planned</
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">make_ym_interval</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>#4541</p></td>
+<td><p><a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4541">#4541</a></p></td>
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">minute</span></code></p></td>
 <td><p>✅</p></td>
@@ -1279,7 +1281,7 @@ expressions. The following function families are <strong>not currently planned</
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">monthname</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>#4544</p></td>
+<td><p><a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4544">#4544</a></p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">months_between</span></code></p></td>
 <td><p>✅</p></td>
@@ -1303,15 +1305,15 @@ expressions. The following function families are <strong>not currently planned</
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">session_window</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>Time-window grouping; tracked by #4553</p></td>
+<td><p>Time-window grouping; tracked by <a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4553">#4553</a></p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">time_diff</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>Spark 4.1 TIME type; tracked by #4288</p></td>
+<td><p>Spark 4.1 TIME type; tracked by <a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4288">#4288</a></p></td>
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">time_trunc</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>Spark 4.1 TIME type; tracked by #4288</p></td>
+<td><p>Spark 4.1 TIME type; tracked by <a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4288">#4288</a></p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">timestamp_micros</span></code></p></td>
 <td><p>✅</p></td>
@@ -1331,7 +1333,7 @@ expressions. The following function families are <strong>not currently planned</
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">to_time</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>Spark 4.1 TIME type; tracked by #4288</p></td>
+<td><p>Spark 4.1 TIME type; tracked by <a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4288">#4288</a></p></td>
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">to_timestamp</span></code></p></td>
 <td><p>✅</p></td>
@@ -1359,7 +1361,7 @@ expressions. The following function families are <strong>not currently planned</
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">try_make_interval</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>Produces legacy CalendarInterval; tracked by #4540</p></td>
+<td><p>Produces legacy CalendarInterval; tracked by <a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4540">#4540</a></p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">try_make_timestamp</span></code></p></td>
 <td><p>⚠️</p></td>
@@ -1367,15 +1369,15 @@ expressions. The following function families are <strong>not currently planned</
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">try_to_date</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>Rewrites to <code class="docutils literal notranslate"><span class="pre">Cast</span></code>/<code class="docutils literal notranslate"><span class="pre">GetTimestamp</span></code> but currently falls back; tracked by #4556</p></td>
+<td><p>Rewrites to <code class="docutils literal notranslate"><span class="pre">Cast</span></code>/<code class="docutils literal notranslate"><span class="pre">GetTimestamp</span></code> but currently falls back; tracked by <a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4556">#4556</a></p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">try_to_time</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>Spark 4.1 TIME type; tracked by #4288</p></td>
+<td><p>Spark 4.1 TIME type; tracked by <a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4288">#4288</a></p></td>
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">try_to_timestamp</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>Rewrites to <code class="docutils literal notranslate"><span class="pre">Cast</span></code>/<code class="docutils literal notranslate"><span class="pre">GetTimestamp</span></code> but currently falls back; tracked by #4556</p></td>
+<td><p>Rewrites to <code class="docutils literal notranslate"><span class="pre">Cast</span></code>/<code class="docutils literal notranslate"><span class="pre">GetTimestamp</span></code> but currently falls back; tracked by <a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4556">#4556</a></p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">unix_date</span></code></p></td>
 <td><p>✅</p></td>
@@ -1407,11 +1409,11 @@ expressions. The following function families are <strong>not currently planned</
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">window</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>Time-window grouping; tracked by #4553</p></td>
+<td><p>Time-window grouping; tracked by <a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4553">#4553</a></p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">window_time</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>Time-window grouping; tracked by #4553</p></td>
+<td><p>Time-window grouping; tracked by <a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4553">#4553</a></p></td>
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">year</span></code></p></td>
 <td><p>✅</p></td>
@@ -1531,7 +1533,7 @@ expression-level). The <code class="docutils literal notranslate"><span class="p
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">json_array_length</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>tracking #4098</p></td>
+<td><p>tracking <a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4098">#4098</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>
@@ -1745,7 +1747,7 @@ expression-level). The <code class="docutils literal notranslate"><span class="p
 </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>#4538</p></td>
+<td><p><a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4538">#4538</a></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>
@@ -1761,7 +1763,7 @@ expression-level). The <code class="docutils literal notranslate"><span class="p
 </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>#4538</p></td>
+<td><p><a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4538">#4538</a></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>
@@ -1817,7 +1819,7 @@ expression-level). The <code class="docutils literal notranslate"><span class="p
 </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>#4538</p></td>
+<td><p><a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4538">#4538</a></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>
@@ -1837,7 +1839,7 @@ expression-level). The <code class="docutils literal notranslate"><span class="p
 </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>#4538</p></td>
+<td><p><a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4538">#4538</a></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>
@@ -1857,7 +1859,7 @@ expression-level). The <code class="docutils literal notranslate"><span class="p
 </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>#4538</p></td>
+<td><p><a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4538">#4538</a></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>
@@ -1945,7 +1947,7 @@ expression-level). The <code class="docutils literal notranslate"><span class="p
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">try_mod</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>Lowers to <code class="docutils literal notranslate"><span class="pre">Remainder</span></code> with TRY eval mode, which falls back (#4484)</p></td>
+<td><p>Lowers to <code class="docutils literal notranslate"><span class="pre">Remainder</span></code> with TRY eval mode, which falls back (<a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4484">#4484</a>)</p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">try_multiply</span></code></p></td>
 <td><p>✅</p></td>
@@ -1984,11 +1986,11 @@ expression-level). The <code class="docutils literal notranslate"><span class="p
 <tbody>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">aes_decrypt</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>Falls back; <code class="docutils literal notranslate"><span class="pre">StaticInvoke</span></code> not allowlisted; planned via codegen dispatch (#4558)</p></td>
+<td><p>Falls back; <code class="docutils literal notranslate"><span class="pre">StaticInvoke</span></code> not allowlisted; planned via codegen dispatch (<a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4558">#4558</a>)</p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">aes_encrypt</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>Falls back; planned via codegen dispatch (#4558); nondeterministic IV by default</p></td>
+<td><p>Falls back; planned via codegen dispatch (<a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4558">#4558</a>); nondeterministic IV by default</p></td>
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">assert_true</span></code></p></td>
 <td><p>🔜</p></td>
@@ -2016,7 +2018,7 @@ expression-level). The <code class="docutils literal notranslate"><span class="p
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">is_variant_null</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>tracking #4098</p></td>
+<td><p>tracking <a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4098">#4098</a></p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">monotonically_increasing_id</span></code></p></td>
 <td><p>✅</p></td>
@@ -2024,7 +2026,7 @@ expression-level). The <code class="docutils literal notranslate"><span class="p
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">parse_json</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>tracking #4098</p></td>
+<td><p>tracking <a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4098">#4098</a></p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">raise_error</span></code></p></td>
 <td><p>🔜</p></td>
@@ -2040,11 +2042,11 @@ expression-level). The <code class="docutils literal notranslate"><span class="p
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">schema_of_variant</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>tracking #4098</p></td>
+<td><p>tracking <a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4098">#4098</a></p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">schema_of_variant_agg</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>tracking #4098</p></td>
+<td><p>tracking <a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4098">#4098</a></p></td>
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">session_user</span></code></p></td>
 <td><p>✅</p></td>
@@ -2056,19 +2058,19 @@ expression-level). The <code class="docutils literal notranslate"><span class="p
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">to_variant_object</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>tracking #4098</p></td>
+<td><p>tracking <a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4098">#4098</a></p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">try_aes_decrypt</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>Falls back; planned via codegen dispatch (#4558)</p></td>
+<td><p>Falls back; planned via codegen dispatch (<a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4558">#4558</a>)</p></td>
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">try_parse_json</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>tracking #4098</p></td>
+<td><p>tracking <a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4098">#4098</a></p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">try_variant_get</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>tracking #4098</p></td>
+<td><p>tracking <a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4098">#4098</a></p></td>
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">typeof</span></code></p></td>
 <td><p>✅</p></td>
@@ -2084,7 +2086,7 @@ expression-level). The <code class="docutils literal notranslate"><span class="p
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">variant_get</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>tracking #4098</p></td>
+<td><p>tracking <a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4098">#4098</a></p></td>
 </tr>
 </tbody>
 </table>
@@ -2234,7 +2236,7 @@ expression-level). The <code class="docutils literal notranslate"><span class="p
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">collate</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>Spark collation (umbrella #2190)</p></td>
+<td><p>Spark collation (umbrella <a class="reference external" href="https://github.com/apache/datafusion-comet/issues/2190">#2190</a>)</p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">collation</span></code></p></td>
 <td><p>✅</p></td>
@@ -2254,7 +2256,7 @@ expression-level). The <code class="docutils literal notranslate"><span class="p
 </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>#4538</p></td>
+<td><p><a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4538">#4538</a></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>
@@ -2266,15 +2268,15 @@ expression-level). The <code class="docutils literal notranslate"><span class="p
 </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>#4538</p></td>
+<td><p><a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4538">#4538</a></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>#4538</p></td>
+<td><p><a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4538">#4538</a></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>#4538</p></td>
+<td><p><a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4538">#4538</a></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>
@@ -2302,11 +2304,11 @@ expression-level). The <code class="docutils literal notranslate"><span class="p
 </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>#4538</p></td>
+<td><p><a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4538">#4538</a></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>#4538</p></td>
+<td><p><a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4538">#4538</a></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>
@@ -2334,31 +2336,31 @@ expression-level). The <code class="docutils literal notranslate"><span class="p
 </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>#4538</p></td>
+<td><p><a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4538">#4538</a></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>#4538</p></td>
+<td><p><a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4538">#4538</a></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>#4538</p></td>
+<td><p><a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4538">#4538</a></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>
-<td><p>tracking #4098</p></td>
+<td><p>tracking <a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4098">#4098</a></p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">regexp_extract</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>tracking #4098</p></td>
+<td><p>tracking <a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4098">#4098</a></p></td>
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">regexp_extract_all</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>tracking #4098</p></td>
+<td><p>tracking <a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4098">#4098</a></p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">regexp_instr</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>tracking #4098</p></td>
+<td><p>tracking <a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4098">#4098</a></p></td>
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">regexp_replace</span></code></p></td>
 <td><p>✅</p></td>
@@ -2366,7 +2368,7 @@ expression-level). The <code class="docutils literal notranslate"><span class="p
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">regexp_substr</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>tracking #4098</p></td>
+<td><p>tracking <a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4098">#4098</a></p></td>
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">repeat</span></code></p></td>
 <td><p>✅</p></td>
@@ -2390,7 +2392,7 @@ expression-level). The <code class="docutils literal notranslate"><span class="p
 </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>#4538</p></td>
+<td><p><a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4538">#4538</a></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>
@@ -2402,7 +2404,7 @@ expression-level). The <code class="docutils literal notranslate"><span class="p
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">split_part</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>Lowers to <code class="docutils literal notranslate"><span class="pre">element_at(StringSplitSQL(...))</span></code>; <code class="docutils literal notranslate"><span class="pre">StringSplitSQL</span></code> falls back (#4561)</p></td>
+<td><p>Lowers to <code class="docutils literal notranslate"><span class="pre">element_at(StringSplitSQL(...))</span></code>; <code class="docutils literal notranslate"><span class="pre">StringSplitSQL</span></code> falls back (<a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4561">#4561</a>)</p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">startswith</span></code></p></td>
 <td><p>✅</p></td>
@@ -2426,15 +2428,15 @@ expression-level). The <code class="docutils literal notranslate"><span class="p
 </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>#4538</p></td>
+<td><p><a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4538">#4538</a></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>#4538</p></td>
+<td><p><a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4538">#4538</a></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>#4538</p></td>
+<td><p><a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4538">#4538</a></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>
@@ -2458,7 +2460,7 @@ expression-level). The <code class="docutils literal notranslate"><span class="p
 </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>#4538</p></td>
+<td><p><a class="reference external" href="https://github.com/apache/datafusion-comet/issues/4538">#4538</a></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>
@@ -2541,11 +2543,11 @@ fall back to Spark.</p>
 <tbody>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">cume_dist</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>Window function; tracked by #2721</p></td>
+<td><p>Window function; tracked by <a class="reference external" href="https://github.com/apache/datafusion-comet/issues/2721">#2721</a></p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">dense_rank</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>Window function; tracked by #2721</p></td>
+<td><p>Window function; tracked by <a class="reference external" href="https://github.com/apache/datafusion-comet/issues/2721">#2721</a></p></td>
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">lag</span></code></p></td>
 <td><p>✅</p></td>
@@ -2557,23 +2559,23 @@ fall back to Spark.</p>
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">nth_value</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>Window function; tracked by #2721</p></td>
+<td><p>Window function; tracked by <a class="reference external" href="https://github.com/apache/datafusion-comet/issues/2721">#2721</a></p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">ntile</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>Window function; tracked by #2721</p></td>
+<td><p>Window function; tracked by <a class="reference external" href="https://github.com/apache/datafusion-comet/issues/2721">#2721</a></p></td>
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">percent_rank</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>Window function; tracked by #2721</p></td>
+<td><p>Window function; tracked by <a class="reference external" href="https://github.com/apache/datafusion-comet/issues/2721">#2721</a></p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">rank</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>Window function; tracked by #2721</p></td>
+<td><p>Window function; tracked by <a class="reference external" href="https://github.com/apache/datafusion-comet/issues/2721">#2721</a></p></td>
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">row_number</span></code></p></td>
 <td><p>🔜</p></td>
-<td><p>Window function; tracked by #2721</p></td>
+<td><p>Window function; tracked by <a class="reference external" href="https://github.com/apache/datafusion-comet/issues/2721">#2721</a></p></td>
 </tr>
 </tbody>
 </table>


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