Re-implementation: backend syntax tree for local SQL
Summarize the changes
Because of the the problem with multiple uses of the same CTE in the same plan slice we have to switch syntax tree constraction from map to stack. The problem is that map requires plan id to be unique among the syntax nodes, but CTE violates this restrictions.
Also, take_subtree()
pre-allocation accuracy was improved.
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 withcargo doc --open
). -
(if PEST grammar is changed) EBNF grammar reflects these changes (check the result with railroad diagram generator.
Next steps
- Update sbroad submodule in picodata/picodata.
- (if EBNF grammar is changed) create a follow-up issue in picodata/docs.