We fix a bug that was revealed when using match-fetch queries with subqueries that had nested patterns. This change now correctly applies 1) filtering to a parent match query so that the right outputs are generated 2) passes the bounds received from a preceding query correctly into all child patterns of subsequent query clauses.
Implementation
Add test in BDD for bounds-passing and filtering from match to fetch clauses that contain nested patterns
Split Disjunction.sharedVariables (which only returns non-recursive variables that are common across all branches of a disjunction) and namedVariables (which contains all named variables in any branch, read recursively.)
Usage and product changes
We fix a bug that was revealed when using
match-fetch
queries with subqueries that had nested patterns. This change now correctly applies 1) filtering to a parent match query so that the right outputs are generated 2) passes the bounds received from a preceding query correctly into all child patterns of subsequent query clauses.Implementation
Disjunction.sharedVariables
(which only returns non-recursive variables that are common across all branches of a disjunction) andnamedVariables
(which contains all named variables in any branch, read recursively.)