Skip to content

Commit 3e94793

Browse files
committed
fix
1 parent 417659d commit 3e94793

1 file changed

Lines changed: 6 additions & 0 deletions

File tree

src/function/table/arrow/arrow_type_info.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ idx_t ArrowStructInfo::ChildCount() const {
2626
}
2727

2828
ArrowStructInfo::~ArrowStructInfo() {
29+
// Explicitly clear children to break circular references
30+
children.clear();
2931
}
3032

3133
const ArrowType &ArrowStructInfo::GetChild(idx_t index) const {
@@ -101,6 +103,8 @@ ArrowListInfo::ArrowListInfo(shared_ptr<ArrowType> child, ArrowVariableSizeType
101103
}
102104

103105
ArrowListInfo::~ArrowListInfo() {
106+
// Explicitly clear child to break circular references
107+
child.reset();
104108
}
105109

106110
unique_ptr<ArrowListInfo> ArrowListInfo::ListView(shared_ptr<ArrowType> child, ArrowVariableSizeType size) {
@@ -137,6 +141,8 @@ ArrowArrayInfo::ArrowArrayInfo(shared_ptr<ArrowType> child, idx_t fixed_size)
137141
}
138142

139143
ArrowArrayInfo::~ArrowArrayInfo() {
144+
// Explicitly clear child to break circular references
145+
child.reset();
140146
}
141147

142148
idx_t ArrowArrayInfo::FixedSize() const {

0 commit comments

Comments
 (0)