code: func (e *OrderEnforcer) OnEnforce(reqProp *property.PhysicalProperty, child memo.Implementation) (impl memo.Implementation) {
  	sort := &plannercore.PhysicalSort{
  		ByItems: make([]*plannercore.ByItems, 0, len(reqProp.Items)),
  	}
  	for _, item := range reqProp.Items {
  		item := &plannercore.ByItems{
  			Expr: item.Col,
  			Desc: item.Desc,
  		}
  		sort.ByItems = append(sort.ByItems, item)
  	}
  	sort.SetChildren(child.GetPlan())
  	impl = implementation.NewSortImpl(sort)
  	return
  }
docs: // OnEnforce adds sort operator to satisfy required order property.