Execute physical plan without graph
(
&self,
plan: &PhysicalPlan,
context: &mut ExecutionContext,
)
| 354 | |
| 355 | /// Execute physical plan without graph |
| 356 | fn execute_physical_plan_without_graph( |
| 357 | &self, |
| 358 | plan: &PhysicalPlan, |
| 359 | context: &mut ExecutionContext, |
| 360 | ) -> Result<QueryResult, ExecutionError> { |
| 361 | let rows = self.execute_node_without_graph(&plan.root, context)?; |
| 362 | |
| 363 | // Extract variable names from the physical plan or from the first row as fallback |
| 364 | let variables = self.extract_variables_from_plan(&plan.root, &rows); |
| 365 | |
| 366 | Ok(QueryResult { |
| 367 | rows, |
| 368 | variables, |
| 369 | execution_time_ms: 0, // Will be set by caller |
| 370 | rows_affected: 0, |
| 371 | session_result: None, |
| 372 | warnings: Vec::new(), |
| 373 | }) |
| 374 | } |
| 375 | |
| 376 | /// Audit query execution (simplified version) |
| 377 | fn audit_query_execution( |
no test coverage detected