Skip to content

Commit 5e763e1

Browse files
committed
placeholders for new functions in 1.3
1 parent 12fef0e commit 5e763e1

File tree

2 files changed

+85
-4
lines changed

2 files changed

+85
-4
lines changed

bindings/pkgs/@duckdb/node-bindings/duckdb.d.ts

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,10 @@ export interface Appender {
180180
__duckdb_type: 'duckdb_appender';
181181
}
182182

183+
// export interface ClientContext {
184+
// __duckdb_type: 'duckdb_client_context';
185+
// }
186+
183187
export interface Config {
184188
__duckdb_type: 'duckdb_config';
185189
}
@@ -224,6 +228,10 @@ export interface Result {
224228
__duckdb_type: 'duckdb_result';
225229
}
226230

231+
// export interface SelectionVector {
232+
// __duckdb_type: 'duckdb_selection_vector';
233+
// }
234+
227235
export interface Value {
228236
__duckdb_type: 'duckdb_value';
229237
}
@@ -273,9 +281,17 @@ export function query_progress(connection: Connection): QueryProgress;
273281
// DUCKDB_C_API void duckdb_disconnect(duckdb_connection *connection);
274282
export function disconnect_sync(connection: Connection): void;
275283

284+
// DUCKDB_C_API void duckdb_connection_get_client_context(duckdb_connection connection, duckdb_client_context *out_context);
285+
286+
// DUCKDB_C_API idx_t duckdb_client_context_get_connection_id(duckdb_client_context context);
287+
288+
// DUCKDB_C_API void duckdb_destroy_client_context(duckdb_client_context *context);
289+
276290
// DUCKDB_C_API const char *duckdb_library_version();
277291
export function library_version(): string;
278292

293+
// DUCKDB_C_API duckdb_value duckdb_get_table_names(duckdb_connection connection, const char *query, bool qualified);
294+
279295
// DUCKDB_C_API duckdb_state duckdb_create_config(duckdb_config *out_config);
280296
export function create_config(): Config;
281297

