code: func (e *executor) executeSumCountShard(ctx context.Context, index string, c *pql.Call, shard uint64) (ValCount, error) {
  	span, ctx := tracing.StartSpanFromContext(ctx, "Executor.executeSumCountShard")
  	defer span.Finish()
  
  	var filter *Row
  	if len(c.Children) == 1 {
  		row, err := e.executeBitmapCallShard(ctx, index, c.Children[0], shard)
  		if err != nil {
  			return ValCount{}, errors.Wrap(err, "executing bitmap call")
  		}
  		filter = row
  	}
  
  	fieldName, _ := c.Args["field"].(string)
  
  	field := e.Holder.Field(index, fieldName)
  	if field == nil {
  		return ValCount{}, nil
  	}
  
  	bsig := field.bsiGroup(fieldName)
  	if bsig == nil {
  		return ValCount{}, nil
  	}
  
  	fragment := e.Holder.fragment(index, fieldName, viewBSIGroupPrefix+fieldName, shard)
  	if fragment == nil {
  		return ValCount{}, nil
  	}
  
  	vsum, vcount, err := fragment.sum(filter, bsig.BitDepth())
  	if err != nil {
  		return ValCount{}, errors.Wrap(err, "computing sum")
  	}
  	return ValCount{
  		Val:   int64(vsum) + (int64(vcount) * bsig.Min),
  		Count: int64(vcount),
  	}, nil
  }
docs: // executeSumCountShard calculates the sum and count for bsiGroups on a shard.