This is followed on the Proposal for Date/Time enhancement #3100 Please edit the list or comment bellow if you find something not listed here. ## Date/Time/Timestamp Types & Casting - [x] #2883 - This is the initial work for `TIME` literal (i.e. make `SELECT TIME '00:00:00';` work) - [x] apache/arrow-rs#2074 - This is to improve the performance of casting timestamp between different unit - [x] #193 - This depends on #2883 - [x] #3082 - [x] https://github.com/apache/arrow-datafusion/issues/5398 - [x] https://github.com/apache/arrow-datafusion/issues/7868 - [x] https://github.com/apache/arrow-datafusion/issues/6653 - [x] https://github.com/apache/arrow-datafusion/issues/6701 - [x] https://github.com/apache/arrow-datafusion/issues/6720 ## TimestampTz Date Types & Casting & Coercion - [x] apache/arrow-rs#597 - [x] apache/arrow-rs#599 - [x] apache/arrow-rs#168 - [x] #153 - [ ] #3080 - [x] #959 - [x] #3149 - [x] sqlparser-rs/sqlparser-rs#588 - [x] sqlparser-rs/sqlparser-rs#464 - [x] #3659 - [x] apache/arrow-rs#2813 - [x] #3693 - [x] #3715 - [x] apache/arrow-rs#2909 - [x] apache/arrow-rs#2910 - [x] apache/arrow-rs#1936 - [x] #4311 - [x] https://github.com/apache/arrow-datafusion/issues/4853 - [x] https://github.com/apache/arrow-datafusion/issues/5164 - [x] https://github.com/apache/arrow-datafusion/issues/5507 - [x] https://github.com/apache/arrow-datafusion/issues/7070 - [x] https://github.com/apache/arrow-datafusion/issues/7697 ## Intervals See https://github.com/apache/arrow-datafusion/issues/5753 ## Arithmetic (including intervals) - [x] #200 - [x] #194 - [x] #3103 - [x] https://github.com/apache/arrow-datafusion/issues/5413 - [x] apache/arrow-rs#593 - [x] apache/arrow-rs#527 - [x] apache/arrow-rs#187 - [x] apache/arrow-rs#2457 - arrow-rs - [x] #3157 - datafusion - [x] #3166 - [x] #3180 - [x] apache/arrow-rs#1065 - [x] #3204 - [x] #4420 - [x] #4644 - [x] #5411 - [x] #5650 - [x] #5704 - [x] #6951 - [x] https://github.com/apache/arrow-datafusion/issues/7068 - [x] https://github.com/apache/arrow-datafusion/issues/8275 ## Functions - [x] #3096 - [x] #3057 - [x] #2979 - [ ] #1992 - [x] #765 - [x] #686 - [x] apache/arrow-rs#1380 - [x] #765 - [x] #3832 - [x] apache/arrow-rs#2892 - [x] #3980 - [x] #3981 - [x] #3982 - [ ] #3996 - [x] #3997 - [x] sqlparser-rs/sqlparser-rs#748 - [x] #4528 - [x] #2785 - [x] https://github.com/apache/arrow-datafusion/issues/5641 - [x] #5568 - [ ] https://github.com/apache/arrow-datafusion/issues/6876 - [x] https://github.com/apache/arrow-datafusion/issues/7604 ## parquet/csv/json - [x] apache/arrow-rs#982 - [x] apache/arrow-rs#1191 - [x] apache/arrow-rs#1060 - [x] apache/arrow-rs#455 - [x] apache/arrow-rs#38 - [x] #2044 - [x] #3176 ## others - [ ] apache/arrow-rs#902 - [x] #3255 - [x] sqlparser-rs/sqlparser-rs#303 - [x] #4104
This is followed on the Proposal for Date/Time enhancement #3100
Please edit the list or comment bellow if you find something not listed here.
Date/Time/Timestamp Types & Casting
TIMEliteral values #2883 - This is the initial work forTIMEliteral (i.e. makeSELECT TIME '00:00:00';work)TIMEliteral values #2883floatarguments toto_timestampfunction #7868date_truncalways returnsTimestamp(Nanosecond, None)which might truncate ranges #6653date_trunc(null)results in a panic #6701TimestampTz Date Types & Casting & Coercion
Cast(UTF-8 AS Timestamp)apply local time zone? #3080Time With Time Zoneshould raise error untilDataType::Time64support tz #3715[+/-]hhmmand[+/-]hhas fixedoffset timezone format arrow-rs#2910date_bin('1 hour',...)does not work butdate_bin(interval '1 hour', ...does #4853try_cast_literal_to_typedoesn't respect timestamp precision #5507Intervals
See #5753
Arithmetic (including intervals)
SUMAVG,MIN,MAXonTimecolumns. #3166Timestampto aDate32fails #4644timestamp- interval results inThe type of Timestamp(Nanosecond, Some("+00:00")) Minus Utf8 of binary physical should be same#5650Durationas the result oftimestamp - timestamprather thanInterval#7068Functions
date_partdoes't work fornow()#3096to_timetamp*()#686from_timestampbyfrom_timestamp_optarrow-rs#2892extract <part>on the value ofnow()#3980current_dateFunction #3981current_timeFunction #3982extractreturn types to decimal to align with postgres #3996date_partreturn types to f64 #3997NANOSECONDdatafusion-sqlparser-rs#748date_binwith 2 arguments (rather than requiring three) #5641to_unixtimefunction #5568parquet/csv/json
9999year results in overflow panic arrow-rs#982others
get/showtimezone #3255