in arrow/internal/arrdata/arrdata.go [102:183]
func makePrimitiveRecords() []array.Record {
mem := memory.NewGoAllocator()
meta := arrow.NewMetadata(
[]string{"k1", "k2", "k3"},
[]string{"v1", "v2", "v3"},
)
schema := arrow.NewSchema(
[]arrow.Field{
arrow.Field{Name: "bools", Type: arrow.FixedWidthTypes.Boolean, Nullable: true},
arrow.Field{Name: "int8s", Type: arrow.PrimitiveTypes.Int8, Nullable: true},
arrow.Field{Name: "int16s", Type: arrow.PrimitiveTypes.Int16, Nullable: true},
arrow.Field{Name: "int32s", Type: arrow.PrimitiveTypes.Int32, Nullable: true},
arrow.Field{Name: "int64s", Type: arrow.PrimitiveTypes.Int64, Nullable: true},
arrow.Field{Name: "uint8s", Type: arrow.PrimitiveTypes.Uint8, Nullable: true},
arrow.Field{Name: "uint16s", Type: arrow.PrimitiveTypes.Uint16, Nullable: true},
arrow.Field{Name: "uint32s", Type: arrow.PrimitiveTypes.Uint32, Nullable: true},
arrow.Field{Name: "uint64s", Type: arrow.PrimitiveTypes.Uint64, Nullable: true},
arrow.Field{Name: "float32s", Type: arrow.PrimitiveTypes.Float32, Nullable: true},
arrow.Field{Name: "float64s", Type: arrow.PrimitiveTypes.Float64, Nullable: true},
}, &meta,
)
mask := []bool{true, false, false, true, true}
chunks := [][]array.Interface{
[]array.Interface{
arrayOf(mem, []bool{true, false, true, false, true}, mask),
arrayOf(mem, []int8{-1, -2, -3, -4, -5}, mask),
arrayOf(mem, []int16{-1, -2, -3, -4, -5}, mask),
arrayOf(mem, []int32{-1, -2, -3, -4, -5}, mask),
arrayOf(mem, []int64{-1, -2, -3, -4, -5}, mask),
arrayOf(mem, []uint8{+1, +2, +3, +4, +5}, mask),
arrayOf(mem, []uint16{+1, +2, +3, +4, +5}, mask),
arrayOf(mem, []uint32{+1, +2, +3, +4, +5}, mask),
arrayOf(mem, []uint64{+1, +2, +3, +4, +5}, mask),
arrayOf(mem, []float32{+1, +2, +3, +4, +5}, mask),
arrayOf(mem, []float64{+1, +2, +3, +4, +5}, mask),
},
[]array.Interface{
arrayOf(mem, []bool{true, false, true, false, true}, mask),
arrayOf(mem, []int8{-11, -12, -13, -14, -15}, mask),
arrayOf(mem, []int16{-11, -12, -13, -14, -15}, mask),
arrayOf(mem, []int32{-11, -12, -13, -14, -15}, mask),
arrayOf(mem, []int64{-11, -12, -13, -14, -15}, mask),
arrayOf(mem, []uint8{+11, +12, +13, +14, +15}, mask),
arrayOf(mem, []uint16{+11, +12, +13, +14, +15}, mask),
arrayOf(mem, []uint32{+11, +12, +13, +14, +15}, mask),
arrayOf(mem, []uint64{+11, +12, +13, +14, +15}, mask),
arrayOf(mem, []float32{+11, +12, +13, +14, +15}, mask),
arrayOf(mem, []float64{+11, +12, +13, +14, +15}, mask),
},
[]array.Interface{
arrayOf(mem, []bool{true, false, true, false, true}, mask),
arrayOf(mem, []int8{-21, -22, -23, -24, -25}, mask),
arrayOf(mem, []int16{-21, -22, -23, -24, -25}, mask),
arrayOf(mem, []int32{-21, -22, -23, -24, -25}, mask),
arrayOf(mem, []int64{-21, -22, -23, -24, -25}, mask),
arrayOf(mem, []uint8{+21, +22, +23, +24, +25}, mask),
arrayOf(mem, []uint16{+21, +22, +23, +24, +25}, mask),
arrayOf(mem, []uint32{+21, +22, +23, +24, +25}, mask),
arrayOf(mem, []uint64{+21, +22, +23, +24, +25}, mask),
arrayOf(mem, []float32{+21, +22, +23, +24, +25}, mask),
arrayOf(mem, []float64{+21, +22, +23, +24, +25}, 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
}