rules.go 347 B

1234567891011121314151617
  1. package planner
  2. type logicalOptRule interface {
  3. optimize(LogicalPlan) (LogicalPlan, error)
  4. name() string
  5. }
  6. type predicatePushDown struct{}
  7. func (r *predicatePushDown) optimize(lp LogicalPlan) (LogicalPlan, error) {
  8. _, p := lp.PushDownPredicate(nil)
  9. return p, nil
  10. }
  11. func (r *predicatePushDown) name() string {
  12. return "predicatePushDown"
  13. }