Execute physical plan with context and graph
(
&self,
plan: &PhysicalPlan,
context: &mut ExecutionContext,
graph: &Arc<GraphCache>,
)
| 332 | |
| 333 | /// Execute physical plan with context and graph |
| 334 | fn execute_physical_plan_with_context( |
| 335 | &self, |
| 336 | plan: &PhysicalPlan, |
| 337 | context: &mut ExecutionContext, |
| 338 | graph: &Arc<GraphCache>, |
| 339 | ) -> Result<QueryResult, ExecutionError> { |
| 340 | let rows = self.execute_node_with_graph(&plan.root, context, graph)?; |
| 341 | |
| 342 | // Extract variable names from the physical plan or from the first row as fallback |
| 343 | let variables = self.extract_variables_from_plan(&plan.root, &rows); |
| 344 | |
| 345 | Ok(QueryResult { |
| 346 | rows, |
| 347 | variables, |
| 348 | execution_time_ms: 0, // Will be set by caller |
| 349 | rows_affected: 0, |
| 350 | session_result: None, |
| 351 | warnings: Vec::new(), |
| 352 | }) |
| 353 | } |
| 354 | |
| 355 | /// Execute physical plan without graph |
| 356 | fn execute_physical_plan_without_graph( |
no test coverage detected