Skip to content

Re-implementation: backend syntax tree for local SQL

Denis Smirnov requested to merge sd/backend_sql into 615-issue

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 with cargo doc --open).
  • (if PEST grammar is changed) EBNF grammar reflects these changes (check the result with railroad diagram generator.

Next steps

Merge request reports