andygrove opened a new pull request, #4543:
URL: https://github.com/apache/datafusion-comet/pull/4543

   ## Which issue does this PR close?
   
   Closes #.
   
   ## Rationale for this change
   
   The expression coverage document (`spark_expressions_support.md`) marks 
several functions as unsupported even though Comet supports them. The checkbox 
logic keys on Spark's function-registry name and Comet's expression serde maps, 
so two classes of supported functions are missed:
   
   - `explode` / `posexplode` are handled at the operator level as a 
`GenerateExec` (`CometExplodeExec`), not via the expression serde maps.
   - The type-name conversion functions (`bigint`, `binary`, `boolean`, `date`, 
`decimal`, `double`, `float`, `int`, `smallint`, `string`, `timestamp`, 
`tinyint`) are registered in Spark as cast aliases. Each lowers to the same 
`Cast` node that Comet already supports, but the doc matches on the alias name 
rather than the `Cast` class.
   
   This left users with the impression that common functions like `float(x)` or 
`explode(arr)` are not accelerated, when they are.
   
   ## What changes are included in this PR?
   
   Documentation only. In `spark_expressions_support.md`:
   
   - Mark the cast-alias conversion functions as supported and add a note under 
`cast` explaining that they lower to `Cast`.
   - Mark `explode` and `posexplode` as supported with notes describing 
operator-level support, array-only support, and the map fallback.
   - Add notes to `explode_outer` / `posexplode_outer` clarifying they share 
the `CometExplodeExec` path but are `Incompatible` for `outer=true` and fall 
back unless `spark.comet.expr.allowIncompatible=true`.
   
   ## How are these changes tested?
   
   No code changes. Existing coverage: cast and its aliases are exercised by 
the cast test suites, and `explode`/`posexplode` by `CometGenerateExecSuite`.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


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

Reply via email to