1#![allow(unsafe_op_in_unsafe_fn)]
2pub mod version_0;
3
4use std::mem::ManuallyDrop;
5
6use arrow::array::ArrayRef;
7use arrow::ffi;
8use arrow::ffi::{ArrowArray, ArrowSchema};
9use polars_core::error::PolarsResult;
10use polars_core::prelude::Series;
11
12pub const MAJOR: u16 = 0;
13pub const MINOR: u16 = 1;
14
15pub const fn get_version() -> (u16, u16) {
16 (MAJOR, MINOR)
17}
18
19#[allow(dead_code)]
21struct PrivateData {
22 schema: Box<ArrowSchema>,
23 arrays: Box<[*mut ArrowArray]>,
24}
25
26unsafe fn import_array(
29 array: ffi::ArrowArray,
30 schema: &ffi::ArrowSchema,
31) -> PolarsResult<ArrayRef> {
32 let field = ffi::import_field_from_c(schema)?;
33 let out = ffi::import_array_from_c(array, field.dtype)?;
34 Ok(out)
35}