(
&self,
sql: FunctionArg,
schema: &DFSchema,
planner_context: &mut PlannerContext,
)
| 1007 | } |
| 1008 | |
| 1009 | fn sql_fn_arg_to_logical_expr_with_name( |
| 1010 | &self, |
| 1011 | sql: FunctionArg, |
| 1012 | schema: &DFSchema, |
| 1013 | planner_context: &mut PlannerContext, |
| 1014 | ) -> Result<(Expr, Option<ArgumentName>)> { |
| 1015 | match sql { |
| 1016 | FunctionArg::Named { |
| 1017 | name, |
| 1018 | arg: FunctionArgExpr::Expr(arg), |
| 1019 | operator: _, |
| 1020 | } => { |
| 1021 | let expr = self.sql_expr_to_logical_expr(arg, schema, planner_context)?; |
| 1022 | let arg_name = ArgumentName { |
| 1023 | value: name.value, |
| 1024 | is_quoted: name.quote_style.is_some(), |
| 1025 | }; |
| 1026 | Ok((expr, Some(arg_name))) |
| 1027 | } |
| 1028 | FunctionArg::Named { |
| 1029 | name, |
| 1030 | arg: FunctionArgExpr::Wildcard, |
| 1031 | operator: _, |
| 1032 | } => { |
| 1033 | #[expect(deprecated)] |
| 1034 | let expr = Expr::Wildcard { |
| 1035 | qualifier: None, |
| 1036 | options: Box::new(WildcardOptions::default()), |
| 1037 | }; |
| 1038 | let arg_name = ArgumentName { |
| 1039 | value: name.value, |
| 1040 | is_quoted: name.quote_style.is_some(), |
| 1041 | }; |
| 1042 | Ok((expr, Some(arg_name))) |
| 1043 | } |
| 1044 | FunctionArg::Unnamed(FunctionArgExpr::Expr(arg)) => { |
| 1045 | let expr = self.sql_expr_to_logical_expr(arg, schema, planner_context)?; |
| 1046 | Ok((expr, None)) |
| 1047 | } |
| 1048 | FunctionArg::Unnamed(FunctionArgExpr::Wildcard) => { |
| 1049 | #[expect(deprecated)] |
| 1050 | let expr = Expr::Wildcard { |
| 1051 | qualifier: None, |
| 1052 | options: Box::new(WildcardOptions::default()), |
| 1053 | }; |
| 1054 | Ok((expr, None)) |
| 1055 | } |
| 1056 | FunctionArg::Unnamed(FunctionArgExpr::QualifiedWildcard(object_name)) => { |
| 1057 | let qualifier = self.object_name_to_table_reference(object_name)?; |
| 1058 | // Sanity check on qualifier with schema |
| 1059 | let qualified_indices = schema.fields_indices_with_qualified(&qualifier); |
| 1060 | if qualified_indices.is_empty() { |
| 1061 | return plan_err!("Invalid qualifier {qualifier}"); |
| 1062 | } |
| 1063 | |
| 1064 | #[expect(deprecated)] |
| 1065 | let expr = Expr::Wildcard { |
| 1066 | qualifier: qualifier.into(), |
no test coverage detected