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]

Reply via email to