Hello, first time emailing the mailing list so please let me know if I am doing something wrong.
I am trying to use the Arrow C data interface to pass PyArrow arrays to my C program with Pybind. My Python code looks something like this: array_ptrs = [] schema_ptrs = [] for col in self.columns: c_schema = ffi.new("struct ArrowSchema*") c_array = ffi.new("struct ArrowArray*") schema_ptr = int(ffi.cast("uintptr_t", c_schema)) array_ptr = int(ffi.cast("uintptr_t", c_array)) arr = arrow_batch[col].combine_chunks() arr._export_to_c(array_ptr,schema_ptr) array_ptrs.append(array_ptr) schema_ptrs.append(schema_ptr) start = time.time() self.state.batch_add_arrow(array_ptrs, schema_ptrs) self.state is a PyBind C++ class and batch_add_arrow takes a vector of array_ptrs and schema_ptrs. I don't get problems when I pass in just a single array_ptr or schema_ptr, but when I try to do it with a list I get arrowSchema->release != nullptr in my C++ code. Any pointers?