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

Method execute_having

graphlite/src/exec/executor.rs:4031–4042  ·  view source on GitHub ↗

Execute a HAVING clause filter For now, use the same logic as regular filter but with better error handling

(
        &self,
        condition: &Expression,
        input_rows: Vec<Row>,
        context: &mut ExecutionContext,
    )

Source from the content-addressed store, hash-verified

4029 /// Execute a HAVING clause filter
4030 /// For now, use the same logic as regular filter but with better error handling
4031 fn execute_having(
4032 &self,
4033 condition: &Expression,
4034 input_rows: Vec<Row>,
4035 context: &mut ExecutionContext,
4036 ) -> Result<Vec<Row>, ExecutionError> {
4037 // The key insight: HAVING should work on aggregated results
4038 // The issue is that count(*) tries to find a "*" variable, but in HAVING context
4039 // we should return 1 for count(*) since we're dealing with single aggregated rows
4040
4041 self.execute_filter_with_having_support(condition, input_rows, context)
4042 }
4043
4044 /// Execute filter with special HAVING support for aggregate functions
4045 fn execute_filter_with_having_support(

Callers 1

Tested by

no test coverage detected