code: func (e *StreamAggExec) appendResult2Chunk(chk *chunk.Chunk) error {
  	for i, aggFunc := range e.aggFuncs {
  		err := aggFunc.AppendFinalResult2Chunk(e.ctx, e.partialResults[i], chk)
  		if err != nil {
  			return err
  		}
  		aggFunc.ResetPartialResult(e.partialResults[i])
  	}
  	if len(e.aggFuncs) == 0 {
  		chk.SetNumVirtualRows(chk.NumRows() + 1)
  	}
  	return nil
  }
docs: // appendResult2Chunk appends result of all the aggregation functions to the
  // result chunk, and reset the evaluation context for each aggregation.