alkis commented on code in PR #7687: URL: https://github.com/apache/arrow-rs/pull/7687#discussion_r2183185622
########## parquet/src/data_type.rs: ########## @@ -118,14 +118,44 @@ impl Int96 { .wrapping_add(nanos) } + #[inline] + fn get_days(&self) -> i32 { + self.data()[2] as i32 + } + + #[inline] + fn get_nanos(&self) -> i64 { + ((self.data()[1] as i64) << 32) + self.data()[0] as i64 + } + #[inline] fn data_as_days_and_nanos(&self) -> (i32, i64) { - let day = self.data()[2] as i32; - let nanos = ((self.data()[1] as i64) << 32) + self.data()[0] as i64; - (day, nanos) + (self.get_days(), self.get_nanos()) + } +} + +impl PartialOrd for Int96 { + fn partial_cmp(&self, other: &Self) -> Option<Ordering> { + Some(self.cmp(other)) } } +impl Ord for Int96 { + /// Order `Int96` correctly for (deprecated) timestamp types. + /// + /// Note: this is done even though the Int96 type is deprecated and the + /// [spec does not define the sort order] + /// because some engines, notably Spark and DataBricks photon still write Review Comment: ```suggestion /// because some engines, notably Spark and Databricks Photon still write ``` -- 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: github-unsubscr...@arrow.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org