duckdb-ffi-1.5.3.0: cbits/duckdb_arrow.h
#ifndef DUCKDB_HASKELL_ARROW_H
#define DUCKDB_HASKELL_ARROW_H
#include <stdint.h>
// Arrow C Data Interface structures used by the deprecated DuckDB API.
struct ArrowSchema {
const char *format;
const char *name;
const char *metadata;
int64_t flags;
int64_t n_children;
struct ArrowSchema **children;
struct ArrowSchema *dictionary;
void (*release)(struct ArrowSchema *);
void *private_data;
};
struct ArrowArray {
int64_t length;
int64_t null_count;
int64_t offset;
int64_t n_buffers;
int64_t n_children;
const void **buffers;
struct ArrowArray **children;
struct ArrowArray *dictionary;
void (*release)(struct ArrowArray *);
void *private_data;
};
struct ArrowArrayStream {
int (*get_schema)(struct ArrowArrayStream *, struct ArrowSchema *);
int (*get_next)(struct ArrowArrayStream *, struct ArrowArray *);
const char *(*get_last_error)(struct ArrowArrayStream *);
void (*release)(struct ArrowArrayStream *);
void *private_data;
};
#endif