Skip to content

Commit c2484d3

Browse files
committed
go/arrow/array: fix ref-count for Struct array
1 parent 11bd334 commit c2484d3

2 files changed

Lines changed: 10 additions & 0 deletions

File tree

go/arrow/array/struct.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,13 @@ func (a *Struct) setData(data *Data) {
6565
}
6666
}
6767

68+
func (a *Struct) Retain() {
69+
a.array.Retain()
70+
for _, f := range a.fields {
71+
f.Retain()
72+
}
73+
}
74+
6875
func (a *Struct) Release() {
6976
a.array.Release()
7077
for _, f := range a.fields {

go/arrow/array/struct_test.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,9 @@ func TestStructArray(t *testing.T) {
7979
arr := sb.NewArray().(*array.Struct)
8080
defer arr.Release()
8181

82+
arr.Retain()
83+
arr.Release()
84+
8285
if got, want := arr.DataType().ID(), arrow.STRUCT; got != want {
8386
t.Fatalf("got=%v, want=%v", got, want)
8487
}

0 commit comments

Comments
 (0)