risinglight
risinglight copied to clipboard
RFC: refactor binder and planner
Let's borrow some code from https://github.com/cmu-db/bustub
- For binder, we have too many local states, which are hard to track. e.g., for a
BindXXXfunction, we should return aBoundXXX, instead of recording something inside the binder and use it later. This is prune to error. - For planner, we should have a separate expression enum type. https://github.com/risinglightdb/risinglight/issues/693
- We should have schema for each plan node from day one. Wrong schema is causing too many problems for us. The next refactoring should also enforce schema on all plan nodes.