fix: join on bucket_id column
Summarize the changes
- fix: join on bucket_id column
- For queries that want to join on bucket_id column, we had wrong logic of removing that column from child scan, now if we have bucket_id column in join we won't delete bucket_id from scan node.
- Fix conflict resolution for join on bucket_id: if we see that join is done on bucket_id, we don't need any motions.
Note: there is still a problem when we don't use "bucket_id" in join condition:
select t1."bucket_id", t2."bucket_id" from t1
join t2 on ...
This query will fail with error that it can't find "bucket_id" column.
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.
Closes #590 (closed)