zhouqingqing / qpmodel

A Relational Optimizer and Executor
MIT License
64 stars 18 forks source link

Fix property enforcement cost calculation #162

Closed arzuschen closed 3 years ago

arzuschen commented 3 years ago

1) Modify minIncCost of group: Change its name to nullPropertyMinIncCost to represent the real meaning, and only initialize the get method of that member. 2) Fix cost calculation error This error was caused by member referring to the same object, so later changes in the object affect the used object. Problem solved by creating new object for member associated with cost1. 3) Modify unittest Adjust one of the property enforcement unittest to force the optimizer push order node below PNLJoin. 4) Change null property Create a static member in PhysicProperty to represent null property. This avoid multiple call of default property constructor.