Abdullahsab3 commented on issue #10602:
URL: https://github.com/apache/datafusion/issues/10602#issuecomment-2131223669

   Thanks for filing the ticket and for all the detailed explanations! very 
enriching
   
   I wonder whether the Postgres behavior is actually that bad. Though it looks 
weird, it still is generic enough to make it widely applicable. The issue with 
making `date_bin` specifically timezone-aware in my opinion is the fact that 
future or similar grouping functions (or rolling windows functions) will also 
have to be implemented in a timezone-aware way, accounting for similar pitfalls 
and edge cases. The same problem will also occur in other functionalities; for 
example if you would like to return local time. I personally think that the 
problem might be better tackled as an additional time functionality, which may 
be the same way that Postgres does it. 
   
   The postgres way of converting UTC to local time of a given timezone is:
   ```sql
   select '2024-05-21T12:00:00Z'::timestamp AT TIME ZONE 'UTC' AT TIME ZONE 
'Europe/Brussels';
   
   timezone
   --
   2024-05-21 14:00:00
   ```
   As already mentioned by Andrew, the `AT TIME ZONE` operator in postgres 
converts a timezone-aware timestamp to local time (with no offset or timezone 
information), and local time to a timezone-aware timestamp. Though the 
overloaded functionalities of the `AT TIME ZONE` operator in Postgres are 
weird, they are definitely usable in my opinion. I also like the idea of having 
a separate `to_local_time`/`strip_timezone` function, though this would break 
Datafusions compatibility with Postgres. 


-- 
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