in arrow/internal/arrdata/arrdata.go [425:508]
func makeFixedWidthTypesRecords() []array.Record {
mem := memory.NewGoAllocator()
schema := arrow.NewSchema(
[]arrow.Field{
arrow.Field{Name: "float16s", Type: arrow.FixedWidthTypes.Float16, Nullable: true},
arrow.Field{Name: "time32ms", Type: arrow.FixedWidthTypes.Time32ms, Nullable: true},
arrow.Field{Name: "time32s", Type: arrow.FixedWidthTypes.Time32s, Nullable: true},
arrow.Field{Name: "time64ns", Type: arrow.FixedWidthTypes.Time64ns, Nullable: true},
arrow.Field{Name: "time64us", Type: arrow.FixedWidthTypes.Time64us, Nullable: true},
arrow.Field{Name: "timestamp_s", Type: arrow.FixedWidthTypes.Timestamp_s, Nullable: true},
arrow.Field{Name: "timestamp_ms", Type: arrow.FixedWidthTypes.Timestamp_ms, Nullable: true},
arrow.Field{Name: "timestamp_us", Type: arrow.FixedWidthTypes.Timestamp_us, Nullable: true},
arrow.Field{Name: "timestamp_ns", Type: arrow.FixedWidthTypes.Timestamp_ns, Nullable: true},
arrow.Field{Name: "date32s", Type: arrow.FixedWidthTypes.Date32, Nullable: true},
arrow.Field{Name: "date64s", Type: arrow.FixedWidthTypes.Date64, Nullable: true},
}, nil,
)
float16s := func(vs []float32) []float16.Num {
o := make([]float16.Num, len(vs))
for i, v := range vs {
o[i] = float16.New(v)
}
return o
}
mask := []bool{true, false, false, true, true}
chunks := [][]array.Interface{
[]array.Interface{
arrayOf(mem, float16s([]float32{+1, +2, +3, +4, +5}), mask),
arrayOf(mem, []time32ms{-2, -1, 0, +1, +2}, mask),
arrayOf(mem, []time32s{-2, -1, 0, +1, +2}, mask),
arrayOf(mem, []time64ns{-2, -1, 0, +1, +2}, mask),
arrayOf(mem, []time64us{-2, -1, 0, +1, +2}, mask),
arrayOf(mem, []timestamp_s{0, +1, +2, +3, +4}, mask),
arrayOf(mem, []timestamp_ms{0, +1, +2, +3, +4}, mask),
arrayOf(mem, []timestamp_us{0, +1, +2, +3, +4}, mask),
arrayOf(mem, []timestamp_ns{0, +1, +2, +3, +4}, mask),
arrayOf(mem, []arrow.Date32{-2, -1, 0, +1, +2}, mask),
arrayOf(mem, []arrow.Date64{-2, -1, 0, +1, +2}, mask),
},
[]array.Interface{
arrayOf(mem, float16s([]float32{+11, +12, +13, +14, +15}), mask),
arrayOf(mem, []time32ms{-12, -11, 10, +11, +12}, mask),
arrayOf(mem, []time32s{-12, -11, 10, +11, +12}, mask),
arrayOf(mem, []time64ns{-12, -11, 10, +11, +12}, mask),
arrayOf(mem, []time64us{-12, -11, 10, +11, +12}, mask),
arrayOf(mem, []timestamp_s{10, +11, +12, +13, +14}, mask),
arrayOf(mem, []timestamp_ms{10, +11, +12, +13, +14}, mask),
arrayOf(mem, []timestamp_us{10, +11, +12, +13, +14}, mask),
arrayOf(mem, []timestamp_ns{10, +11, +12, +13, +14}, mask),
arrayOf(mem, []arrow.Date32{-12, -11, 10, +11, +12}, mask),
arrayOf(mem, []arrow.Date64{-12, -11, 10, +11, +12}, mask),
},
[]array.Interface{
arrayOf(mem, float16s([]float32{+21, +22, +23, +24, +25}), mask),
arrayOf(mem, []time32ms{-22, -21, 20, +21, +22}, mask),
arrayOf(mem, []time32s{-22, -21, 20, +21, +22}, mask),
arrayOf(mem, []time64ns{-22, -21, 20, +21, +22}, mask),
arrayOf(mem, []time64us{-22, -21, 20, +21, +22}, mask),
arrayOf(mem, []timestamp_s{20, +21, +22, +23, +24}, mask),
arrayOf(mem, []timestamp_ms{20, +21, +22, +23, +24}, mask),
arrayOf(mem, []timestamp_us{20, +21, +22, +23, +24}, mask),
arrayOf(mem, []timestamp_ns{20, +21, +22, +23, +24}, mask),
arrayOf(mem, []arrow.Date32{-22, -21, 20, +21, +22}, mask),
arrayOf(mem, []arrow.Date64{-22, -21, 20, +21, +22}, mask),
},
}
defer func() {
for _, chunk := range chunks {
for _, col := range chunk {
col.Release()
}
}
}()
recs := make([]array.Record, len(chunks))
for i, chunk := range chunks {
recs[i] = array.NewRecord(schema, chunk, -1)
}
return recs
}