vldb-controller-ffi 0.2.1

C ABI wrapper for the vldb-controller host-side client SDK.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
#ifndef VLDB_CONTROLLER_FFI_H
#define VLDB_CONTROLLER_FFI_H

#include <stddef.h>
#include <stdint.h>

#ifdef __cplusplus
extern "C" {
#endif

#define VLDB_CONTROLLER_FFI_PROCESS_MODE_SERVICE 0
#define VLDB_CONTROLLER_FFI_PROCESS_MODE_MANAGED 1

#define VLDB_CONTROLLER_FFI_SPACE_KIND_ROOT 0
#define VLDB_CONTROLLER_FFI_SPACE_KIND_USER 1
#define VLDB_CONTROLLER_FFI_SPACE_KIND_PROJECT 2

#define VLDB_CONTROLLER_FFI_SQLITE_VALUE_INT64 0
#define VLDB_CONTROLLER_FFI_SQLITE_VALUE_FLOAT64 1
#define VLDB_CONTROLLER_FFI_SQLITE_VALUE_STRING 2
#define VLDB_CONTROLLER_FFI_SQLITE_VALUE_BYTES 3
#define VLDB_CONTROLLER_FFI_SQLITE_VALUE_BOOL 4
#define VLDB_CONTROLLER_FFI_SQLITE_VALUE_NULL 5

#define VLDB_CONTROLLER_FFI_LANCEDB_COLUMN_UNSPECIFIED 0
#define VLDB_CONTROLLER_FFI_LANCEDB_COLUMN_STRING 1
#define VLDB_CONTROLLER_FFI_LANCEDB_COLUMN_INT64 2
#define VLDB_CONTROLLER_FFI_LANCEDB_COLUMN_FLOAT64 3
#define VLDB_CONTROLLER_FFI_LANCEDB_COLUMN_BOOL 4
#define VLDB_CONTROLLER_FFI_LANCEDB_COLUMN_VECTOR_FLOAT32 5
#define VLDB_CONTROLLER_FFI_LANCEDB_COLUMN_FLOAT32 6
#define VLDB_CONTROLLER_FFI_LANCEDB_COLUMN_UINT64 7
#define VLDB_CONTROLLER_FFI_LANCEDB_COLUMN_INT32 8
#define VLDB_CONTROLLER_FFI_LANCEDB_COLUMN_UINT32 9

#define VLDB_CONTROLLER_FFI_LANCEDB_INPUT_UNSPECIFIED 0
#define VLDB_CONTROLLER_FFI_LANCEDB_INPUT_JSON_ROWS 1
#define VLDB_CONTROLLER_FFI_LANCEDB_INPUT_ARROW_IPC 2

#define VLDB_CONTROLLER_FFI_LANCEDB_OUTPUT_UNSPECIFIED 0
#define VLDB_CONTROLLER_FFI_LANCEDB_OUTPUT_ARROW_IPC 1
#define VLDB_CONTROLLER_FFI_LANCEDB_OUTPUT_JSON_ROWS 2

typedef struct FfiControllerClientHandle FfiControllerClientHandle;

typedef struct FfiControllerClientConfig {
    const char* endpoint;
    uint8_t auto_spawn;
    const char* spawn_executable;
    int32_t spawn_process_mode;
    uint64_t minimum_uptime_secs;
    uint64_t idle_timeout_secs;
    uint64_t default_lease_ttl_secs;
    uint64_t connect_timeout_secs;
    uint64_t startup_timeout_secs;
    uint64_t startup_retry_interval_ms;
    uint64_t lease_renew_interval_secs;
} FfiControllerClientConfig;

typedef struct FfiClientRegistration {
    const char* client_name;
    const char* host_kind;
    uint32_t process_id;
    const char* process_name;
    uint64_t lease_ttl_secs;
} FfiClientRegistration;

typedef struct FfiSpaceRegistration {
    const char* space_id;
    const char* space_label;
    int32_t space_kind;
    const char* space_root;
} FfiSpaceRegistration;

typedef struct FfiControllerSqliteEnableRequest {
    const char* space_id;
    const char* db_path;
    uint64_t connection_pool_size;
    uint64_t busy_timeout_ms;
    const char* journal_mode;
    const char* synchronous;
    uint8_t foreign_keys;
    const char* temp_store;
    uint32_t wal_autocheckpoint_pages;
    int64_t cache_size_kib;
    uint64_t mmap_size_bytes;
    uint8_t enforce_db_file_lock;
    uint8_t read_only;
    uint8_t allow_uri_filenames;
    uint8_t trusted_schema;
    uint8_t defensive;
} FfiControllerSqliteEnableRequest;

typedef struct FfiControllerLanceDbEnableRequest {
    const char* space_id;
    const char* default_db_path;
    const char* db_root;
    uint64_t read_consistency_interval_ms;
    uint64_t max_upsert_payload;
    uint64_t max_search_limit;
    uint64_t max_concurrent_requests;
} FfiControllerLanceDbEnableRequest;

typedef struct FfiSpaceBackendStatus {
    uint8_t enabled;
    char* mode;
    char* target;
} FfiSpaceBackendStatus;

typedef struct FfiSpaceSnapshot {
    char* space_id;
    char* space_label;
    int32_t space_kind;
    char* space_root;
    uint64_t attached_clients;
    FfiSpaceBackendStatus* sqlite;
    FfiSpaceBackendStatus* lancedb;
} FfiSpaceSnapshot;

typedef struct FfiSpaceSnapshotArray {
    FfiSpaceSnapshot* items;
    size_t len;
} FfiSpaceSnapshotArray;

typedef struct FfiControllerStatusSnapshot {
    int32_t process_mode;
    char* bind_addr;
    uint64_t started_at_unix_ms;
    uint64_t last_request_at_unix_ms;
    uint64_t minimum_uptime_secs;
    uint64_t idle_timeout_secs;
    uint64_t default_lease_ttl_secs;
    uint64_t active_clients;
    uint64_t attached_spaces;
    uint64_t inflight_requests;
    uint8_t shutdown_candidate;
} FfiControllerStatusSnapshot;

typedef struct FfiByteBuffer {
    uint8_t* data;
    size_t len;
} FfiByteBuffer;

typedef struct FfiByteBufferArray {
    FfiByteBuffer* items;
    size_t len;
} FfiByteBufferArray;

typedef struct FfiStringArray {
    const char* const* items;
    size_t len;
} FfiStringArray;

typedef struct FfiSqliteValue {
    int32_t kind;
    int64_t int64_value;
    double float64_value;
    const char* string_value;
    const uint8_t* bytes_value;
    size_t bytes_len;
    uint8_t bool_value;
} FfiSqliteValue;

typedef struct FfiSqliteBatchItem {
    const FfiSqliteValue* params;
    size_t params_len;
} FfiSqliteBatchItem;

typedef struct FfiControllerSqliteExecuteResult {
    uint8_t success;
    char* message;
    int64_t rows_changed;
    int64_t last_insert_rowid;
} FfiControllerSqliteExecuteResult;

typedef struct FfiControllerSqliteExecuteBatchResult {
    uint8_t success;
    char* message;
    int64_t rows_changed;
    int64_t last_insert_rowid;
    int64_t statements_executed;
} FfiControllerSqliteExecuteBatchResult;

typedef struct FfiControllerSqliteQueryResult {
    char* json_data;
    uint64_t row_count;
} FfiControllerSqliteQueryResult;

typedef struct FfiControllerSqliteQueryStreamResult {
    FfiByteBufferArray* chunks;
    uint64_t row_count;
    uint64_t chunk_count;
    uint64_t total_bytes;
} FfiControllerSqliteQueryStreamResult;

typedef struct FfiControllerSqliteTokenizeResult {
    char* tokenizer_mode;
    char* normalized_text;
    char* tokens_json;
    char* fts_query;
} FfiControllerSqliteTokenizeResult;

typedef struct FfiControllerSqliteCustomWordEntry {
    char* word;
    uint64_t weight;
} FfiControllerSqliteCustomWordEntry;

typedef struct FfiControllerSqliteCustomWordArray {
    FfiControllerSqliteCustomWordEntry* items;
    size_t len;
} FfiControllerSqliteCustomWordArray;

typedef struct FfiControllerSqliteDictionaryMutationResult {
    uint8_t success;
    char* message;
    uint64_t affected_rows;
} FfiControllerSqliteDictionaryMutationResult;

typedef struct FfiControllerSqliteListCustomWordsResult {
    uint8_t success;
    char* message;
    FfiControllerSqliteCustomWordArray* words;
} FfiControllerSqliteListCustomWordsResult;

typedef struct FfiControllerSqliteEnsureFtsIndexResult {
    uint8_t success;
    char* message;
    char* index_name;
    char* tokenizer_mode;
} FfiControllerSqliteEnsureFtsIndexResult;

typedef struct FfiControllerSqliteRebuildFtsIndexResult {
    uint8_t success;
    char* message;
    char* index_name;
    char* tokenizer_mode;
    uint64_t reindexed_rows;
} FfiControllerSqliteRebuildFtsIndexResult;

typedef struct FfiControllerSqliteFtsMutationResult {
    uint8_t success;
    char* message;
    uint64_t affected_rows;
    char* index_name;
} FfiControllerSqliteFtsMutationResult;

typedef struct FfiControllerSqliteSearchFtsHit {
    char* id;
    char* file_path;
    char* title;
    char* title_highlight;
    char* content_snippet;
    double score;
    uint64_t rank;
    double raw_score;
} FfiControllerSqliteSearchFtsHit;

typedef struct FfiControllerSqliteSearchFtsHitArray {
    FfiControllerSqliteSearchFtsHit* items;
    size_t len;
} FfiControllerSqliteSearchFtsHitArray;

typedef struct FfiControllerSqliteSearchFtsResult {
    uint8_t success;
    char* message;
    char* index_name;
    char* tokenizer_mode;
    char* normalized_query;
    char* fts_query;
    char* source;
    char* query_mode;
    uint64_t total;
    FfiControllerSqliteSearchFtsHitArray* hits;
} FfiControllerSqliteSearchFtsResult;

typedef struct FfiControllerLanceDbCreateTableResult {
    char* message;
} FfiControllerLanceDbCreateTableResult;

typedef struct FfiControllerLanceDbUpsertResult {
    char* message;
    uint64_t version;
    uint64_t input_rows;
    uint64_t inserted_rows;
    uint64_t updated_rows;
    uint64_t deleted_rows;
} FfiControllerLanceDbUpsertResult;

typedef struct FfiControllerLanceDbSearchResult {
    char* message;
    char* format;
    uint64_t rows;
    uint8_t* data;
    size_t data_len;
} FfiControllerLanceDbSearchResult;

typedef struct FfiControllerLanceDbDeleteResult {
    char* message;
    uint64_t version;
    uint64_t deleted_rows;
} FfiControllerLanceDbDeleteResult;

typedef struct FfiControllerLanceDbDropTableResult {
    char* message;
} FfiControllerLanceDbDropTableResult;

typedef struct FfiControllerLanceDbColumnDef {
    const char* name;
    int32_t column_type;
    uint32_t vector_dim;
    uint8_t nullable;
} FfiControllerLanceDbColumnDef;

char* vldb_controller_ffi_version(void);
void vldb_controller_ffi_string_free(char* value);
void vldb_controller_ffi_bytes_free(uint8_t* data, size_t len);
void vldb_controller_ffi_byte_buffer_array_free(FfiByteBufferArray* value);

int vldb_controller_ffi_client_create(const FfiControllerClientConfig* config, const FfiClientRegistration* registration, FfiControllerClientHandle** client_out, char** error_out);
int vldb_controller_ffi_client_create_json(const char* request_json, FfiControllerClientHandle** client_out, char** response_out, char** error_out);
void vldb_controller_ffi_client_free(FfiControllerClientHandle* client);

int vldb_controller_ffi_client_connect(FfiControllerClientHandle* client, char** error_out);
int vldb_controller_ffi_client_connect_json(FfiControllerClientHandle* client, const char* request_json, char** response_out, char** error_out);
int vldb_controller_ffi_client_shutdown(FfiControllerClientHandle* client, char** error_out);
int vldb_controller_ffi_client_shutdown_json(FfiControllerClientHandle* client, const char* request_json, char** response_out, char** error_out);

int vldb_controller_ffi_client_get_status(FfiControllerClientHandle* client, FfiControllerStatusSnapshot** status_out, char** error_out);
int vldb_controller_ffi_client_get_status_json(FfiControllerClientHandle* client, char** response_out, char** error_out);
void vldb_controller_ffi_controller_status_free(FfiControllerStatusSnapshot* value);

int vldb_controller_ffi_client_attach_space(FfiControllerClientHandle* client, const FfiSpaceRegistration* registration, FfiSpaceSnapshot** space_out, char** error_out);
int vldb_controller_ffi_client_attach_space_json(FfiControllerClientHandle* client, const char* request_json, char** response_out, char** error_out);
int vldb_controller_ffi_client_detach_space(FfiControllerClientHandle* client, const char* space_id, uint8_t* detached_out, char** error_out);
int vldb_controller_ffi_client_detach_space_json(FfiControllerClientHandle* client, const char* request_json, char** response_out, char** error_out);
int vldb_controller_ffi_client_list_spaces(FfiControllerClientHandle* client, FfiSpaceSnapshotArray** spaces_out, char** error_out);
int vldb_controller_ffi_client_list_spaces_json(FfiControllerClientHandle* client, char** response_out, char** error_out);
void vldb_controller_ffi_space_snapshot_free(FfiSpaceSnapshot* value);
void vldb_controller_ffi_space_snapshot_array_free(FfiSpaceSnapshotArray* value);

int vldb_controller_ffi_client_enable_sqlite(FfiControllerClientHandle* client, const FfiControllerSqliteEnableRequest* request, char** error_out);
int vldb_controller_ffi_client_enable_sqlite_json(FfiControllerClientHandle* client, const char* request_json, char** response_out, char** error_out);
int vldb_controller_ffi_client_disable_sqlite(FfiControllerClientHandle* client, const char* space_id, uint8_t* disabled_out, char** error_out);
int vldb_controller_ffi_client_disable_sqlite_json(FfiControllerClientHandle* client, const char* request_json, char** response_out, char** error_out);
int vldb_controller_ffi_client_execute_sqlite_script(FfiControllerClientHandle* client, const char* space_id, const char* sql, const FfiSqliteValue* params, size_t params_len, FfiControllerSqliteExecuteResult** result_out, char** error_out);
int vldb_controller_ffi_client_execute_sqlite_script_json(FfiControllerClientHandle* client, const char* request_json, char** response_out, char** error_out);
void vldb_controller_ffi_sqlite_execute_result_free(FfiControllerSqliteExecuteResult* value);
int vldb_controller_ffi_client_execute_sqlite_batch(FfiControllerClientHandle* client, const char* space_id, const char* sql, const FfiSqliteBatchItem* items, size_t items_len, FfiControllerSqliteExecuteBatchResult** result_out, char** error_out);
int vldb_controller_ffi_client_execute_sqlite_batch_json(FfiControllerClientHandle* client, const char* request_json, char** response_out, char** error_out);
void vldb_controller_ffi_sqlite_execute_batch_result_free(FfiControllerSqliteExecuteBatchResult* value);
int vldb_controller_ffi_client_query_sqlite_json(FfiControllerClientHandle* client, const char* space_id, const char* sql, const FfiSqliteValue* params, size_t params_len, FfiControllerSqliteQueryResult** result_out, char** error_out);
int vldb_controller_ffi_client_query_sqlite_json_json(FfiControllerClientHandle* client, const char* request_json, char** response_out, char** error_out);
void vldb_controller_ffi_sqlite_query_result_free(FfiControllerSqliteQueryResult* value);
int vldb_controller_ffi_client_query_sqlite_stream(FfiControllerClientHandle* client, const char* space_id, const char* sql, const FfiSqliteValue* params, size_t params_len, uint64_t target_chunk_size, FfiControllerSqliteQueryStreamResult** result_out, char** error_out);
int vldb_controller_ffi_client_query_sqlite_stream_json(FfiControllerClientHandle* client, const char* request_json, char** response_out, char** error_out);
void vldb_controller_ffi_sqlite_query_stream_result_free(FfiControllerSqliteQueryStreamResult* value);
int vldb_controller_ffi_client_tokenize_sqlite_text(FfiControllerClientHandle* client, const char* space_id, const char* tokenizer_mode, const char* text, uint8_t search_mode, FfiControllerSqliteTokenizeResult** result_out, char** error_out);
int vldb_controller_ffi_client_tokenize_sqlite_text_json(FfiControllerClientHandle* client, const char* request_json, char** response_out, char** error_out);
void vldb_controller_ffi_sqlite_tokenize_result_free(FfiControllerSqliteTokenizeResult* value);
int vldb_controller_ffi_client_list_sqlite_custom_words(FfiControllerClientHandle* client, const char* space_id, FfiControllerSqliteListCustomWordsResult** result_out, char** error_out);
int vldb_controller_ffi_client_list_sqlite_custom_words_json(FfiControllerClientHandle* client, const char* request_json, char** response_out, char** error_out);
void vldb_controller_ffi_sqlite_custom_word_array_free(FfiControllerSqliteCustomWordArray* value);
void vldb_controller_ffi_sqlite_list_custom_words_result_free(FfiControllerSqliteListCustomWordsResult* value);
int vldb_controller_ffi_client_upsert_sqlite_custom_word(FfiControllerClientHandle* client, const char* space_id, const char* word, uint32_t weight, FfiControllerSqliteDictionaryMutationResult** result_out, char** error_out);
int vldb_controller_ffi_client_upsert_sqlite_custom_word_json(FfiControllerClientHandle* client, const char* request_json, char** response_out, char** error_out);
int vldb_controller_ffi_client_remove_sqlite_custom_word(FfiControllerClientHandle* client, const char* space_id, const char* word, FfiControllerSqliteDictionaryMutationResult** result_out, char** error_out);
int vldb_controller_ffi_client_remove_sqlite_custom_word_json(FfiControllerClientHandle* client, const char* request_json, char** response_out, char** error_out);
void vldb_controller_ffi_sqlite_dictionary_mutation_result_free(FfiControllerSqliteDictionaryMutationResult* value);
int vldb_controller_ffi_client_ensure_sqlite_fts_index(FfiControllerClientHandle* client, const char* space_id, const char* index_name, const char* tokenizer_mode, FfiControllerSqliteEnsureFtsIndexResult** result_out, char** error_out);
int vldb_controller_ffi_client_ensure_sqlite_fts_index_json(FfiControllerClientHandle* client, const char* request_json, char** response_out, char** error_out);
void vldb_controller_ffi_sqlite_ensure_fts_index_result_free(FfiControllerSqliteEnsureFtsIndexResult* value);
int vldb_controller_ffi_client_rebuild_sqlite_fts_index(FfiControllerClientHandle* client, const char* space_id, const char* index_name, const char* tokenizer_mode, FfiControllerSqliteRebuildFtsIndexResult** result_out, char** error_out);
int vldb_controller_ffi_client_rebuild_sqlite_fts_index_json(FfiControllerClientHandle* client, const char* request_json, char** response_out, char** error_out);
void vldb_controller_ffi_sqlite_rebuild_fts_index_result_free(FfiControllerSqliteRebuildFtsIndexResult* value);
int vldb_controller_ffi_client_upsert_sqlite_fts_document(FfiControllerClientHandle* client, const char* space_id, const char* index_name, const char* tokenizer_mode, const char* id, const char* file_path, const char* title, const char* content, FfiControllerSqliteFtsMutationResult** result_out, char** error_out);
int vldb_controller_ffi_client_upsert_sqlite_fts_document_json(FfiControllerClientHandle* client, const char* request_json, char** response_out, char** error_out);
int vldb_controller_ffi_client_delete_sqlite_fts_document(FfiControllerClientHandle* client, const char* space_id, const char* index_name, const char* id, FfiControllerSqliteFtsMutationResult** result_out, char** error_out);
int vldb_controller_ffi_client_delete_sqlite_fts_document_json(FfiControllerClientHandle* client, const char* request_json, char** response_out, char** error_out);
void vldb_controller_ffi_sqlite_fts_mutation_result_free(FfiControllerSqliteFtsMutationResult* value);
int vldb_controller_ffi_client_search_sqlite_fts(FfiControllerClientHandle* client, const char* space_id, const char* index_name, const char* tokenizer_mode, const char* query, uint32_t limit, uint32_t offset, FfiControllerSqliteSearchFtsResult** result_out, char** error_out);
int vldb_controller_ffi_client_search_sqlite_fts_json(FfiControllerClientHandle* client, const char* request_json, char** response_out, char** error_out);
void vldb_controller_ffi_sqlite_search_fts_hit_array_free(FfiControllerSqliteSearchFtsHitArray* value);
void vldb_controller_ffi_sqlite_search_fts_result_free(FfiControllerSqliteSearchFtsResult* value);

int vldb_controller_ffi_client_enable_lancedb(FfiControllerClientHandle* client, const FfiControllerLanceDbEnableRequest* request, char** error_out);
int vldb_controller_ffi_client_enable_lancedb_json(FfiControllerClientHandle* client, const char* request_json, char** response_out, char** error_out);
int vldb_controller_ffi_client_disable_lancedb(FfiControllerClientHandle* client, const char* space_id, uint8_t* disabled_out, char** error_out);
int vldb_controller_ffi_client_disable_lancedb_json(FfiControllerClientHandle* client, const char* request_json, char** response_out, char** error_out);
int vldb_controller_ffi_client_create_lancedb_table(FfiControllerClientHandle* client, const char* space_id, const char* table_name, const FfiControllerLanceDbColumnDef* columns, size_t columns_len, uint8_t overwrite_if_exists, FfiControllerLanceDbCreateTableResult** result_out, char** error_out);
int vldb_controller_ffi_client_create_lancedb_table_json(FfiControllerClientHandle* client, const char* request_json, char** response_out, char** error_out);
void vldb_controller_ffi_lancedb_create_table_result_free(FfiControllerLanceDbCreateTableResult* value);
int vldb_controller_ffi_client_upsert_lancedb(FfiControllerClientHandle* client, const char* space_id, const char* table_name, int32_t input_format, const uint8_t* data, size_t data_len, const char* const* key_columns, size_t key_columns_len, FfiControllerLanceDbUpsertResult** result_out, char** error_out);
int vldb_controller_ffi_client_upsert_lancedb_json(FfiControllerClientHandle* client, const char* request_json, char** response_out, char** error_out);
void vldb_controller_ffi_lancedb_upsert_result_free(FfiControllerLanceDbUpsertResult* value);
int vldb_controller_ffi_client_search_lancedb(FfiControllerClientHandle* client, const char* space_id, const char* table_name, const float* vector, size_t vector_len, uint32_t limit, const char* filter, const char* vector_column, int32_t output_format, FfiControllerLanceDbSearchResult** result_out, char** error_out);
int vldb_controller_ffi_client_search_lancedb_json(FfiControllerClientHandle* client, const char* request_json, char** response_out, char** error_out);
void vldb_controller_ffi_lancedb_search_result_free(FfiControllerLanceDbSearchResult* value);
int vldb_controller_ffi_client_delete_lancedb(FfiControllerClientHandle* client, const char* space_id, const char* table_name, const char* condition, FfiControllerLanceDbDeleteResult** result_out, char** error_out);
int vldb_controller_ffi_client_delete_lancedb_json(FfiControllerClientHandle* client, const char* request_json, char** response_out, char** error_out);
void vldb_controller_ffi_lancedb_delete_result_free(FfiControllerLanceDbDeleteResult* value);
int vldb_controller_ffi_client_drop_lancedb_table(FfiControllerClientHandle* client, const char* space_id, const char* table_name, FfiControllerLanceDbDropTableResult** result_out, char** error_out);
int vldb_controller_ffi_client_drop_lancedb_table_json(FfiControllerClientHandle* client, const char* request_json, char** response_out, char** error_out);
void vldb_controller_ffi_lancedb_drop_table_result_free(FfiControllerLanceDbDropTableResult* value);

#ifdef __cplusplus
}
#endif

#endif