1package gen 2 3import ( 4 "github.com/influxdata/influxdb/tsdb" 5 "github.com/influxdata/influxdb/tsdb/engine/tsm1" 6) 7 8{{range .}} 9{{ $typename := print .name "Array" }} 10{{ $tsdbname := print .Name "Array" }} 11type {{$typename}} struct { 12 tsdb.{{$tsdbname}} 13} 14 15func new{{$tsdbname}}Len(sz int) *{{$typename}} { 16 return &{{$typename}}{ 17 {{$tsdbname}}: tsdb.{{$tsdbname}}{ 18 Timestamps: make([]int64, sz), 19 Values: make([]{{.Type}}, sz), 20 }, 21 } 22} 23 24func (a *{{$typename}}) Encode(b []byte) ([]byte, error) { 25 return tsm1.Encode{{$tsdbname}}Block(&a.{{$tsdbname}}, b) 26} 27{{end}}