stevomitric opened a new pull request, #56992:
URL: https://github.com/apache/spark/pull/56992

   ### What changes were proposed in this pull request?
   
   Introduce `OrcTypeOps` (mirroring `ParquetTypeOps`) so ORC 
read/write/pushdown for framework types is registered per-type instead of 
hardcoded across the ORC sources. Consolidates the inline `TimeType` / 
nanosecond-timestamp arms from `OrcUtils`, `OrcSerializer`, `OrcDeserializer`, 
and `OrcFilters` into three ops classes (`TimeTypeOrcOps`, 
`TimestampLTZNanosOrcOps`, `TimestampNTZNanosOrcOps`) and converts each call 
site to framework-first dispatch: `OrcTypeOps(dt).map(_.x).getOrElse(default)`.
   
   Scope is the row path only. Vectorized read (`OrcAtomicColumnVector`, a Java 
class with no per-type seam) and the nested stats min/max arm are left inline, 
matching `ParquetTypeOps` which also defers its vectorized-read hook. No 
`supportDataType` arm is needed (ORC already admits all `AtomicType`).
   
   ### Why are the changes needed?
   
   ORC was the last major storage format not routed through the Types 
Framework. A new framework type now gets ORC support by adding one ops class + 
one registry arm instead of editing four ORC sources.
   
   ### Does this PR introduce _any_ user-facing change?
   
   No.
   
   ### How was this patch tested?
   
   Existing ORC suites, 198 tests: `OrcV1/V2QuerySuite`, `OrcV1/V2SourceSuite`, 
`OrcColumnarBatchReaderSuite`, `OrcFilterSuite` (incl. SPARK-57571 TIME 
pushdown and SPARK-57455 nanos round-trip). All pass unchanged.
   
   ### Was this patch authored or co-authored using generative AI tooling?
   
   Generated-by: Claude Code (Claude Opus 4.8)


-- 
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