Skip to main content

laminar_db/ffi/
mod.rs

1//! C FFI layer for LaminarDB.
2
3mod arrow_ffi;
4mod callback;
5mod connection;
6mod error;
7mod memory;
8mod query;
9mod schema;
10mod writer;
11
12// Re-export all FFI functions
13pub use arrow_ffi::{
14    laminar_batch_create, laminar_batch_export, laminar_batch_export_column, laminar_batch_import,
15    laminar_schema_export,
16};
17pub use callback::{
18    laminar_subscribe_callback, laminar_subscription_cancel, laminar_subscription_free,
19    laminar_subscription_is_active, laminar_subscription_user_data, LaminarErrorCallback,
20    LaminarSubscriptionCallback, LaminarSubscriptionHandle, LAMINAR_EVENT_DELETE,
21    LAMINAR_EVENT_INSERT, LAMINAR_EVENT_SNAPSHOT, LAMINAR_EVENT_UPDATE, LAMINAR_EVENT_WATERMARK,
22};
23pub use connection::{
24    laminar_close, laminar_execute, laminar_is_closed, laminar_open, laminar_query,
25    laminar_query_stream, laminar_start, LaminarConnection,
26};
27pub use error::{
28    laminar_clear_error, laminar_last_error, laminar_last_error_code, LAMINAR_ERR_CONNECTION,
29    LAMINAR_ERR_INGESTION, LAMINAR_ERR_INTERNAL, LAMINAR_ERR_INVALID_UTF8,
30    LAMINAR_ERR_NULL_POINTER, LAMINAR_ERR_QUERY, LAMINAR_ERR_SCHEMA_MISMATCH, LAMINAR_ERR_SHUTDOWN,
31    LAMINAR_ERR_SUBSCRIPTION, LAMINAR_ERR_TABLE_EXISTS, LAMINAR_ERR_TABLE_NOT_FOUND, LAMINAR_OK,
32};
33pub use memory::{laminar_string_free, laminar_version};
34pub use query::{
35    laminar_batch_free, laminar_batch_num_columns, laminar_batch_num_rows, laminar_result_free,
36    laminar_result_get_batch, laminar_result_num_batches, laminar_result_num_rows,
37    laminar_result_schema, laminar_stream_cancel, laminar_stream_free, laminar_stream_is_active,
38    laminar_stream_next, laminar_stream_schema, laminar_stream_try_next, LaminarQueryResult,
39    LaminarQueryStream, LaminarRecordBatch,
40};
41pub use schema::{
42    laminar_get_schema, laminar_list_sources, laminar_schema_field_name, laminar_schema_field_type,
43    laminar_schema_free, laminar_schema_num_fields, LaminarSchema,
44};
45pub use writer::{
46    laminar_writer_close, laminar_writer_create, laminar_writer_flush, laminar_writer_free,
47    laminar_writer_write, LaminarWriter,
48};