@@ -521,10 +521,10 @@ impl TableFunctionImpl for GenerateSeriesFuncImpl {
521521}
522522
523523impl GenerateSeriesFuncImpl {
524- fn call_int64 ( & self , exprs : & [ Expr ] ) -> Result < Arc < dyn TableProvider > > {
524+ fn call_int64 ( & self , exprs : & [ ( Expr , Option < String > ) ] ) -> Result < Arc < dyn TableProvider > > {
525525 let mut normalize_args = Vec :: new ( ) ;
526- for ( expr_index, expr, _ ) in exprs. iter ( ) . enumerate ( ) {
527- match expr {
526+ for ( expr_index, expr) in exprs. iter ( ) . enumerate ( ) {
527+ match & expr. 0 {
528528 Expr :: Literal ( ScalarValue :: Null , _) => { }
529529 Expr :: Literal ( ScalarValue :: Int64 ( Some ( n) ) , _) => normalize_args. push ( * n) ,
530530 other => {
@@ -584,7 +584,7 @@ impl GenerateSeriesFuncImpl {
584584 } ) )
585585 }
586586
587- fn call_timestamp ( & self , exprs : & [ Expr ] ) -> Result < Arc < dyn TableProvider > > {
587+ fn call_timestamp ( & self , exprs : & [ ( Expr , Option < String > ) ] ) -> Result < Arc < dyn TableProvider > > {
588588 if exprs. len ( ) != 3 {
589589 return plan_err ! (
590590 "{} function with timestamps requires exactly 3 arguments" ,
@@ -593,7 +593,7 @@ impl GenerateSeriesFuncImpl {
593593 }
594594
595595 // Parse start timestamp
596- let ( start_ts, tz) = match & exprs[ 0 ] {
596+ let ( start_ts, tz) = match & exprs[ 0 ] . 0 {
597597 Expr :: Literal ( ScalarValue :: TimestampNanosecond ( ts, tz) , _) => {
598598 ( * ts, tz. clone ( ) )
599599 }
@@ -606,7 +606,7 @@ impl GenerateSeriesFuncImpl {
606606 } ;
607607
608608 // Parse end timestamp
609- let end_ts = match & exprs[ 1 ] {
609+ let end_ts = match & exprs[ 1 ] . 0 {
610610 Expr :: Literal ( ScalarValue :: Null , _) => None ,
611611 Expr :: Literal ( ScalarValue :: TimestampNanosecond ( ts, _) , _) => * ts,
612612 other => {
@@ -618,7 +618,7 @@ impl GenerateSeriesFuncImpl {
618618 } ;
619619
620620 // Parse step interval
621- let step_interval = match & exprs[ 2 ] {
621+ let step_interval = match & exprs[ 2 ] . 0 {
622622 Expr :: Literal ( ScalarValue :: Null , _) => None ,
623623 Expr :: Literal ( ScalarValue :: IntervalMonthDayNano ( interval) , _) => * interval,
624624 other => {
@@ -660,7 +660,7 @@ impl GenerateSeriesFuncImpl {
660660 } ) )
661661 }
662662
663- fn call_date ( & self , exprs : & [ Expr ] ) -> Result < Arc < dyn TableProvider > > {
663+ fn call_date ( & self , exprs : & [ ( Expr , Option < String > ) ] ) -> Result < Arc < dyn TableProvider > > {
664664 if exprs. len ( ) != 3 {
665665 return plan_err ! (
666666 "{} function with dates requires exactly 3 arguments" ,
@@ -675,7 +675,7 @@ impl GenerateSeriesFuncImpl {
675675 ) ] ) ) ;
676676
677677 // Parse start date
678- let start_date = match & exprs[ 0 ] {
678+ let start_date = match & exprs[ 0 ] . 0 {
679679 Expr :: Literal ( ScalarValue :: Date32 ( Some ( date) ) , _) => * date,
680680 Expr :: Literal ( ScalarValue :: Date32 ( None ) , _)
681681 | Expr :: Literal ( ScalarValue :: Null , _) => {
@@ -693,7 +693,7 @@ impl GenerateSeriesFuncImpl {
693693 } ;
694694
695695 // Parse end date
696- let end_date = match & exprs[ 1 ] {
696+ let end_date = match & exprs[ 1 ] . 0 {
697697 Expr :: Literal ( ScalarValue :: Date32 ( Some ( date) ) , _) => * date,
698698 Expr :: Literal ( ScalarValue :: Date32 ( None ) , _)
699699 | Expr :: Literal ( ScalarValue :: Null , _) => {
@@ -711,7 +711,7 @@ impl GenerateSeriesFuncImpl {
711711 } ;
712712
713713 // Parse step interval
714- let step_interval = match & exprs[ 2 ] {
714+ let step_interval = match & exprs[ 2 ] . 0 {
715715 Expr :: Literal ( ScalarValue :: IntervalMonthDayNano ( Some ( interval) ) , _) => {
716716 * interval
717717 }
0 commit comments