optimizer.go 289 B

1234567891011121314151617
  1. package planner
  2. var optRuleList = []logicalOptRule{
  3. &columnPruner{},
  4. &predicatePushDown{},
  5. }
  6. func optimize(p LogicalPlan) (LogicalPlan, error) {
  7. var err error
  8. for _, rule := range optRuleList {
  9. p, err = rule.optimize(p)
  10. if err != nil {
  11. return nil, err
  12. }
  13. }
  14. return p, err
  15. }