Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Refactor UnaliasSymbolReferences and SymbolMapper
In UnaliasSymbolReferences: Introduce context, including inherited mapping for correlation symbols. Introduce return type for visit() methods, including: - rewritten plan, - symbol mappings (both inherited and derived). Previously, there was global symbol mapping that changed each time when new symbol mapping was defined. Hence, once a mapping for a symbol was defined, it was applied to all occurrences of the symbol that were encountered later. This approach caused errors in case of reused (duplicate) symbols in different branches of the plan. Symbol mapping is now performed only by SymbolMapper. Previously, some mapping methods were defined in UnaliasSymbolReferences and some code was copied between Unalias and SymbolMapper.
- Loading branch information
Showing
3 changed files
with
898 additions
and
521 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.