func SumRowsTogether(rows ...[]models.Row) ([]models.Row, error) {
	return sumRowsTogether(rows...)
}
SumRowsTogether sums together the values in multiple sets of rows.
values in rows are summed together only if they have the same name and
tags. Rows with different names and tags are kept separate in the returned
result.
package responses
import (
	"github.com/Symantec/scotty/tsdb"
	"github.com/Symantec/scotty/tsdbjson"
	"github.com/influxdata/influxdb/client/v2"
	"github.com/influxdata/influxdb/models"
)
func Merge(responses ...*client.Response) (*client.Response, error) {
	return mergeResponses(responses)
}
func MergePreferred(response, preferred *client.Response) (
	*client.Response, error) {
	return mergePreferred(response, preferred)
}
func FromTaggedTimeSeriesSets(
	series []*tsdb.TaggedTimeSeriesSet,
	colNames [][]string,
	pqs []tsdbjson.ParsedQuery,
	epochConversion func(ts int64) int64) *client.Response {
	if len(series) != len(pqs) {
		panic("Slices must be of equal length")
	}
	if len(series) != len(colNames) {
		panic("Slices must be of equal length")
	}
	return fromTaggedTimeSeriesSets(series, colNames, pqs, epochConversion)
}
func Serialise(resp *client.Response) (interface{}, error) {
	type seriesListType struct {
		Series []models.Row `json:"series"`
	}
	type resultListType struct {
		Results []seriesListType `json:"results"`
	}
	if resp.Error() != nil {
		return nil, resp.Error()
	}
	results := &resultListType{
		Results: make([]seriesListType, len(resp.Results)),
	}
	for i := range results.Results {
		theSeries := resp.Results[i].Series
		if theSeries == nil {
			theSeries = []models.Row{}
		}
		results.Results[i] = seriesListType{
			Series: theSeries,
		}
	}
	return results, nil
}
func ExtractRows(resp *client.Response) ([]models.Row, error) {
	return extractRows(resp)
}