(ecx: &ExprContext, query: &Query<Aug>)
| 4619 | } |
| 4620 | |
| 4621 | fn plan_subquery(ecx: &ExprContext, query: &Query<Aug>) -> Result<CoercibleScalarExpr, PlanError> { |
| 4622 | if !ecx.allow_subqueries { |
| 4623 | sql_bail!("{} does not allow subqueries", ecx.name) |
| 4624 | } |
| 4625 | let mut qcx = ecx.derived_query_context(); |
| 4626 | let (expr, _scope) = plan_nested_query(&mut qcx, query)?; |
| 4627 | let column_types = qcx.relation_type(&expr).column_types; |
| 4628 | if column_types.len() != 1 { |
| 4629 | sql_bail!( |
| 4630 | "Expected subselect to return 1 column, got {} columns", |
| 4631 | column_types.len() |
| 4632 | ); |
| 4633 | } |
| 4634 | Ok(expr.select().into()) |
| 4635 | } |
| 4636 | |
| 4637 | fn plan_list_subquery( |
| 4638 | ecx: &ExprContext, |
no test coverage detected