(
&self,
node: &dyn UserDefinedLogicalNode,
unparser: &Unparser,
_query: &mut Option<&mut QueryBuilder>,
_select: &mut Option<&mut SelectBuilder>,
relat
| 262 | struct PlanToSubquery {} |
| 263 | impl UserDefinedLogicalNodeUnparser for PlanToSubquery { |
| 264 | fn unparse( |
| 265 | &self, |
| 266 | node: &dyn UserDefinedLogicalNode, |
| 267 | unparser: &Unparser, |
| 268 | _query: &mut Option<&mut QueryBuilder>, |
| 269 | _select: &mut Option<&mut SelectBuilder>, |
| 270 | relation: &mut Option<&mut RelationBuilder>, |
| 271 | ) -> Result<UnparseWithinStatementResult> { |
| 272 | if let Some(plan) = node.as_any().downcast_ref::<MyLogicalPlan>() { |
| 273 | let Statement::Query(input) = unparser.plan_to_sql(&plan.input)? else { |
| 274 | return Ok(UnparseWithinStatementResult::Unmodified); |
| 275 | }; |
| 276 | let mut derived_builder = DerivedRelationBuilder::default(); |
| 277 | derived_builder.subquery(input); |
| 278 | derived_builder.lateral(false); |
| 279 | if let Some(rel) = relation { |
| 280 | rel.derived(derived_builder); |
| 281 | } |
| 282 | } |
| 283 | Ok(UnparseWithinStatementResult::Modified) |
| 284 | } |
| 285 | } |
| 286 | |
| 287 | /// This example demonstrates how to unparse a custom logical plan as a subquery. |
nothing calls this directly
no test coverage detected