MCPcopy Create free account
hub / github.com/GraphLite-AI/GraphLite / execute_node_with_graph

Method execute_node_with_graph

graphlite/src/exec/executor.rs:3449–3748  ·  view source on GitHub ↗
(
        &self,
        node: &PhysicalNode,
        context: &mut ExecutionContext,
        graph: &Arc<GraphCache>,
    )

Source from the content-addressed store, hash-verified

3447 }
3448
3449 fn execute_node_with_graph(
3450 &self,
3451 node: &PhysicalNode,
3452 context: &mut ExecutionContext,
3453 graph: &Arc<GraphCache>,
3454 ) -> Result<Vec<Row>, ExecutionError> {
3455 match node {
3456 PhysicalNode::NodeSeqScan {
3457 variable,
3458 labels,
3459 properties,
3460 ..
3461 } => self.execute_node_seq_scan_with_graph(
3462 variable,
3463 labels,
3464 properties.as_ref(),
3465 context,
3466 graph,
3467 ),
3468
3469 PhysicalNode::Filter {
3470 condition, input, ..
3471 } => {
3472 let input_rows = self.execute_node_with_graph(input, context, graph)?;
3473 self.execute_filter(condition, input_rows, context)
3474 }
3475
3476 PhysicalNode::Having {
3477 condition, input, ..
3478 } => {
3479 let input_rows = self.execute_node_with_graph(input, context, graph)?;
3480 self.execute_having(condition, input_rows, context)
3481 }
3482
3483 PhysicalNode::Project {
3484 expressions, input, ..
3485 } => {
3486 let input_rows = self.execute_node_with_graph(input, context, graph)?;
3487 self.execute_project(expressions, input_rows, context)
3488 }
3489
3490 PhysicalNode::GenericFunction {
3491 function_name,
3492 arguments,
3493 input,
3494 ..
3495 } => {
3496 let input_rows = self.execute_node_with_graph(input, context, graph)?;
3497 self.execute_generic_function(function_name, arguments, input_rows, context)
3498 }
3499
3500 PhysicalNode::HashAggregate {
3501 group_by,
3502 aggregates,
3503 input,
3504 ..
3505 } => {
3506 log::debug!("EXECUTING HashAggregate NODE");

Calls 15

execute_filterMethod · 0.80
execute_havingMethod · 0.80
execute_projectMethod · 0.80
execute_limitMethod · 0.80
execute_distinctMethod · 0.80

Tested by

no test coverage detected