(
&self,
substr_expr: SQLExpr,
str_expr: SQLExpr,
schema: &DFSchema,
planner_context: &mut PlannerContext,
)
| 734 | } |
| 735 | |
| 736 | fn sql_position_to_expr( |
| 737 | &self, |
| 738 | substr_expr: SQLExpr, |
| 739 | str_expr: SQLExpr, |
| 740 | schema: &DFSchema, |
| 741 | planner_context: &mut PlannerContext, |
| 742 | ) -> Result<Expr> { |
| 743 | let substr = |
| 744 | self.sql_expr_to_logical_expr(substr_expr, schema, planner_context)?; |
| 745 | let fullstr = self.sql_expr_to_logical_expr(str_expr, schema, planner_context)?; |
| 746 | let mut position_args = vec![fullstr, substr]; |
| 747 | for planner in self.context_provider.get_expr_planners() { |
| 748 | match planner.plan_position(position_args)? { |
| 749 | PlannerResult::Planned(expr) => return Ok(expr), |
| 750 | PlannerResult::Original(args) => { |
| 751 | position_args = args; |
| 752 | } |
| 753 | } |
| 754 | } |
| 755 | |
| 756 | not_impl_err!("Position not supported by ExprPlanner: {position_args:?}") |
| 757 | } |
| 758 | |
| 759 | fn try_plan_dictionary_literal( |
| 760 | &self, |
no test coverage detected