func NewMergeSeriesSet(sets []SeriesSet, querier *mergeQuerier) SeriesSet {
	if len(sets) == 1 {
		return sets[0]
	}

	// Sets need to be pre-advanced, so we can introspect the label of the
	// series under the cursor.
	var h seriesSetHeap
	for _, set := range sets {
		if set == nil {
			continue
		}
		if set.Next() {
			heap.Push(&h, set)
		}
	}
	return &mergeSeriesSet{
		heap:    h,
		sets:    sets,
		querier: querier,
	}
}
func NewMergeSeriesSet(sets []SeriesSet, querier *mergeQuerier) SeriesSet {
	if len(sets) == 1 {
		return sets[0]
	}

	
	
	var h seriesSetHeap
	for _, set := range sets {
		if set == nil {
			continue
		}
		if set.Next() {
			heap.Push(&h, set)
		}
	}
	return &mergeSeriesSet{
		heap:    h,
		sets:    sets,
		querier: querier,
	}
}
func NewMergeSeriesSet ( sets [ ] SeriesSet , querier * mergeQuerier ) SeriesSet { if len ( sets ) == 1 { return sets [ 0 ] } // Sets need to be pre-advanced, so we can introspect the label of the // series under the cursor. var h seriesSetHeap for _ , set := range sets { if set == nil { continue } if set . Next ( ) { heap . Push ( & h , set ) } } return & mergeSeriesSet { heap : h , sets : sets , querier : querier , } }
// NewMergeSeriesSet returns a new series set that merges (deduplicates)
// series returned by the input series sets when iterating.
NewMergeSeriesSet returns a new series set that merges ( deduplicates ) series returned by the input series sets when iterating .