@@ -789,6 +805,10 @@ export function create_list_value(logical_type: LogicalType, values: readonly Va
789805
// DUCKDB_C_API duckdb_value duckdb_create_array_value(duckdb_logical_type type, duckdb_value *values, idx_t value_count);
790806
export function create_array_value(logical_type: LogicalType, values: readonly Value[]): Value;
791807

808+
// DUCKDB_C_API duckdb_value duckdb_create_map_value(duckdb_logical_type map_type, duckdb_value *keys, duckdb_value *values, idx_t entry_count);
809+
810+
// DUCKDB_C_API duckdb_value duckdb_create_union_value(duckdb_logical_type union_type, idx_t tag_index, duckdb_value value);
811+
792812
// DUCKDB_C_API idx_t duckdb_get_map_size(duckdb_value value);
793813
export function get_map_size(value: Value): number;
794814

@@ -819,6 +839,8 @@ export function get_enum_value(value: Value): number;
819839
// DUCKDB_C_API duckdb_value duckdb_get_struct_child(duckdb_value value, idx_t index);
820840
export function get_struct_child(value: Value, index: number): Value;
821841

842+
// DUCKDB_C_API char *duckdb_value_to_string(duckdb_value value);
843+
822844
// DUCKDB_C_API duckdb_logical_type duckdb_create_logical_type(duckdb_type type);
823845
export function create_logical_type(type: Type): LogicalType;
824846

@@ -930,6 +952,10 @@ export function data_chunk_get_size(chunk: DataChunk): number;
930952
// DUCKDB_C_API void duckdb_data_chunk_set_size(duckdb_data_chunk chunk, idx_t size);
931953
export function data_chunk_set_size(chunk: DataChunk, size: number): void;
932954

955+
// DUCKDB_C_API duckdb_vector duckdb_create_vector(duckdb_logical_type type, idx_t capacity);
956+
957+
// DUCKDB_C_API void duckdb_destroy_vector(duckdb_vector *vector);
958+
933959
// DUCKDB_C_API duckdb_logical_type duckdb_vector_get_column_type(duckdb_vector vector);
934960
export function vector_get_column_type(vector: Vector): LogicalType;
935961

@@ -966,6 +992,12 @@ export function struct_vector_get_child(vector: Vector, index: number): Vector;
966992
// DUCKDB_C_API duckdb_vector duckdb_array_vector_get_child(duckdb_vector vector);
967993
export function array_vector_get_child(vector: Vector): Vector;
968994

995+
// DUCKDB_C_API void duckdb_slice_vector(duckdb_vector vector, duckdb_selection_vector selection, idx_t len);
996+
997+
// DUCKDB_C_API void duckdb_vector_reference_value(duckdb_vector vector, duckdb_value value);
998+
999+
// DUCKDB_C_API void duckdb_vector_reference_vector(duckdb_vector to_vector, duckdb_vector from_vector);
1000+
9691001
// DUCKDB_C_API bool duckdb_validity_row_is_valid(uint64_t *validity, idx_t row);
9701002
export function validity_row_is_valid(validity: Uint8Array | null, row_index: number): boolean;
9711003

@@ -987,16 +1019,25 @@ export function validity_set_row_valid(validity: Uint8Array, row_index: number):
9871019
// DUCKDB_C_API void duckdb_scalar_function_add_parameter(duckdb_scalar_function scalar_function, duckdb_logical_type type);
9881020
// DUCKDB_C_API void duckdb_scalar_function_set_return_type(duckdb_scalar_function scalar_function, duckdb_logical_type type);
9891021
// DUCKDB_C_API void duckdb_scalar_function_set_extra_info(duckdb_scalar_function scalar_function, void *extra_info, duckdb_delete_callback_t destroy);
1022+
// DUCKDB_C_API void duckdb_scalar_function_set_bind(duckdb_scalar_function scalar_function, duckdb_scalar_function_bind_t bind);
1023+
// DUCKDB_C_API void duckdb_scalar_function_set_bind_data(duckdb_bind_info info, void *bind_data, duckdb_delete_callback_t destroy);
1024+
// DUCKDB_C_API void duckdb_scalar_function_bind_set_error(duckdb_bind_info info, const char *error);
9901025
// DUCKDB_C_API void duckdb_scalar_function_set_function(duckdb_scalar_function scalar_function, duckdb_scalar_function_t function);
9911026
// DUCKDB_C_API duckdb_state duckdb_register_scalar_function(duckdb_connection con, duckdb_scalar_function scalar_function);
9921027
// DUCKDB_C_API void *duckdb_scalar_function_get_extra_info(duckdb_function_info info);
1028+
// DUCKDB_C_API void *duckdb_scalar_function_get_bind_data(duckdb_function_info info);
1029+
// DUCKDB_C_API void duckdb_scalar_function_get_client_context(duckdb_bind_info info, duckdb_client_context *out_context);
9931030
// DUCKDB_C_API void duckdb_scalar_function_set_error(duckdb_function_info info, const char *error);
9941031

9951032
// DUCKDB_C_API duckdb_scalar_function_set duckdb_create_scalar_function_set(const char *name);
9961033
// DUCKDB_C_API void duckdb_destroy_scalar_function_set(duckdb_scalar_function_set *scalar_function_set);
9971034
// DUCKDB_C_API duckdb_state duckdb_add_scalar_function_to_set(duckdb_scalar_function_set set, duckdb_scalar_function function);
9981035
// DUCKDB_C_API duckdb_state duckdb_register_scalar_function_set(duckdb_connection con, duckdb_scalar_function_set set);
9991036

1037+
// DUCKDB_C_API duckdb_selection_vector duckdb_create_selection_vector(idx_t size);
1038+
// DUCKDB_C_API void duckdb_destroy_selection_vector(duckdb_selection_vector vector);
1039+
// DUCKDB_C_API sel_t *duckdb_selection_vector_get_data_ptr(duckdb_selection_vector vector);
1040+
10001041
// DUCKDB_C_API duckdb_aggregate_function duckdb_create_aggregate_function();
10011042
// DUCKDB_C_API void duckdb_destroy_aggregate_function(duckdb_aggregate_function *aggregate_function);
10021043
// DUCKDB_C_API void duckdb_aggregate_function_set_name(duckdb_aggregate_function aggregate_function, const char *name);

bindings/src/duckdb_node_bindings.cpp

Lines changed: 44 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1561,12 +1561,20 @@ class DuckDBNodeAddon : public Napi::Addon<DuckDBNodeAddon> {
15611561
return env.Undefined();
15621562
}
15631563

1564+
// DUCKDB_C_API void duckdb_connection_get_client_context(duckdb_connection connection, duckdb_client_context *out_context);
1565+
1566+
// DUCKDB_C_API idx_t duckdb_client_context_get_connection_id(duckdb_client_context context);
1567+
1568+
// DUCKDB_C_API void duckdb_destroy_client_context(duckdb_client_context *context);
1569+
15641570
// DUCKDB_C_API const char *duckdb_library_version();
15651571
// function library_version(): string
15661572
Napi::Value library_version(const Napi::CallbackInfo& info) {
15671573
return Napi::String::New(info.Env(), duckdb_library_version());
15681574
}
15691575

1576+
// DUCKDB_C_API duckdb_value duckdb_get_table_names(duckdb_connection connection, const char *query, bool qualified);
1577+
15701578
// DUCKDB_C_API duckdb_state duckdb_create_config(duckdb_config *out_config);
15711579
// function create_config(): Config
15721580
Napi::Value create_config(const Napi::CallbackInfo& info) {
@@ -3151,6 +3159,10 @@ class DuckDBNodeAddon : public Napi::Addon<DuckDBNodeAddon> {
31513159
return CreateExternalForValue(env, value);
31523160
}
31533161

3162+
// DUCKDB_C_API duckdb_value duckdb_create_map_value(duckdb_logical_type map_type, duckdb_value *keys, duckdb_value *values, idx_t entry_count);
3163+
3164+
// DUCKDB_C_API duckdb_value duckdb_create_union_value(duckdb_logical_type union_type, idx_t tag_index, duckdb_value value);
3165+
31543166
// DUCKDB_C_API idx_t duckdb_get_map_size(duckdb_value value);
31553167
// function get_map_size(value: Value): number
31563168
Napi::Value get_map_size(const Napi::CallbackInfo& info) {
@@ -3260,6 +3272,8 @@ class DuckDBNodeAddon : public Napi::Addon<DuckDBNodeAddon> {
32603272
return CreateExternalForValue(env, output_value);
32613273
}
32623274

3275+
// DUCKDB_C_API char *duckdb_value_to_string(duckdb_value value);
3276+
32633277
// DUCKDB_C_API duckdb_logical_type duckdb_create_logical_type(duckdb_type type);
32643278
// function create_logical_type(type: Type): LogicalType
32653279
Napi::Value create_logical_type(const Napi::CallbackInfo& info) {
@@ -3643,6 +3657,10 @@ class DuckDBNodeAddon : public Napi::Addon<DuckDBNodeAddon> {
36433657
return env.Undefined();
36443658
}
36453659

3660+
// DUCKDB_C_API duckdb_vector duckdb_create_vector(duckdb_logical_type type, idx_t capacity);
3661+
3662+
// DUCKDB_C_API void duckdb_destroy_vector(duckdb_vector *vector);
3663+
36463664
// DUCKDB_C_API duckdb_logical_type duckdb_vector_get_column_type(duckdb_vector vector);
36473665
// function vector_get_column_type(vector: Vector): LogicalType
36483666
Napi::Value vector_get_column_type(const Napi::CallbackInfo& info) {
@@ -3767,6 +3785,12 @@ class DuckDBNodeAddon : public Napi::Addon<DuckDBNodeAddon> {
37673785
return CreateExternalForVector(env, child);
37683786
}
37693787

3788+
// DUCKDB_C_API void duckdb_slice_vector(duckdb_vector vector, duckdb_selection_vector selection, idx_t len);
3789+
3790+
// DUCKDB_C_API void duckdb_vector_reference_value(duckdb_vector vector, duckdb_value value);
3791+
3792+
// DUCKDB_C_API void duckdb_vector_reference_vector(duckdb_vector to_vector, duckdb_vector from_vector);
3793+
37703794
// DUCKDB_C_API bool duckdb_validity_row_is_valid(uint64_t *validity, idx_t row);
37713795
// function validity_row_is_valid(validity: Uint8Array | null, row_index: number): boolean
37723796
Napi::Value validity_row_is_valid(const Napi::CallbackInfo& info) {
@@ -3817,16 +3841,25 @@ class DuckDBNodeAddon : public Napi::Addon<DuckDBNodeAddon> {
38173841
// DUCKDB_C_API void duckdb_scalar_function_add_parameter(duckdb_scalar_function scalar_function, duckdb_logical_type type);
38183842
// DUCKDB_C_API void duckdb_scalar_function_set_return_type(duckdb_scalar_function scalar_function, duckdb_logical_type type);
38193843
// DUCKDB_C_API void duckdb_scalar_function_set_extra_info(duckdb_scalar_function scalar_function, void *extra_info, duckdb_delete_callback_t destroy);
3844+
// DUCKDB_C_API void duckdb_scalar_function_set_bind(duckdb_scalar_function scalar_function, duckdb_scalar_function_bind_t bind);
3845+
// DUCKDB_C_API void duckdb_scalar_function_set_bind_data(duckdb_bind_info info, void *bind_data, duckdb_delete_callback_t destroy);
3846+
// DUCKDB_C_API void duckdb_scalar_function_bind_set_error(duckdb_bind_info info, const char *error);
38203847
// DUCKDB_C_API void duckdb_scalar_function_set_function(duckdb_scalar_function scalar_function, duckdb_scalar_function_t function);
38213848
// DUCKDB_C_API duckdb_state duckdb_register_scalar_function(duckdb_connection con, duckdb_scalar_function scalar_function);
38223849
// DUCKDB_C_API void *duckdb_scalar_function_get_extra_info(duckdb_function_info info);
3850+
// DUCKDB_C_API void *duckdb_scalar_function_get_bind_data(duckdb_function_info info);
3851+
// DUCKDB_C_API void duckdb_scalar_function_get_client_context(duckdb_bind_info info, duckdb_client_context *out_context);
38233852
// DUCKDB_C_API void duckdb_scalar_function_set_error(duckdb_function_info info, const char *error);
38243853

38253854
// DUCKDB_C_API duckdb_scalar_function_set duckdb_create_scalar_function_set(const char *name);
38263855
// DUCKDB_C_API void duckdb_destroy_scalar_function_set(duckdb_scalar_function_set *scalar_function_set);
38273856
// DUCKDB_C_API duckdb_state duckdb_add_scalar_function_to_set(duckdb_scalar_function_set set, duckdb_scalar_function function);
38283857
// DUCKDB_C_API duckdb_state duckdb_register_scalar_function_set(duckdb_connection con, duckdb_scalar_function_set set);
38293858

3859+
// DUCKDB_C_API duckdb_selection_vector duckdb_create_selection_vector(idx_t size);
3860+
// DUCKDB_C_API void duckdb_destroy_selection_vector(duckdb_selection_vector vector);
3861+
// DUCKDB_C_API sel_t *duckdb_selection_vector_get_data_ptr(duckdb_selection_vector vector);
3862+
38303863
// DUCKDB_C_API duckdb_aggregate_function duckdb_create_aggregate_function();
38313864
// DUCKDB_C_API void duckdb_destroy_aggregate_function(duckdb_aggregate_function *aggregate_function);
38323865
// DUCKDB_C_API void duckdb_aggregate_function_set_name(duckdb_aggregate_function aggregate_function, const char *name);
@@ -4407,15 +4440,22 @@ NODE_API_ADDON(DuckDBNodeAddon)
44074440

44084441
/*
44094442
4410-
408 duckdb api functions
4443+
428 duckdb c api functions
44114444
+ 3 added functions
44124445
---
4413-
411 total functions
4446+
431 total functions
44144447
44154448
243 instance methods
4449+
3 unimplemented client context functions
4450+
1 unimplemented table names function
4451+
2 unimplemented value creation functions
4452+
1 unimplemented value to string function
44164453
1 unimplemented logical type function
4417-
13 unimplemented scalar function functions
4454+
2 unimplemented vector creation functions
4455+
3 unimplemented vector manipulation functions
4456+
18 unimplemented scalar function functions
44184457
4 unimplemented scalar function set functions
4458+
3 unimplemented selection vector functions
44194459
12 unimplemented aggregate function functions
44204460
4 unimplemented aggregate function set functions
44214461
12 unimplemented table function functions
@@ -4431,6 +4471,6 @@ NODE_API_ADDON(DuckDBNodeAddon)
44314471
23 functions not exposed
44324472
+ 41 unimplemented deprecated functions (of 47)
44334473
---
4434-
411 functions accounted for
4474+
431 functions accounted for
44354475
44364476
*/

0 commit comments

Comments
 (0)