From 71257c1c39cf0c2bbb852d950ce081a806947a7d Mon Sep 17 00:00:00 2001 From: Ritchie Vink Date: Sat, 30 Dec 2023 11:37:06 +0100 Subject: [PATCH] fix: nested dtypes: export logical type in plugins (#13325) --- crates/polars-ffi/src/version_0.rs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/crates/polars-ffi/src/version_0.rs b/crates/polars-ffi/src/version_0.rs index d3643730e764..3a78232886aa 100644 --- a/crates/polars-ffi/src/version_0.rs +++ b/crates/polars-ffi/src/version_0.rs @@ -54,11 +54,15 @@ unsafe extern "C" fn c_release_series_export(e: *mut SeriesExport) { pub fn export_series(s: &Series) -> SeriesExport { let field = ArrowField::new(s.name(), s.dtype().to_arrow(), true); let schema = Box::new(ffi::export_field_to_c(&field)); - let mut arrays = s - .chunks() - .iter() - .map(|arr| Box::into_raw(Box::new(ffi::export_array_to_c(arr.clone())))) + + let mut arrays = (0..s.chunks().len()) + .map(|i| { + // Make sure we export the logical type. + let arr = s.to_arrow(i); + Box::into_raw(Box::new(ffi::export_array_to_c(arr.clone()))) + }) .collect::>(); + let len = arrays.len(); let ptr = arrays.as_mut_ptr(); SeriesExport {