@@ -32,7 +32,9 @@ use crate::physical_optimizer::optimizer::PhysicalOptimizerRule;
32
32
use crate :: physical_plan:: cross_join:: CrossJoinExec ;
33
33
use crate :: physical_plan:: explain:: ExplainExec ;
34
34
use crate :: physical_plan:: expressions;
35
- use crate :: physical_plan:: expressions:: { CaseExpr , Column , Literal , PhysicalSortExpr } ;
35
+ use crate :: physical_plan:: expressions:: {
36
+ CaseExpr , Column , GetIndexedFieldExpr , Literal , PhysicalSortExpr ,
37
+ } ;
36
38
use crate :: physical_plan:: filter:: FilterExec ;
37
39
use crate :: physical_plan:: hash_aggregate:: { AggregateMode , HashAggregateExec } ;
38
40
use crate :: physical_plan:: hash_join:: HashJoinExec ;
@@ -969,10 +971,18 @@ impl DefaultPhysicalPlanner {
969
971
Expr :: IsNotNull ( expr) => expressions:: is_not_null (
970
972
self . create_physical_expr ( expr, input_dfschema, input_schema, ctx_state) ?,
971
973
) ,
972
- Expr :: GetIndexedField { expr, key } => expressions:: get_indexed_field (
973
- self . create_physical_expr ( expr, input_dfschema, input_schema, ctx_state) ?,
974
- key. clone ( ) ,
975
- ) ,
974
+ Expr :: GetIndexedField { expr, key } => {
975
+ Ok ( Arc :: new ( GetIndexedFieldExpr :: new (
976
+ self . create_physical_expr (
977
+ expr,
978
+ input_dfschema,
979
+ input_schema,
980
+ ctx_state,
981
+ ) ?,
982
+ key. clone ( ) ,
983
+ ) ) )
984
+ }
985
+
976
986
Expr :: ScalarFunction { fun, args } => {
977
987
let physical_args = args
978
988
. iter ( )
0 commit comments