MaxGekk commented on PR #56540: URL: https://github.com/apache/spark/pull/56540#issuecomment-4721388148
Thanks @uros-b @LuciferYang @stevomitric for the reviews! Addressed the feedback in the latest push (also rebased on the current master): - Dropped `def precision` from the abstract class -- `AnyTimestampNanoType` now mirrors `AnyTimeType` exactly as an empty abstract parent, since nothing reads `.precision` polymorphically. - Switched the vectorized Java checks (`WritableColumnVector`, `ConstantColumnVector`, `ColumnVectorUtils`) to `instanceof AnyTimestampNanoType` (the abstract class is public in bytecode, so the Java reference is fine). The `ColumnVectorUtils` arm testing `PhysicalTimestamp*NanosType` stays, since the physical types don't share this supertype. - Collapsed the `(StringType, *Nanos) => true` pairs in `Cast.scala`. I kept the remaining `Cast` `(from, to)` arms explicit because they map each nanos type to a *different* counterpart (e.g. `(TimestampNTZType, NTZNanos)` vs `(TimestampType, LTZNanos)`, and `(NTZNanos, TimestampNTZType)` vs `(LTZNanos, TimestampType)`); collapsing only the identical ones would leave the cast matrices half-abstract. Re-verified: `build/sbt sql-api/compile catalyst/compile sql/compile hive/compile avro/compile`, `./dev/scalastyle`, and `dev/mima` all pass. -- 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]
