Skip to main content

pio_export_arrow

Function pio_export_arrow 

Source
#[unsafe(no_mangle)]
pub unsafe extern "C" fn pio_export_arrow( net: *const PioNetwork, table: i32, out_array: *mut FFI_ArrowArray, out_schema: *mut FFI_ArrowSchema, errbuf: *mut c_char, errlen: usize, ) -> i32
Expand description

Export one raw network table over the Arrow C Data Interface.

table is one of the PIO_ARROW_TABLE_* selectors (bus/branch/gen/load/ shunt); the columns are the parsed network fields with EXTERNAL bus ids (the pio_bus_ids id space), not the gridfm schema. On success (returns 0), out_array and out_schema are populated with owned C Data Interface structs: ownership of the Arrow buffers transfers to the caller, both release callbacks are non-NULL, and the caller MUST invoke each exactly once when done (skipping one leaks; the structs outlive pio_network_free). On error (returns -1) the message is written into errbuf and the out-params are left untouched. Only built with the arrow cargo feature.