@@ -233,7 +233,6 @@ impl PhysicalPlanner {
233233 let literal =
234234 self . create_expr ( partition_value, Arc :: < Schema > :: clone ( & empty_schema) ) ?;
235235 literal
236- . as_any ( )
237236 . downcast_ref :: < DataFusionLiteral > ( )
238237 . ok_or_else ( || {
239238 GeneralError ( "Expected literal of partition value" . to_string ( ) )
@@ -424,11 +423,7 @@ impl PhysicalPlanner {
424423
425424 // WideDecimalBinaryExpr already handles overflow — skip redundant check
426425 // but only if its output type matches CheckOverflow's declared type
427- if child
428- . as_any ( )
429- . downcast_ref :: < WideDecimalBinaryExpr > ( )
430- . is_some ( )
431- {
426+ if child. downcast_ref :: < WideDecimalBinaryExpr > ( ) . is_some ( ) {
432427 let child_type = child. data_type ( & input_schema) ?;
433428 if child_type == data_type {
434429 return Ok ( child) ;
@@ -437,7 +432,7 @@ impl PhysicalPlanner {
437432
438433 // Fuse Cast(Decimal128→Decimal128) + CheckOverflow into single rescale+check
439434 // Only fuse when the Cast target type matches the CheckOverflow output type
440- if let Some ( cast) = child. as_any ( ) . downcast_ref :: < Cast > ( ) {
435+ if let Some ( cast) = child. downcast_ref :: < Cast > ( ) {
441436 if let (
442437 DataType :: Decimal128 ( p_out, s_out) ,
443438 Ok ( DataType :: Decimal128 ( _p_in, s_in) ) ,
@@ -1166,12 +1161,10 @@ impl PhysicalPlanner {
11661161 . iter ( )
11671162 . map ( |expr| {
11681163 let literal = self . create_expr ( expr, Arc :: clone ( & required_schema) ) ?;
1169- let df_literal = literal
1170- . as_any ( )
1171- . downcast_ref :: < DataFusionLiteral > ( )
1172- . ok_or_else ( || {
1173- GeneralError ( "Expected literal of default value." . to_string ( ) )
1174- } ) ?;
1164+ let df_literal =
1165+ literal. downcast_ref :: < DataFusionLiteral > ( ) . ok_or_else ( || {
1166+ GeneralError ( "Expected literal of default value." . to_string ( ) )
1167+ } ) ?;
11751168 Ok ( df_literal. value ( ) . clone ( ) )
11761169 } )
11771170 . collect ( ) ;
@@ -2552,8 +2545,7 @@ impl PhysicalPlanner {
25522545 & boundary_row. partition_bounds [ col_idx] ,
25532546 Arc :: clone ( & input_schema) ,
25542547 ) ?;
2555- let literal_expr =
2556- expr. as_any ( ) . downcast_ref :: < Literal > ( ) . expect ( "Literal" ) ;
2548+ let literal_expr = expr. downcast_ref :: < Literal > ( ) . expect ( "Literal" ) ;
25572549 col_values. push ( literal_expr. value ( ) . clone ( ) ) ;
25582550 }
25592551 }
@@ -2663,12 +2655,7 @@ impl PhysicalPlanner {
26632655 // TODO this should try and find scalar
26642656 let arguments = args
26652657 . iter ( )
2666- . map ( |e| {
2667- e. as_ref ( )
2668- . as_any ( )
2669- . downcast_ref :: < Literal > ( )
2670- . map ( |lit| lit. value ( ) )
2671- } )
2658+ . map ( |e| e. as_ref ( ) . downcast_ref :: < Literal > ( ) . map ( |lit| lit. value ( ) ) )
26722659 . collect :: < Vec < _ > > ( ) ;
26732660
26742661 let args = ReturnFieldArgs {
@@ -2772,7 +2759,7 @@ fn expr_to_columns(
27722759
27732760 expr. apply ( & mut |expr : & Arc < dyn PhysicalExpr > | {
27742761 Ok ( {
2775- if let Some ( column) = expr. as_any ( ) . downcast_ref :: < Column > ( ) {
2762+ if let Some ( column) = expr. downcast_ref :: < Column > ( ) {
27762763 if column. index ( ) > left_field_len + right_field_len {
27772764 return Err ( DataFusionError :: Internal ( format ! (
27782765 "Column index {} out of range" ,
@@ -2823,7 +2810,7 @@ impl TreeNodeRewriter for JoinFilterRewriter<'_> {
28232810 type Node = Arc < dyn PhysicalExpr > ;
28242811
28252812 fn f_down ( & mut self , node : Self :: Node ) -> datafusion:: common:: Result < Transformed < Self :: Node > > {
2826- if let Some ( column) = node. as_any ( ) . downcast_ref :: < Column > ( ) {
2813+ if let Some ( column) = node. downcast_ref :: < Column > ( ) {
28272814 if column. index ( ) < self . left_field_len {
28282815 // left side
28292816 let new_index = self
0 commit comments