Execute a generic function node without graph context
(
&self,
node: &PhysicalNode,
context: &mut ExecutionContext,
_graph: Option<&Arc<GraphCache>>,
)
| 9078 | |
| 9079 | /// Execute a generic function node without graph context |
| 9080 | fn execute_generic_function_node( |
| 9081 | &self, |
| 9082 | node: &PhysicalNode, |
| 9083 | context: &mut ExecutionContext, |
| 9084 | _graph: Option<&Arc<GraphCache>>, |
| 9085 | ) -> Result<Vec<Row>, ExecutionError> { |
| 9086 | match node { |
| 9087 | PhysicalNode::GenericFunction { |
| 9088 | function_name, |
| 9089 | arguments, |
| 9090 | input, |
| 9091 | .. |
| 9092 | } => { |
| 9093 | // First execute the input (should be empty for scalar functions) |
| 9094 | let input_rows = if let Some(graph) = _graph { |
| 9095 | self.execute_node_with_graph(input, context, graph)? |
| 9096 | } else { |
| 9097 | self.execute_node_without_graph(input, context)? |
| 9098 | }; |
| 9099 | |
| 9100 | // Execute the function |
| 9101 | self.execute_generic_function(function_name, arguments, input_rows, context) |
| 9102 | } |
| 9103 | _ => Err(ExecutionError::RuntimeError( |
| 9104 | "Expected GenericFunction node".to_string(), |
| 9105 | )), |
| 9106 | } |
| 9107 | } |
| 9108 | |
| 9109 | /// Execute a projection node without graph context (scalar-only) |
| 9110 | fn execute_project_node( |
no test coverage detected