@@ -532,22 +532,15 @@ impl<'stmt> Row<'stmt> {
532532 }
533533 ValueRef :: Date32 ( array. value ( row) )
534534 }
535- // NOTE: DataType::Date64 not supported by duckdb
536- // DataType::Date64 => make_string_date!( array::Date64Array, column, row),
535+ DataType :: Time64 ( TimeUnit :: Microsecond ) => {
536+ let array = column . as_any ( ) . downcast_ref :: < array:: Time64MicrosecondArray > ( ) . unwrap ( ) ;
537537
538+ if array. is_null ( row) {
539+ return ValueRef :: Null ;
540+ }
541+ ValueRef :: Time64 ( types:: TimeUnit :: Microsecond , array. value ( row) )
542+ }
538543 // TODO: support more data types
539- // DataType::Time32(unit) if *unit == TimeUnit::Second => {
540- // make_string_time!(array::Time32SecondArray, column, row)
541- // }
542- // DataType::Time32(unit) if *unit == TimeUnit::Millisecond => {
543- // make_string_time!(array::Time32MillisecondArray, column, row)
544- // }
545- // DataType::Time64(unit) if *unit == TimeUnit::Microsecond => {
546- // make_string_time!(array::Time64MicrosecondArray, column, row)
547- // }
548- // DataType::Time64(unit) if *unit == TimeUnit::Nanosecond => {
549- // make_string_time!(array::Time64NanosecondArray, column, row)
550- // }
551544 // DataType::Interval(unit) => match unit {
552545 // IntervalUnit::DayTime => {
553546 // make_string_interval_day_time!(column, row)
@@ -571,6 +564,18 @@ impl<'stmt> Row<'stmt> {
571564 // column.data_type()
572565 // ))),
573566 // },
567+
568+ // NOTE: DataTypes not supported by duckdb
569+ // DataType::Date64 => make_string_date!(array::Date64Array, column, row),
570+ // DataType::Time32(unit) if *unit == TimeUnit::Second => {
571+ // make_string_time!(array::Time32SecondArray, column, row)
572+ // }
573+ // DataType::Time32(unit) if *unit == TimeUnit::Millisecond => {
574+ // make_string_time!(array::Time32MillisecondArray, column, row)
575+ // }
576+ // DataType::Time64(unit) if *unit == TimeUnit::Nanosecond => {
577+ // make_string_time!(array::Time64NanosecondArray, column, row)
578+ // }
574579 _ => unreachable ! ( "invalid value: {}, {}" , col, self . stmt. column_type( col) ) ,
575580 }
576581 }
0 commit comments