code: func (s *baseSingleGroupJoinOrderSolver) baseNodeCumCost(groupNode LogicalPlan) float64 {
  	cost := groupNode.statsInfo().RowCount
  	for _, child := range groupNode.Children() {
  		cost += s.baseNodeCumCost(child)
  	}
  	return cost
  }
docs: // baseNodeCumCost calculate the cumulative cost of the node in the join group.