cmu-db / optd

CMU-DB's Cascades optimizer framework
https://cmu-db.github.io/optd/
MIT License
373 stars 22 forks source link

feat: projection merge and projection filter transpose rule #162

Closed Sweetsuro closed 6 months ago

Sweetsuro commented 7 months ago

This PR implements a part of the projection transpose series of rules. It also includes a fair amount of refactoring.

Projection Merge Rule

Projection Filter Transpose Rule

Refactoring

Relevant functions for projection transpose rules can be found in project_transpose_common.rs. Rules are implemented in separate files as a part of the projection_transpose module rather than in all one file. Similarly, FilterProjectTransposeRule and ProjectionPullUpJoin were moved into this module.

Testing

Unit tests using the dummy heuristic optimizer were implemented.