Dispatch to the JOIN planner if the FROM contains joins.
(
select: &Select,
scope: &TableScope,
catalog: &dyn SqlCatalog,
functions: &FunctionRegistry,
temporal: TemporalScope,
)
| 427 | |
| 428 | /// Dispatch to the JOIN planner if the FROM contains joins. |
| 429 | fn try_plan_join( |
| 430 | select: &Select, |
| 431 | scope: &TableScope, |
| 432 | catalog: &dyn SqlCatalog, |
| 433 | functions: &FunctionRegistry, |
| 434 | temporal: TemporalScope, |
| 435 | ) -> Result<Option<SqlPlan>> { |
| 436 | if select.from.len() != 1 { |
| 437 | return Ok(None); |
| 438 | } |
| 439 | let from = &select.from[0]; |
| 440 | if from.joins.is_empty() { |
| 441 | return Ok(None); |
| 442 | } |
| 443 | crate::planner::join::plan_join_from_select(select, scope, catalog, functions, temporal) |
| 444 | } |
no test coverage detected