What is the problem the feature request solves?
This is #4288 sub-issue
These are the core infrastructure pieces that make TimeType columns usable in
real-world queries. Without them, any query that shuffles, sorts, or aggregates
a time column falls back to Spark.
Since TimeType is physically a fixed-width i64 (same as LongType/TimestampType),
all of these should be straightforward additions to existing type lists.
Describe the potential solution
1a. Shuffle (native)
File: spark/.../CometShuffleExchangeExec.scala:367-380
supportedSerializableDataType does not include TimeType. Add it alongside
the existing TimestampType | TimestampNTZType case.
Also need to check the Rust shuffle path:
native/shuffle/src/spark_unsafe/row.rs - needs Time64 handling
1b. Shuffle (JVM columnar)
File: spark/.../CometShuffleExchangeExec.scala:490-506
Same supportedSerializableDataType function (different scope). Add TimeType.
Additional context
No response
What is the problem the feature request solves?
This is #4288 sub-issue
These are the core infrastructure pieces that make TimeType columns usable in
real-world queries. Without them, any query that shuffles, sorts, or aggregates
a time column falls back to Spark.
Since TimeType is physically a fixed-width i64 (same as LongType/TimestampType),
all of these should be straightforward additions to existing type lists.
Describe the potential solution
1a. Shuffle (native)
File: spark/.../CometShuffleExchangeExec.scala:367-380
supportedSerializableDataType does not include TimeType. Add it alongside
the existing TimestampType | TimestampNTZType case.
Also need to check the Rust shuffle path:
native/shuffle/src/spark_unsafe/row.rs - needs Time64 handling
1b. Shuffle (JVM columnar)
File: spark/.../CometShuffleExchangeExec.scala:490-506
Same supportedSerializableDataType function (different scope). Add TimeType.
Additional context
No response