Skip to main content

Module abi

Module abi 

Source
Expand description

Stable C ABI contract between Daft and extension cdylibs.

This module defines the repr(C) types that Daft and extension shared libraries use to communicate. It has zero Daft internal dependencies and zero Arrow implementation dependencies (unless a feature flag is enabled).

Naming follows Postgres conventions:

  • “module” = the shared library at the ABI boundary
  • “extension” = the higher-level Python package wrapping a module

Re-exports§

pub use arrow::ArrowArray;
pub use arrow::ArrowArrayStream;
pub use arrow::ArrowData;
pub use arrow::ArrowSchema;

Modules§

arrow
Arrow C Data Interface and C Stream Interface types.
compat
Feature-gated conversions for arrow-rs FFI types.
ffi

Structs§

FFI_Module
Module definition returned by the entry point symbol.
FFI_ScalarFunction
Virtual function table for a scalar function.
FFI_SessionContext
Host-side session context passed to a module’s init function.

Constants§

DAFT_ABI_VERSION
Modules built against a different ABI version are rejected at load time.
DAFT_MODULE_MAGIC_SYMBOL
Symbol that every Daft module cdylib must export.