fix: to_params ignored repeating nodes
Summarize the changes
- fix: to_params ignored repeating nodes
- to_params uses subtree iterator to create parameters for cached query. But our plan is a DAG, not a tree. We have multiple nodes referring to the same node, this leads to situation when we traverse the same subquery node multiple times. This in term leads to wrong number of parameters produces by to_params
- fix this by keeping track of already traversed parameter nodes in to_params
Ensure that
-
New code is covered by unit and integration tests. -
Related issues would be automatically closed with gitlab's closing pattern ( Closes #1, #2
). -
Public modules are documented (check the rendered version with cargo doc --open
). -
(if PEST grammar is changed) EBNF grammar reflects these changes (check the result with railroad diagram generator.
Next steps
- Cherry-pick to: none / 24.2 / 24.3
- Update sbroad submodule in picodata/picodata.
- (if EBNF grammar is changed) create a follow-up issue in picodata/docs.