func (n *aggregateFuncExpr) update(ctx *selectContext, args []types.Datum) error {
	switch n.expr.GetTp() {
	case tipb.ExprType_Count:
		return n.updateCount(ctx, args)
	case tipb.ExprType_First:
		return n.updateFirst(ctx, args)
	case tipb.ExprType_Sum, tipb.ExprType_Avg:
		return n.updateSum(ctx, args)
	case tipb.ExprType_Max:
		return n.updateMaxMin(ctx, args, true)
	case tipb.ExprType_Min:
		return n.updateMaxMin(ctx, args, false)
	}
	return errors.Errorf("Unknown AggExpr: %v", n.expr.GetTp())
}
// Update is used for update aggregate context.
Update is used for update aggregate context.
// Update is used for update aggregate context .
func (n *aggregateFuncExpr) update(ctx *selectContext, args []types.Datum) error {
	switch n.expr.GetTp() {
	case tipb.ExprType_Count:
		return n.updateCount(ctx, args)
	case tipb.ExprType_First:
		return n.updateFirst(ctx, args)
	case tipb.ExprType_Sum, tipb.ExprType_Avg:
		return n.updateSum(ctx, args)
	case tipb.ExprType_Max:
		return n.updateMaxMin(ctx, args, true)
	case tipb.ExprType_Min:
		return n.updateMaxMin(ctx, args, false)
	}
	return errors.Errorf("Unknown AggExpr: %v", n.expr.GetTp())
}
func ( n * aggregateFuncExpr ) update ( ctx * selectContext , args [ ] types . Datum ) error { switch n . expr . GetTp ( ) { case tipb . ExprType_Count : return n . updateCount ( ctx , args ) case tipb . ExprType_First : return n . updateFirst ( ctx , args ) case tipb . ExprType_Sum , tipb . ExprType_Avg : return n . updateSum ( ctx , args ) case tipb . ExprType_Max : return n . updateMaxMin ( ctx , args , true ) case tipb . ExprType_Min : return n . updateMaxMin ( ctx , args , false ) } return errors . Errorf ( " " , n . expr . GetTp ( ) ) }
Update is used for update aggregate context.
Update is used for update aggregate context .