12345678910111213141516171819202122232425262728 |
- package planner
- type logicalOptRule interface {
- optimize(LogicalPlan) (LogicalPlan, error)
- name() string
- }
- type predicatePushDown struct{}
- func (r *predicatePushDown) optimize(lp LogicalPlan) (LogicalPlan, error) {
- _, p := lp.PushDownPredicate(nil)
- return p, nil
- }
- func (r *predicatePushDown) name() string {
- return "predicatePushDown"
- }
- type columnPruner struct{}
- func (r *columnPruner) optimize(lp LogicalPlan) (LogicalPlan, error) {
- err := lp.PruneColumns(nil)
- return lp, err
- }
- func (r *columnPruner) name() string {
- return "columnPruner"
- }
|