Omega359 commented on code in PR #16859: URL: https://github.com/apache/datafusion/pull/16859#discussion_r2229497695
########## datafusion/functions/src/datetime/date_trunc.rs: ########## @@ -185,6 +187,21 @@ impl ScalarUDFImpl for DateTruncFunc { ) -> Result<ColumnarValue> { let parsed_tz = parse_tz(tz_opt)?; let array = as_primitive_array::<T>(array)?; + + // fast path for fine granularities + if matches!( + granularity.as_str(), + "second" | "minute" | "millisecond" | "microsecond" + ) || (parsed_tz.is_none() && granularity.as_str() == "hour") + { + let result = general_date_trunc_array_fine_granularity( Review Comment: It doesn't look right to me either. First, it's not truncating to the minute, and second I have my doubts that TZ is correct with that time. I'd have to think about that a bit more but I think a ticket should be filed to have that looked at some more -- 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...@datafusion.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: github-unsubscr...@datafusion.apache.org For additional commands, e-mail: github-h...@datafusion.apache.org