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]
