manuzhang commented on code in PR #4821:
URL: https://github.com/apache/datafusion-comet/pull/4821#discussion_r3556152772
##########
spark/src/main/scala/org/apache/comet/codegen/CometBatchKernelCodegen.scala:
##########
@@ -87,6 +88,7 @@ object CometBatchKernelCodegen extends Logging with
CometExprTraitShim {
case _: StringType | _: BinaryType => true
case DateType | TimestampType | TimestampNTZType => true
case _: YearMonthIntervalType | _: DayTimeIntervalType => true
+ case dt if isTimeType(dt) => true
Review Comment:
This also makes arrays, structs, and maps containing `TimeType` pass
`canHandle`, but the nested input emitters do not yet treat `TimeType` as a
long-backed value. For example, on Spark 4.1:
`SELECT transform(a, x -> x) FROM VALUES (array(TIME '01:02:03')) AS t(a)`
now passes validation and throws during kernel generation instead of
falling back.
Could we add `TimeType`/`getLong` handling to the nested array and struct
getters? A regression test using an `array<TIME>` attribute would cover this.
--
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]