@@ -96,6 +96,14 @@ CArrowChunkIterator::CArrowChunkIterator(PyObject* context, std::vector<std::sha
9696 m_columnCount, m_useNumpy);
9797}
9898
99+ CArrowChunkIterator::~CArrowChunkIterator ()
100+ {
101+ for (int i = 0 ; i < m_arrays.size (); i += 1 ) {
102+ m_arrays[i]->release (m_arrays[i].get ());
103+ ArrowArrayViewReset (m_arrayViews[i].get ());
104+ }
105+ }
106+
99107std::shared_ptr<ReturnVal> CArrowChunkIterator::next ()
100108{
101109 m_rowIndexInBatch++;
@@ -167,9 +175,6 @@ void CArrowChunkIterator::initColumnConverters()
167175 std::shared_ptr<ArrowArray> nanoarrowUniqueColumnArrowArray = std::make_shared<ArrowArray>();
168176 std::shared_ptr<ArrowArrayView> nanoarrowUniqueColumnArrowArrayView = std::make_shared<ArrowArrayView>();
169177
170- // nanoarrow::UniqueArray nanoarrowUniqueColumnArrowArray;
171- // nanoarrow::UniqueArrayView nanoarrowUniqueColumnArrowArrayView;
172-
173178 arrow::ExportArray (*columnArray, nanoarrowUniqueColumnArrowArray.get ());
174179
175180 int res = 0 ;
@@ -187,10 +192,7 @@ void CArrowChunkIterator::initColumnConverters()
187192 PyErr_SetString (PyExc_Exception, errorInfo.c_str ());
188193 }
189194
190- // std::shared_ptr<ArrowArrayView> nanoarrowColumnArrowArrayViewInstance = std::shared_ptr<ArrowArrayView>(nanoarrowUniqueColumnArrowArrayView.get());
191195 std::shared_ptr<ArrowArrayView> nanoarrowColumnArrowArrayViewInstance = nanoarrowUniqueColumnArrowArrayView;
192- // m_uniqueColumnArrowArrays.push_back(nanoarrowUniqueColumnArrowArray.get());
193- // m_uniqueColumnArrowArrayViews.push_back(nanoarrowUniqueColumnArrowArrayView.get());
194196 m_arrays.push_back (nanoarrowUniqueColumnArrowArray);
195197 m_arrayViews.push_back (nanoarrowUniqueColumnArrowArrayView);
196198
0 commit comments