influxdb/storage/reads/stream_reader_gen_test.go.tmpl

41 lines
1010 B
Cheetah

package reads_test
import (
"sort"
"github.com/influxdata/influxdb/storage/reads/datatypes"
)
{{range .}}
type {{.Name}}Points datatypes.ReadResponse_{{.Name}}PointsFrame
func (a {{.Name}}Points) Len() int { return len(a.Timestamps) }
func (a {{.Name}}Points) Less(i, j int) bool { return a.Timestamps[i] < a.Timestamps[j] }
func (a {{.Name}}Points) Swap(i, j int) {
a.Timestamps[i], a.Timestamps[j] = a.Timestamps[j], a.Timestamps[i]
a.Values[i], a.Values[j] = a.Values[j], a.Values[i]
}
{{$type := print .name "S"}}
type {{$type}} map[int64]{{.Type}}
func {{.name}}F(points {{$type}}) datatypes.ReadResponse_Frame {
var block {{.Name}}Points
for t, v := range points {
block.Timestamps = append(block.Timestamps, t)
block.Values = append(block.Values, v)
}
sort.Sort(block)
pointsFrame := datatypes.ReadResponse_{{.Name}}PointsFrame(block)
return datatypes.ReadResponse_Frame{
Data: &datatypes.ReadResponse_Frame_{{.Name}}Points{
{{.Name}}Points: &pointsFrame,
},
}
}
{{end}}