Skip to main content

Crate libduckdb_sys

Crate libduckdb_sys 

Source

Structs§

ArrowArray
Arrow C Data Interface array.
ArrowSchema
Arrow C Data Interface schema.
DuckDbString
Error
_duckdb_aggregate_function
An aggregate function. Must be destroyed with duckdb_destroy_aggregate_function.
_duckdb_aggregate_function_set
An aggregate function set. Must be destroyed with duckdb_destroy_aggregate_function_set.
_duckdb_aggregate_state
The state of an aggregate function.
_duckdb_appender
The appender enables fast data loading into DuckDB. Must be destroyed with duckdb_appender_destroy.
_duckdb_arrow
An arrow result set. Must be destroyed with duckdb_destroy_arrow.
_duckdb_arrow_array
An arrow array wrapper.
_duckdb_arrow_converted_schema
Holds a converted Arrow schema. Must be destroyed with duckdb_destroy_arrow_converted_schema.
_duckdb_arrow_options
Arrow options for transforming DuckDB schema/chunks to Arrow. Must be destroyed with duckdb_destroy_arrow_options.
_duckdb_arrow_schema
An arrow schema wrapper.
_duckdb_arrow_stream
An arrow stream wrapper. Must be destroyed with duckdb_destroy_arrow_stream.
_duckdb_bind_info
The bind info of a function.
_duckdb_cast_function
A cast function. Must be destroyed with duckdb_destroy_cast_function.
_duckdb_catalog
A handle to a database catalog. Must be destroyed with duckdb_destroy_catalog.
_duckdb_catalog_entry
A handle to a catalog entry. Must be destroyed with duckdb_destroy_catalog_entry.
_duckdb_client_context
A client context of a duckdb connection. Must be destroyed with duckdb_destroy_client_context.
_duckdb_config
The configuration for opening a database. Must be destroyed with duckdb_destroy_config.
_duckdb_config_option
A custom configuration option instance. Must be destroyed with duckdb_destroy_config_option.
_duckdb_connection
A connection to a duckdb database. Must be closed with duckdb_disconnect.
_duckdb_copy_function
A COPY function. Must be destroyed with duckdb_destroy_copy_function.
_duckdb_copy_function_bind_info
Info for the bind function of a COPY function.
_duckdb_copy_function_finalize_info
Info for the finalize function of a COPY function.
_duckdb_copy_function_global_init_info
Info for the global initialization function of a COPY function.
_duckdb_copy_function_sink_info
Info for the sink function of a COPY function.
_duckdb_create_type_info
Holds extra information to register a custom logical type. Reserved for future use.
_duckdb_data_chunk
Contains a data chunk of a duckdb_result. Must be destroyed with duckdb_destroy_data_chunk.
_duckdb_database
A database object. Must be closed with duckdb_close.
_duckdb_error_data
Holds error data. Must be destroyed with duckdb_destroy_error_data.
_duckdb_expression
Holds a bound expression. Must be destroyed with duckdb_destroy_expression.
_duckdb_extension_info
Holds the state of the C API extension initialization process.
_duckdb_extracted_statements
Extracted statements. Must be destroyed with duckdb_destroy_extracted.
_duckdb_file_handle
A file handle. Must be destroyed with duckdb_destroy_file_handle.
_duckdb_file_open_options
File open options. Must be destroyed with duckdb_destroy_file_open_options.
_duckdb_file_system
A file system instance. Must be destroyed with duckdb_destroy_file_system.
_duckdb_function_info
Additional function info.
_duckdb_init_info
Additional function initialization info.
_duckdb_instance_cache
A database instance cache. Must be destroyed with duckdb_destroy_instance_cache.
_duckdb_log_storage
A log storage instance. Must be destroyed with duckdb_destroy_log_storage.
_duckdb_logical_type
A logical type. Must be destroyed with duckdb_destroy_logical_type.
_duckdb_pending_result
A pending query result. Must be destroyed with duckdb_destroy_pending.
_duckdb_prepared_statement
A prepared statement. Must be destroyed with duckdb_destroy_prepare.
_duckdb_profiling_info
Holds a recursive tree containing profiling metrics.
_duckdb_replacement_scan_info
Info passed to a replacement scan callback.
_duckdb_scalar_function
A scalar function. Must be destroyed with duckdb_destroy_scalar_function.
_duckdb_scalar_function_set
A scalar function set. Must be destroyed with duckdb_destroy_scalar_function_set.
_duckdb_selection_vector
A selection vector defining a selection on top of a vector. Must be destroyed with duckdb_destroy_selection_vector.
_duckdb_table_description
The table description allows querying information about the table. Must be destroyed with duckdb_table_description_destroy.
_duckdb_table_function
A table function. Must be destroyed with duckdb_destroy_table_function.
_duckdb_value
A value of a logical type. Must be destroyed with duckdb_destroy_value.
_duckdb_vector
A vector, either standalone or a column in a data chunk.
duckdb_bignum
A DuckDB BIGNUM (uint8_t* + size + is_negative). The absolute value is stored in data in big endian format. Free data with duckdb_free.
duckdb_bit
A DuckDB BIT (uint8_t* + size). Free data with duckdb_free.
duckdb_blob
A DuckDB BLOB (void* + size). Free data with duckdb_free.
duckdb_column
A column in a result. Use accessor functions rather than accessing fields directly.
duckdb_date
DATE is stored as days since 1970-01-01.
duckdb_date_struct
Decomposed date components.
duckdb_decimal
DECIMAL is composed of a width and a scale. Value is stored in a HUGEINT.
duckdb_extension_access
! Passed to C API extension as a parameter to the entrypoint.
duckdb_hugeint
HUGEINT is composed of a lower and upper component. Value is upper * 2^64 + lower.
duckdb_interval
INTERVAL is stored in months, days, and micros.
duckdb_list_entry
Internal representation of a LIST metadata entry.
duckdb_query_progress_type
A type holding information about the query execution progress.
duckdb_result
A query result. Must be freed with duckdb_destroy_result.
duckdb_string
A DuckDB string (char* + size). Free data with duckdb_free.
duckdb_string_t
! The internal representation of a VARCHAR (string_t). If the VARCHAR does not ! exceed 12 characters, then we inline it. Otherwise, we inline a four-byte prefix for faster ! string comparisons and store a pointer to the remaining characters. This is a non- ! owning structure, i.e., it does not have to be freed.
duckdb_string_t__bindgen_ty_1__bindgen_ty_1
duckdb_string_t__bindgen_ty_1__bindgen_ty_2
duckdb_time
TIME is stored as microseconds since 00:00:00.
duckdb_time_ns
TIME_NS is stored as nanoseconds since 00:00:00.
duckdb_time_struct
Decomposed time components.
duckdb_time_tz
TIME_TZ stored as 40 bits for microseconds and 24 bits for offset.
duckdb_time_tz_struct
Decomposed TIME_TZ components.
duckdb_timestamp
TIMESTAMP is stored as microseconds since 1970-01-01.
duckdb_timestamp_ms
TIMESTAMP_MS is stored as milliseconds since 1970-01-01.
duckdb_timestamp_ns
TIMESTAMP_NS is stored as nanoseconds since 1970-01-01.
duckdb_timestamp_s
TIMESTAMP_S is stored as seconds since 1970-01-01.
duckdb_timestamp_struct
Decomposed timestamp components.
duckdb_uhugeint
UHUGEINT is composed of a lower and upper component. Value is upper * 2^64 + lower.

Enums§

ErrorCode
Error Codes

Constants§

DUCKDB_TYPE_DUCKDB_TYPE_ANY
! enum type, only useful as logical type
DUCKDB_TYPE_DUCKDB_TYPE_ARRAY
! duckdb_array, only useful as logical type
DUCKDB_TYPE_DUCKDB_TYPE_BIGINT
! int64_t
DUCKDB_TYPE_DUCKDB_TYPE_BIGNUM
! duckdb_bignum
DUCKDB_TYPE_DUCKDB_TYPE_BIT
! duckdb_bit
DUCKDB_TYPE_DUCKDB_TYPE_BLOB
! duckdb_blob
DUCKDB_TYPE_DUCKDB_TYPE_BOOLEAN
! bool
DUCKDB_TYPE_DUCKDB_TYPE_DATE
! duckdb_date
DUCKDB_TYPE_DUCKDB_TYPE_DECIMAL
! duckdb_decimal
DUCKDB_TYPE_DUCKDB_TYPE_DOUBLE
! double
DUCKDB_TYPE_DUCKDB_TYPE_ENUM
! enum type, only useful as logical type
DUCKDB_TYPE_DUCKDB_TYPE_FLOAT
! float
DUCKDB_TYPE_DUCKDB_TYPE_GEOMETRY
! GEOMETRY type, WKB blob
DUCKDB_TYPE_DUCKDB_TYPE_HUGEINT
! duckdb_hugeint
DUCKDB_TYPE_DUCKDB_TYPE_INTEGER
! int32_t
DUCKDB_TYPE_DUCKDB_TYPE_INTEGER_LITERAL
! enum type, only useful as logical type
DUCKDB_TYPE_DUCKDB_TYPE_INTERVAL
! duckdb_interval
DUCKDB_TYPE_DUCKDB_TYPE_INVALID
DUCKDB_TYPE_DUCKDB_TYPE_LIST
! list type, only useful as logical type
DUCKDB_TYPE_DUCKDB_TYPE_MAP
! map type, only useful as logical type
DUCKDB_TYPE_DUCKDB_TYPE_SMALLINT
! int16_t
DUCKDB_TYPE_DUCKDB_TYPE_SQLNULL
! enum type, only useful as logical type
DUCKDB_TYPE_DUCKDB_TYPE_STRING_LITERAL
! enum type, only useful as logical type
DUCKDB_TYPE_DUCKDB_TYPE_STRUCT
! struct type, only useful as logical type
DUCKDB_TYPE_DUCKDB_TYPE_TIME
! duckdb_time
DUCKDB_TYPE_DUCKDB_TYPE_TIMESTAMP
! duckdb_timestamp (microseconds)
DUCKDB_TYPE_DUCKDB_TYPE_TIMESTAMP_MS
! duckdb_timestamp_ms (milliseconds)
DUCKDB_TYPE_DUCKDB_TYPE_TIMESTAMP_NS
! duckdb_timestamp_ns (nanoseconds)
DUCKDB_TYPE_DUCKDB_TYPE_TIMESTAMP_S
! duckdb_timestamp_s (seconds)
DUCKDB_TYPE_DUCKDB_TYPE_TIMESTAMP_TZ
! duckdb_timestamp (microseconds)
DUCKDB_TYPE_DUCKDB_TYPE_TIME_NS
! duckdb_time_ns (nanoseconds)
DUCKDB_TYPE_DUCKDB_TYPE_TIME_TZ
! duckdb_time_tz
DUCKDB_TYPE_DUCKDB_TYPE_TINYINT
! int8_t
DUCKDB_TYPE_DUCKDB_TYPE_UBIGINT
! uint64_t
DUCKDB_TYPE_DUCKDB_TYPE_UHUGEINT
! duckdb_uhugeint
DUCKDB_TYPE_DUCKDB_TYPE_UINTEGER
! uint32_t
DUCKDB_TYPE_DUCKDB_TYPE_UNION
! union type, only useful as logical type
DUCKDB_TYPE_DUCKDB_TYPE_USMALLINT
! uint16_t
DUCKDB_TYPE_DUCKDB_TYPE_UTINYINT
! uint8_t
DUCKDB_TYPE_DUCKDB_TYPE_UUID
! duckdb_hugeint
DUCKDB_TYPE_DUCKDB_TYPE_VARCHAR
! const char*
DUCKDB_TYPE_DUCKDB_TYPE_VARIANT
! VARIANT type
DuckDBError
DuckDBSuccess
duckdb_cast_mode_DUCKDB_CAST_NORMAL
duckdb_cast_mode_DUCKDB_CAST_TRY
duckdb_catalog_entry_type_DUCKDB_CATALOG_ENTRY_TYPE_COLLATION
duckdb_catalog_entry_type_DUCKDB_CATALOG_ENTRY_TYPE_DATABASE
duckdb_catalog_entry_type_DUCKDB_CATALOG_ENTRY_TYPE_INDEX
duckdb_catalog_entry_type_DUCKDB_CATALOG_ENTRY_TYPE_INVALID
duckdb_catalog_entry_type_DUCKDB_CATALOG_ENTRY_TYPE_PREPARED_STATEMENT
duckdb_catalog_entry_type_DUCKDB_CATALOG_ENTRY_TYPE_SCHEMA
duckdb_catalog_entry_type_DUCKDB_CATALOG_ENTRY_TYPE_SEQUENCE
duckdb_catalog_entry_type_DUCKDB_CATALOG_ENTRY_TYPE_TABLE
duckdb_catalog_entry_type_DUCKDB_CATALOG_ENTRY_TYPE_TYPE
duckdb_catalog_entry_type_DUCKDB_CATALOG_ENTRY_TYPE_VIEW
duckdb_config_option_scope_DUCKDB_CONFIG_OPTION_SCOPE_GLOBAL
! Set the option globally for all sessions/connections.
duckdb_config_option_scope_DUCKDB_CONFIG_OPTION_SCOPE_INVALID
duckdb_config_option_scope_DUCKDB_CONFIG_OPTION_SCOPE_LOCAL
! The option is set for the duration of the current transaction only. CURRENTLY NOT IMPLEMENTED.
duckdb_config_option_scope_DUCKDB_CONFIG_OPTION_SCOPE_SESSION
! The option is set for the current session/connection only.
duckdb_error_type_DUCKDB_ERROR_AUTOLOAD
duckdb_error_type_DUCKDB_ERROR_BINDER
duckdb_error_type_DUCKDB_ERROR_CATALOG
duckdb_error_type_DUCKDB_ERROR_CONNECTION
duckdb_error_type_DUCKDB_ERROR_CONSTRAINT
duckdb_error_type_DUCKDB_ERROR_CONVERSION
duckdb_error_type_DUCKDB_ERROR_DECIMAL
duckdb_error_type_DUCKDB_ERROR_DEPENDENCY
duckdb_error_type_DUCKDB_ERROR_DIVIDE_BY_ZERO
duckdb_error_type_DUCKDB_ERROR_EXECUTOR
duckdb_error_type_DUCKDB_ERROR_EXPRESSION
duckdb_error_type_DUCKDB_ERROR_FATAL
duckdb_error_type_DUCKDB_ERROR_HTTP
duckdb_error_type_DUCKDB_ERROR_INDEX
duckdb_error_type_DUCKDB_ERROR_INTERNAL
duckdb_error_type_DUCKDB_ERROR_INTERRUPT
duckdb_error_type_DUCKDB_ERROR_INVALID
duckdb_error_type_DUCKDB_ERROR_INVALID_INPUT
duckdb_error_type_DUCKDB_ERROR_INVALID_TYPE
duckdb_error_type_DUCKDB_ERROR_IO
duckdb_error_type_DUCKDB_ERROR_MISMATCH_TYPE
duckdb_error_type_DUCKDB_ERROR_MISSING_EXTENSION
duckdb_error_type_DUCKDB_ERROR_NETWORK
duckdb_error_type_DUCKDB_ERROR_NOT_IMPLEMENTED
duckdb_error_type_DUCKDB_ERROR_NULL_POINTER
duckdb_error_type_DUCKDB_ERROR_OBJECT_SIZE
duckdb_error_type_DUCKDB_ERROR_OPTIMIZER
duckdb_error_type_DUCKDB_ERROR_OUT_OF_MEMORY
duckdb_error_type_DUCKDB_ERROR_OUT_OF_RANGE
duckdb_error_type_DUCKDB_ERROR_PARAMETER_NOT_ALLOWED
duckdb_error_type_DUCKDB_ERROR_PARAMETER_NOT_RESOLVED
duckdb_error_type_DUCKDB_ERROR_PARSER
duckdb_error_type_DUCKDB_ERROR_PERMISSION
duckdb_error_type_DUCKDB_ERROR_PLANNER
duckdb_error_type_DUCKDB_ERROR_SCHEDULER
duckdb_error_type_DUCKDB_ERROR_SEQUENCE
duckdb_error_type_DUCKDB_ERROR_SERIALIZATION
duckdb_error_type_DUCKDB_ERROR_SETTINGS
duckdb_error_type_DUCKDB_ERROR_STAT
duckdb_error_type_DUCKDB_ERROR_SYNTAX
duckdb_error_type_DUCKDB_ERROR_TRANSACTION
duckdb_error_type_DUCKDB_ERROR_UNKNOWN_TYPE
duckdb_error_type_DUCKDB_INVALID_CONFIGURATION
duckdb_file_flag_DUCKDB_FILE_FLAG_APPEND
! Open the file in append mode.
duckdb_file_flag_DUCKDB_FILE_FLAG_CREATE
! Create a new file, or open if it already exists.
duckdb_file_flag_DUCKDB_FILE_FLAG_CREATE_NEW
! Create a new file, or fail if it already exists.
duckdb_file_flag_DUCKDB_FILE_FLAG_INVALID
duckdb_file_flag_DUCKDB_FILE_FLAG_READ
! Open the file with read capabilities.
duckdb_file_flag_DUCKDB_FILE_FLAG_WRITE
! Open the file with write capabilities.
duckdb_pending_state_DUCKDB_PENDING_ERROR
duckdb_pending_state_DUCKDB_PENDING_NO_TASKS_AVAILABLE
duckdb_pending_state_DUCKDB_PENDING_RESULT_NOT_READY
duckdb_pending_state_DUCKDB_PENDING_RESULT_READY
duckdb_result_type_DUCKDB_RESULT_TYPE_CHANGED_ROWS
duckdb_result_type_DUCKDB_RESULT_TYPE_INVALID
duckdb_result_type_DUCKDB_RESULT_TYPE_NOTHING
duckdb_result_type_DUCKDB_RESULT_TYPE_QUERY_RESULT
duckdb_state_DuckDBError
duckdb_state_DuckDBSuccess
duckdb_statement_type_DUCKDB_STATEMENT_TYPE_ALTER
duckdb_statement_type_DUCKDB_STATEMENT_TYPE_ANALYZE
duckdb_statement_type_DUCKDB_STATEMENT_TYPE_ATTACH
duckdb_statement_type_DUCKDB_STATEMENT_TYPE_CALL
duckdb_statement_type_DUCKDB_STATEMENT_TYPE_COPY
duckdb_statement_type_DUCKDB_STATEMENT_TYPE_COPY_DATABASE
duckdb_statement_type_DUCKDB_STATEMENT_TYPE_CREATE
duckdb_statement_type_DUCKDB_STATEMENT_TYPE_CREATE_FUNC
duckdb_statement_type_DUCKDB_STATEMENT_TYPE_DELETE
duckdb_statement_type_DUCKDB_STATEMENT_TYPE_DETACH
duckdb_statement_type_DUCKDB_STATEMENT_TYPE_DROP
duckdb_statement_type_DUCKDB_STATEMENT_TYPE_EXECUTE
duckdb_statement_type_DUCKDB_STATEMENT_TYPE_EXPLAIN
duckdb_statement_type_DUCKDB_STATEMENT_TYPE_EXPORT
duckdb_statement_type_DUCKDB_STATEMENT_TYPE_EXTENSION
duckdb_statement_type_DUCKDB_STATEMENT_TYPE_INSERT
duckdb_statement_type_DUCKDB_STATEMENT_TYPE_INVALID
duckdb_statement_type_DUCKDB_STATEMENT_TYPE_LOAD
duckdb_statement_type_DUCKDB_STATEMENT_TYPE_LOGICAL_PLAN
duckdb_statement_type_DUCKDB_STATEMENT_TYPE_MERGE_INTO
duckdb_statement_type_DUCKDB_STATEMENT_TYPE_MULTI
duckdb_statement_type_DUCKDB_STATEMENT_TYPE_PRAGMA
duckdb_statement_type_DUCKDB_STATEMENT_TYPE_PREPARE
duckdb_statement_type_DUCKDB_STATEMENT_TYPE_RELATION
duckdb_statement_type_DUCKDB_STATEMENT_TYPE_SELECT
duckdb_statement_type_DUCKDB_STATEMENT_TYPE_SET
duckdb_statement_type_DUCKDB_STATEMENT_TYPE_TRANSACTION
duckdb_statement_type_DUCKDB_STATEMENT_TYPE_UPDATE
duckdb_statement_type_DUCKDB_STATEMENT_TYPE_UPDATE_EXTENSIONS
duckdb_statement_type_DUCKDB_STATEMENT_TYPE_VACUUM
duckdb_statement_type_DUCKDB_STATEMENT_TYPE_VARIABLE_SET

Functions§

code_to_str
duckdb_add_aggregate_function_to_set⚠
Adds the aggregate function as a new overload to the aggregate function set.
duckdb_add_replacement_scan⚠
Add a replacement scan definition to the specified database.
duckdb_add_scalar_function_to_set⚠
Adds the scalar function as a new overload to the scalar function set.
duckdb_aggregate_function_add_parameter⚠
Adds a parameter to the aggregate function.
duckdb_aggregate_function_get_extra_info⚠
Retrieves the extra info of the function as set in duckdb_aggregate_function_set_extra_info.
duckdb_aggregate_function_set_destructor⚠
Sets the state destructor callback of the aggregate function (optional)
duckdb_aggregate_function_set_error⚠
Report that an error has occurred while executing the aggregate function.
duckdb_aggregate_function_set_extra_info⚠
Assigns extra information to the scalar function that can be fetched during binding, etc.
duckdb_aggregate_function_set_functions⚠
Sets the main functions of the aggregate function.
duckdb_aggregate_function_set_name⚠
Sets the name of the given aggregate function.
duckdb_aggregate_function_set_return_type⚠
Sets the return type of the aggregate function.
duckdb_aggregate_function_set_special_handling⚠
Sets the NULL handling of the aggregate function to SPECIAL_HANDLING.
duckdb_append_blob⚠
Append a blob value to the appender.
duckdb_append_bool⚠
Append a bool value to the appender.
duckdb_append_data_chunk⚠
Appends a pre-filled data chunk to the specified appender. Attempts casting, if the data chunk types do not match the active appender types.
duckdb_append_date⚠
Append a duckdb_date value to the appender.
duckdb_append_default⚠
Append a DEFAULT value (NULL if DEFAULT not available for column) to the appender.
duckdb_append_default_to_chunk⚠
Append a DEFAULT value, at the specified row and column, (NULL if DEFAULT not available for column) to the chunk created from the specified appender. The default value of the column must be a constant value. Non-deterministic expressions like nextval(‘seq’) or random() are not supported.
duckdb_append_double⚠
Append a double value to the appender.
duckdb_append_float⚠
Append a float value to the appender.
duckdb_append_hugeint⚠
Append a duckdb_hugeint value to the appender.
duckdb_append_int8⚠
Append an int8_t value to the appender.
duckdb_append_int16⚠
Append an int16_t value to the appender.
duckdb_append_int32⚠
Append an int32_t value to the appender.
duckdb_append_int64⚠
Append an int64_t value to the appender.
duckdb_append_interval⚠
Append a duckdb_interval value to the appender.
duckdb_append_null⚠
Append a NULL value to the appender (of any type).
duckdb_append_time⚠
Append a duckdb_time value to the appender.
duckdb_append_timestamp⚠
Append a duckdb_timestamp value to the appender.
duckdb_append_uhugeint⚠
Append a duckdb_uhugeint value to the appender.
duckdb_append_uint8⚠
Append a uint8_t value to the appender.
duckdb_append_uint16⚠
Append a uint16_t value to the appender.
duckdb_append_uint32⚠
Append a uint32_t value to the appender.
duckdb_append_uint64⚠
Append a uint64_t value to the appender.
duckdb_append_value⚠
Append a duckdb_value to the appender.
duckdb_append_varchar⚠
Append a varchar value to the appender.
duckdb_append_varchar_length⚠
Append a varchar value to the appender.
duckdb_appender_add_column⚠
Appends a column to the active column list of the appender. Immediately flushes all previous data.
duckdb_appender_begin_row⚠
A nop function, provided for backwards compatibility reasons. Does nothing. Only duckdb_appender_end_row is required.
duckdb_appender_clear⚠
Clears all buffered data from the appender without flushing it to the table. This discards any data that has been appended but not yet written. The appender can continue to be used after clearing.
duckdb_appender_clear_columns⚠
Removes all columns from the active column list of the appender, resetting the appender to treat all columns as active. Immediately flushes all previous data.
duckdb_appender_close⚠
Closes the appender by flushing all intermediate states and closing it for further appends. If flushing the data triggers a constraint violation or any other error, then all data is invalidated, and this function returns DuckDBError. Call duckdb_appender_error_data to obtain the error data followed by duckdb_appender_destroy to destroy the invalidated appender.
duckdb_appender_column_count⚠
Returns the number of columns that belong to the appender. If there is no active column list, then this equals the table’s physical columns.
duckdb_appender_column_type⚠
Returns the type of the column at the specified index. This is either a type in the active column list, or the same type as a column in the receiving table.
duckdb_appender_create⚠
Creates an appender object.
duckdb_appender_create_ext⚠
Creates an appender object.
duckdb_appender_create_query⚠
Creates an appender object that executes the given query with any data appended to it.
duckdb_appender_destroy⚠
Closes the appender by flushing all intermediate states to the table and destroying it. By destroying it, this function de-allocates all memory associated with the appender. If flushing the data triggers a constraint violation, then all data is invalidated, and this function returns DuckDBError. Due to the destruction of the appender, it is no longer possible to obtain the specific error message with duckdb_appender_error. Therefore, call duckdb_appender_close before destroying the appender, if you need insights into the specific error.
duckdb_appender_end_row⚠
Finish the current row of appends. After end_row is called, the next row can be appended.
duckdb_appender_error⚠
DEPRECATION NOTICE: This method is scheduled for removal in a future release. Use duckdb_appender_error_data instead.
duckdb_appender_error_data⚠
Returns the error data associated with the appender. Must be destroyed with duckdb_destroy_error_data.
duckdb_appender_flush⚠
Flush the appender to the table, forcing the cache of the appender to be cleared. If flushing the data triggers a constraint violation or any other error, then all data is invalidated, and this function returns DuckDBError. It is not possible to append more values. Call duckdb_appender_error_data to obtain the error data followed by duckdb_appender_destroy to destroy the invalidated appender.
duckdb_array_type_array_size⚠
Retrieves the array size of the given array type.
duckdb_array_type_child_type⚠
Retrieves the child type of the given ARRAY type.
duckdb_array_vector_get_child⚠
Retrieves the child vector of an array vector. The resulting vector is valid as long as the parent vector is valid. The resulting vector has the size of the parent vector multiplied by the array size.
duckdb_arrow_array_scan⚠
DEPRECATION NOTICE: This method is scheduled for removal in a future release.
duckdb_arrow_column_count⚠
DEPRECATION NOTICE: This method is scheduled for removal in a future release.
duckdb_arrow_row_count⚠
DEPRECATION NOTICE: This method is scheduled for removal in a future release.
duckdb_arrow_rows_changed⚠
DEPRECATION NOTICE: This method is scheduled for removal in a future release.
duckdb_arrow_scan⚠
DEPRECATION NOTICE: This method is scheduled for removal in a future release.
duckdb_bind_add_result_column⚠
Adds a result column to the output of the table function.
duckdb_bind_blob⚠
Binds a blob value to the prepared statement at the specified index.
duckdb_bind_boolean⚠
Binds a bool value to the prepared statement at the specified index.
duckdb_bind_date⚠
Binds a duckdb_date value to the prepared statement at the specified index.
duckdb_bind_decimal⚠
Binds a duckdb_decimal value to the prepared statement at the specified index.
duckdb_bind_double⚠
Binds a double value to the prepared statement at the specified index.
duckdb_bind_float⚠
Binds a float value to the prepared statement at the specified index.
duckdb_bind_get_extra_info⚠
Retrieves the extra info of the function as set in duckdb_table_function_set_extra_info.
duckdb_bind_get_named_parameter⚠
Retrieves a named parameter with the given name.
duckdb_bind_get_parameter⚠
Retrieves the parameter at the given index.
duckdb_bind_get_parameter_count⚠
Retrieves the number of regular (non-named) parameters to the function.
duckdb_bind_hugeint⚠
Binds a duckdb_hugeint value to the prepared statement at the specified index.
duckdb_bind_int8⚠
Binds an int8_t value to the prepared statement at the specified index.
duckdb_bind_int16⚠
Binds an int16_t value to the prepared statement at the specified index.
duckdb_bind_int32⚠
Binds an int32_t value to the prepared statement at the specified index.
duckdb_bind_int64⚠
Binds an int64_t value to the prepared statement at the specified index.
duckdb_bind_interval⚠
Binds a duckdb_interval value to the prepared statement at the specified index.
duckdb_bind_null⚠
Binds a NULL value to the prepared statement at the specified index.
duckdb_bind_parameter_index⚠
Retrieve the index of the parameter for the prepared statement, identified by name
duckdb_bind_set_bind_data⚠
Sets the user-provided bind data in the bind object of the table function. This object can be retrieved again during execution.
duckdb_bind_set_cardinality⚠
Sets the cardinality estimate for the table function, used for optimization.
duckdb_bind_set_error⚠
Report that an error has occurred while calling bind on a table function.
duckdb_bind_time⚠
Binds a duckdb_time value to the prepared statement at the specified index.
duckdb_bind_timestamp⚠
Binds a duckdb_timestamp value to the prepared statement at the specified index.
duckdb_bind_timestamp_tz⚠
Binds a duckdb_timestamp value to the prepared statement at the specified index.
duckdb_bind_uhugeint⚠
Binds a duckdb_uhugeint value to the prepared statement at the specified index.
duckdb_bind_uint8⚠
Binds a uint8_t value to the prepared statement at the specified index.
duckdb_bind_uint16⚠
Binds a uint16_t value to the prepared statement at the specified index.
duckdb_bind_uint32⚠
Binds a uint32_t value to the prepared statement at the specified index.
duckdb_bind_uint64⚠
Binds a uint64_t value to the prepared statement at the specified index.
duckdb_bind_value⚠
Binds a value to the prepared statement at the specified index.
duckdb_bind_varchar⚠
Binds a null-terminated varchar value to the prepared statement at the specified index.
duckdb_bind_varchar_length⚠
Binds a varchar value to the prepared statement at the specified index.
duckdb_cast_function_get_cast_mode⚠
Get the cast execution mode from the given function info.
duckdb_cast_function_get_extra_info⚠
Retrieves the extra info of the function as set in duckdb_cast_function_set_extra_info.
duckdb_cast_function_set_error⚠
Report that an error has occurred while executing the cast function.
duckdb_cast_function_set_extra_info⚠
Assigns extra information to the cast function that can be fetched during execution, etc.
duckdb_cast_function_set_function⚠
Sets the actual cast function to use.
duckdb_cast_function_set_implicit_cast_cost⚠
Sets the “cost” of implicitly casting the source type to the target type using this function.
duckdb_cast_function_set_row_error⚠
Report that an error has occurred while executing the cast function, setting the corresponding output row to NULL.
duckdb_cast_function_set_source_type⚠
Sets the source type of the cast function.
duckdb_cast_function_set_target_type⚠
Sets the target type of the cast function.
duckdb_catalog_entry_get_name⚠
Get the name of the given catalog entry.
duckdb_catalog_entry_get_type⚠
Get the type of the given catalog entry.
duckdb_catalog_get_entry⚠
Retrieve a catalog entry from the given catalog by type, schema name and entry name. The returned catalog entry remains valid for the duration of the current transaction.
duckdb_catalog_get_type_name⚠
Retrieve the “type name” of the given catalog. E.g. for a DuckDB database, this returns ‘duckdb’. The returned string is owned by the catalog and remains valid until the catalog is destroyed.
duckdb_clear_bindings⚠
Clear the params bind to the prepared statement.
duckdb_client_context_get_catalog⚠
Retrieve a database catalog instance by name. This function can only be called from within the context of an active transaction, e.g. during execution of a registered function callback. Otherwise returns nullptr.
duckdb_client_context_get_config_option⚠
Retrieves the value of a configuration option by name from the given client context.
duckdb_client_context_get_connection_id⚠
Returns the connection id of the client context.
duckdb_client_context_get_file_system⚠
Get a file system instance associated with the given client context.
duckdb_close⚠
Closes the specified database and de-allocates all memory allocated for that database. This should be called after you are done with any database allocated through duckdb_open or duckdb_open_ext. Note that failing to call duckdb_close (in case of e.g. a program crash) will not cause data corruption. Still, it is recommended to always correctly close a database object after you are done with it.
duckdb_column_count⚠
Returns the number of columns present in a the result object.
duckdb_column_data⚠
DEPRECATED: Prefer using duckdb_result_get_chunk instead.
duckdb_column_has_default⚠
Check if the column at ‘index’ index of the table has a DEFAULT expression.
duckdb_column_logical_type⚠
Returns the logical column type of the specified column.
duckdb_column_name⚠
Returns the column name of the specified column. The result should not need to be freed; the column names will automatically be destroyed when the result is destroyed.
duckdb_column_type⚠
Returns the column type of the specified column.
duckdb_config_count⚠
This returns the total amount of configuration options available for usage with duckdb_get_config_flag.
duckdb_config_option_set_default_scope⚠
Sets the default scope of the configuration option. If not set, this defaults to DUCKDB_CONFIG_OPTION_SCOPE_SESSION.
duckdb_config_option_set_default_value⚠
Sets the default value of the configuration option. If the type of this option has already been set with duckdb_config_option_set_type, the value is cast to the type. Otherwise, the type is inferred from the value.
duckdb_config_option_set_description⚠
Sets the description of the configuration option.
duckdb_config_option_set_name⚠
Sets the name of the configuration option.
duckdb_config_option_set_type⚠
Sets the type of the configuration option.
duckdb_connect⚠
Opens a connection to a database. Connections are required to query the database, and store transactional state associated with the connection. The instantiated connection should be closed using ‘duckdb_disconnect’.
duckdb_connection_get_arrow_options⚠
Retrieves the arrow options of the connection.
duckdb_connection_get_client_context⚠
Retrieves the client context of the connection.
duckdb_copy_function_bind_get_client_context⚠
Retrieves the client context of the current connection binding the COPY ... TO function.
duckdb_copy_function_bind_get_column_count⚠
Retrieves the number of columns that will be provided to the COPY ... TO function.
duckdb_copy_function_bind_get_column_type⚠
Retrieves the type of a column that will be provided to the COPY ... TO function.
duckdb_copy_function_bind_get_extra_info⚠
Retrieves the extra info pointer of the copy function.
duckdb_copy_function_bind_get_options⚠
Retrieves all values for the given options provided to the COPY ... TO function.
duckdb_copy_function_bind_set_bind_data⚠
Sets the bind data of the copy function, to be provided to the init, sink and finalize functions.
duckdb_copy_function_bind_set_error⚠
Report that an error occurred during the binding-phase of a COPY ... TO function.
duckdb_copy_function_finalize_get_bind_data⚠
Retrieves the bind data provided during the binding-phase of a COPY ... TO function.
duckdb_copy_function_finalize_get_client_context⚠
Retrieves the client context of the current connection during the finalize-phase of the COPY ... TO function.
duckdb_copy_function_finalize_get_extra_info⚠
Retrieves the extra info pointer of the copy function.
duckdb_copy_function_finalize_get_global_state⚠
Retrieves the global state provided during the init-phase of a COPY ... TO function.
duckdb_copy_function_finalize_set_error⚠
Report that an error occurred during the finalize-phase of a COPY ... TO function
duckdb_copy_function_global_init_get_bind_data⚠
Retrieves the bind data provided during the binding-phase of a COPY ... TO function.
duckdb_copy_function_global_init_get_client_context⚠
Retrieves the client context of the current connection initializing the COPY ... TO function.
duckdb_copy_function_global_init_get_extra_info⚠
Retrieves the extra info pointer of the copy function.
duckdb_copy_function_global_init_get_file_path⚠
Retrieves the file path provided to the COPY ... TO function.
duckdb_copy_function_global_init_set_error⚠
Report that an error occurred during the initialization-phase of a COPY ... TO function.
duckdb_copy_function_global_init_set_global_state⚠
Sets the global state of the copy function, to be provided to all subsequent local init, sink and finalize functions.
duckdb_copy_function_set_bind⚠
Sets the bind function of the copy function, to use when binding COPY ... TO.
duckdb_copy_function_set_copy_from_function⚠
Sets the table function to use when executing a COPY ... FROM (...) statement with this copy function.
duckdb_copy_function_set_extra_info⚠
Sets the extra info pointer of the copy function, which can be used to store arbitrary data.
duckdb_copy_function_set_finalize⚠
Sets the finalize function of the copy function, called at the end of COPY ... TO.
duckdb_copy_function_set_global_init⚠
Sets the initialization function of the copy function, called right before executing COPY ... TO.
duckdb_copy_function_set_name⚠
Sets the name of the copy function.
duckdb_copy_function_set_sink⚠
Sets the sink function of the copy function, called during COPY ... TO.
duckdb_copy_function_sink_get_bind_data⚠
Retrieves the bind data provided during the binding-phase of a COPY ... TO function.
duckdb_copy_function_sink_get_client_context⚠
Retrieves the client context of the current connection during the sink-phase of the COPY ... TO function.
duckdb_copy_function_sink_get_extra_info⚠
Retrieves the extra info pointer of the copy function.
duckdb_copy_function_sink_get_global_state⚠
Retrieves the global state provided during the init-phase of a COPY ... TO function.
duckdb_copy_function_sink_set_error⚠
Report that an error occurred during the sink-phase of a COPY ... TO function.
duckdb_create_aggregate_function⚠
Creates a new empty aggregate function.
duckdb_create_aggregate_function_set⚠
Creates a new empty aggregate function set.
duckdb_create_array_type⚠
Creates an ARRAY type from its child type. The return type must be destroyed with duckdb_destroy_logical_type.
duckdb_create_array_value⚠
Creates an array value from a child (element) type and an array of values of length value_count. Must be destroyed with duckdb_destroy_value.
duckdb_create_bignum⚠
Creates a BIGNUM value from a duckdb_bignum
duckdb_create_bit⚠
Creates a BIT value from a duckdb_bit
duckdb_create_blob⚠
Creates a value from a blob
duckdb_create_bool⚠
Creates a value from a boolean
duckdb_create_cast_function⚠
Creates a new cast function object.
duckdb_create_config⚠
Initializes an empty configuration object that can be used to provide start-up options for the DuckDB instance through duckdb_open_ext. The duckdb_config must be destroyed using ‘duckdb_destroy_config’
duckdb_create_config_option⚠
Creates a configuration option instance.
duckdb_create_copy_function⚠
Creates a new empty copy function.
duckdb_create_data_chunk⚠
Creates an empty data chunk with the specified column types. The result must be destroyed with duckdb_destroy_data_chunk.
duckdb_create_date⚠
Creates a value from a date
duckdb_create_decimal⚠
Creates a DECIMAL value from a duckdb_decimal
duckdb_create_decimal_type⚠
Creates a DECIMAL type with the specified width and scale. The resulting type should be destroyed with duckdb_destroy_logical_type.
duckdb_create_double⚠
Creates a value from a double
duckdb_create_enum_type⚠
Creates an ENUM type from the passed member name array. The resulting type should be destroyed with duckdb_destroy_logical_type.
duckdb_create_enum_value⚠
Creates an enum value from a type and a value. Must be destroyed with duckdb_destroy_value.
duckdb_create_error_data⚠
Creates duckdb_error_data. Must be destroyed with duckdb_destroy_error_data.
duckdb_create_file_open_options⚠
Creates a new file open options instance with blank settings.
duckdb_create_float⚠
Creates a value from a float
duckdb_create_hugeint⚠
Creates a value from a hugeint
duckdb_create_instance_cache⚠
Creates a new database instance cache. The instance cache is necessary if a client/program (re)opens multiple databases to the same file within the same process. Must be destroyed with ‘duckdb_destroy_instance_cache’.
duckdb_create_int8⚠
Creates a value from an int8_t (a tinyint)
duckdb_create_int16⚠
Creates a value from an int16_t (a smallint)
duckdb_create_int32⚠
Creates a value from an int32_t (an integer)
duckdb_create_int64⚠
Creates a value from an int64
duckdb_create_interval⚠
Creates a value from an interval
duckdb_create_list_type⚠
Creates a LIST type from its child type. The return type must be destroyed with duckdb_destroy_logical_type.
duckdb_create_list_value⚠
Creates a list value from a child (element) type and an array of values of length value_count. Must be destroyed with duckdb_destroy_value.
duckdb_create_log_storage⚠
Creates a new log storage object.
duckdb_create_logical_type⚠
Creates a duckdb_logical_type from a primitive type. The resulting logical type must be destroyed with duckdb_destroy_logical_type.
duckdb_create_map_type⚠
Creates a MAP type from its key type and value type. The return type must be destroyed with duckdb_destroy_logical_type.
duckdb_create_map_value⚠
Creates a map value from a map type and two arrays, one for the keys and one for the values, each of length entry_count. Must be destroyed with duckdb_destroy_value.
duckdb_create_null_value⚠
Creates a value of type SQLNULL.
duckdb_create_scalar_function⚠
Creates a new empty scalar function.
duckdb_create_scalar_function_set⚠
Creates a new empty scalar function set.
duckdb_create_selection_vector⚠
Creates a new selection vector of size size. Must be destroyed with duckdb_destroy_selection_vector.
duckdb_create_struct_type⚠
Creates a STRUCT type based on the member types and names. The resulting type must be destroyed with duckdb_destroy_logical_type.
duckdb_create_struct_value⚠
Creates a struct value from a type and an array of values. Must be destroyed with duckdb_destroy_value.
duckdb_create_table_function⚠
Creates a new empty table function.
duckdb_create_task_state⚠
Creates a task state that can be used with duckdb_execute_tasks_state to execute tasks until duckdb_finish_execution is called on the state.
duckdb_create_time⚠
Creates a value from a time
duckdb_create_time_ns⚠
Creates a value from a time_ns
duckdb_create_time_tz⚠
Create a duckdb_time_tz object from micros and a timezone offset.
duckdb_create_time_tz_value⚠
Creates a value from a time_tz. Not to be confused with duckdb_create_time_tz, which creates a duckdb_time_tz_t.
duckdb_create_timestamp⚠
Creates a TIMESTAMP value from a duckdb_timestamp
duckdb_create_timestamp_ms⚠
Creates a TIMESTAMP_MS value from a duckdb_timestamp_ms
duckdb_create_timestamp_ns⚠
Creates a TIMESTAMP_NS value from a duckdb_timestamp_ns
duckdb_create_timestamp_s⚠
Creates a TIMESTAMP_S value from a duckdb_timestamp_s
duckdb_create_timestamp_tz⚠
Creates a TIMESTAMP_TZ value from a duckdb_timestamp
duckdb_create_uhugeint⚠
Creates a value from a uhugeint
duckdb_create_uint8⚠
Creates a value from a uint8_t (a utinyint)
duckdb_create_uint16⚠
Creates a value from a uint16_t (a usmallint)
duckdb_create_uint32⚠
Creates a value from a uint32_t (a uinteger)
duckdb_create_uint64⚠
Creates a value from a uint64_t (a ubigint)
duckdb_create_union_type⚠
Creates a UNION type from the passed arrays. The return type must be destroyed with duckdb_destroy_logical_type.
duckdb_create_union_value⚠
Creates a union value from a union type, a tag index, and a value. Must be destroyed with duckdb_destroy_value.
duckdb_create_uuid⚠
Creates a UUID value from a uhugeint
duckdb_create_varchar⚠
Creates a value from a null-terminated string. Returns nullptr if the string is not valid UTF-8 or other invalid input.
duckdb_create_varchar_length⚠
Creates a value from a string. Returns nullptr if the string is not valid UTF-8 or other invalid input.
duckdb_create_vector⚠
Creates a flat vector. Must be destroyed with duckdb_destroy_vector.
duckdb_data_chunk_from_arrow⚠
Transforms an Arrow array into a DuckDB data chunk. The data chunk will retain ownership of the underlying Arrow data.
duckdb_data_chunk_get_column_count⚠
Retrieves the number of columns in a data chunk.
duckdb_data_chunk_get_size⚠
Retrieves the current number of tuples in a data chunk.
duckdb_data_chunk_get_vector⚠
Retrieves the vector at the specified column index in the data chunk.
duckdb_data_chunk_reset⚠
Resets a data chunk, clearing the validity masks and setting the cardinality of the data chunk to 0. After calling this method, you must call duckdb_vector_get_validity and duckdb_vector_get_data to obtain current data and validity pointers
duckdb_data_chunk_set_size⚠
Sets the current number of tuples in a data chunk.
duckdb_data_chunk_to_arrow⚠
Transforms a DuckDB data chunk into an Arrow array.
duckdb_decimal_internal_type⚠
Retrieves the internal storage type of a decimal type.
duckdb_decimal_scale⚠
Retrieves the scale of a decimal type.
duckdb_decimal_to_double⚠
Converts a duckdb_decimal object (as obtained from a DUCKDB_TYPE_DECIMAL column) into a double.
duckdb_decimal_width⚠
Retrieves the width of a decimal type.
duckdb_destroy_aggregate_function⚠
Destroys the given aggregate function object.
duckdb_destroy_aggregate_function_set⚠
Destroys the given aggregate function set object.
duckdb_destroy_arrow⚠
DEPRECATION NOTICE: This method is scheduled for removal in a future release.
duckdb_destroy_arrow_converted_schema⚠
Destroys the arrow converted schema and de-allocates all memory allocated for that arrow converted schema.
duckdb_destroy_arrow_options⚠
Destroys the arrow options and deallocates its memory.
duckdb_destroy_arrow_stream⚠
DEPRECATION NOTICE: This method is scheduled for removal in a future release.
duckdb_destroy_cast_function⚠
Destroys the cast function object.
duckdb_destroy_catalog⚠
Destroys the given catalog instance.
duckdb_destroy_catalog_entry⚠
Destroys the given catalog entry instance.
duckdb_destroy_client_context⚠
Destroys the client context and deallocates its memory.
duckdb_destroy_config⚠
Destroys the specified configuration object and de-allocates all memory allocated for the object.
duckdb_destroy_config_option⚠
Destroys the given configuration option instance.
duckdb_destroy_copy_function⚠
Destroys the given copy function object.
duckdb_destroy_data_chunk⚠
Destroys the data chunk and de-allocates all memory allocated for that chunk.
duckdb_destroy_error_data⚠
Destroys the error data and deallocates its memory.
duckdb_destroy_expression⚠
Destroys the expression and de-allocates its memory.
duckdb_destroy_extracted⚠
De-allocates all memory allocated for the extracted statements.
duckdb_destroy_file_handle⚠
Destroys the given file handle and deallocates all associated resources. This will also close the file if it is still open.
duckdb_destroy_file_open_options⚠
Destroys the given file open options instance.
duckdb_destroy_file_system⚠
Destroys the given file system instance.
duckdb_destroy_instance_cache⚠
Destroys an existing database instance cache and de-allocates its memory.
duckdb_destroy_log_storage⚠
Destroys a log storage object.
duckdb_destroy_logical_type⚠
Destroys the logical type and de-allocates all memory allocated for that type.
duckdb_destroy_pending⚠
Closes the pending result and de-allocates all memory allocated for the result.
duckdb_destroy_prepare⚠
Closes the prepared statement and de-allocates all memory allocated for the statement.
duckdb_destroy_result⚠
Closes the result and de-allocates all memory allocated for that result.
duckdb_destroy_scalar_function⚠
Destroys the given scalar function object.
duckdb_destroy_scalar_function_set⚠
Destroys the given scalar function set object.
duckdb_destroy_selection_vector⚠
Destroys the selection vector and de-allocates its memory.
duckdb_destroy_table_function⚠
Destroys the given table function object.
duckdb_destroy_task_state⚠
Destroys the task state returned from duckdb_create_task_state.
duckdb_destroy_value⚠
Destroys the value and de-allocates all memory allocated for that type.
duckdb_destroy_vector⚠
Destroys the vector and de-allocates its memory.
duckdb_disconnect⚠
Closes the specified connection and de-allocates all memory allocated for that connection.
duckdb_double_to_decimal⚠
Converts a double value to a duckdb_decimal object.
duckdb_double_to_hugeint⚠
Converts a double value to a duckdb_hugeint object.
duckdb_double_to_uhugeint⚠
Converts a double value to a duckdb_uhugeint object.
duckdb_enum_dictionary_size⚠
Retrieves the dictionary size of the enum type.
duckdb_enum_dictionary_value⚠
Retrieves the dictionary value at the specified position from the enum.
duckdb_enum_internal_type⚠
Retrieves the internal storage type of an enum type.
duckdb_error_data_error_type⚠
Returns the duckdb_error_type of the error data.
duckdb_error_data_has_error⚠
Returns whether the error data contains an error or not.
duckdb_error_data_message⚠
Returns the error message of the error data. Must not be freed.
duckdb_execute_n_tasks_state⚠
Execute DuckDB tasks on this thread.
duckdb_execute_pending⚠
Fully execute a pending query result, returning the final query result.
duckdb_execute_prepared⚠
Executes the prepared statement with the given bound parameters, and returns a materialized query result.
duckdb_execute_prepared_arrow⚠
DEPRECATION NOTICE: This method is scheduled for removal in a future release.
duckdb_execute_prepared_streaming⚠
DEPRECATION NOTICE: This method is scheduled for removal in a future release.
duckdb_execute_tasks⚠
Execute DuckDB tasks on this thread.
duckdb_execute_tasks_state⚠
Execute DuckDB tasks on this thread.
duckdb_execution_is_finished⚠
Returns true if the execution of the current query is finished.
duckdb_expression_fold⚠
Folds an expression creating a folded value.
duckdb_expression_is_foldable⚠
Returns whether the expression is foldable into a value or not.
duckdb_expression_return_type⚠
Returns the return type of an expression.
duckdb_extract_statements⚠
Extract all statements from a query. Note that after calling duckdb_extract_statements, the extracted statements should always be destroyed using duckdb_destroy_extracted, even if no statements were extracted.
duckdb_extract_statements_error⚠
Returns the error message contained within the extracted statements. The result of this function must not be freed. It will be cleaned up when duckdb_destroy_extracted is called.
duckdb_fetch_chunk⚠
Fetches a data chunk from a duckdb_result. This function should be called repeatedly until the result is exhausted.
duckdb_file_handle_close⚠
Closes the given file handle.
duckdb_file_handle_error_data⚠
Retrieves the last error that occurred on the given file handle.
duckdb_file_handle_read⚠
Reads data from the file into the buffer.
duckdb_file_handle_seek⚠
Seeks to a specific position in the file.
duckdb_file_handle_size⚠
Gets the size of the file.
duckdb_file_handle_sync⚠
Synchronizes the file’s state with the underlying storage.
duckdb_file_handle_tell⚠
Tells the current position in the file.
duckdb_file_handle_write⚠
Writes data from the buffer to the file.
duckdb_file_open_options_set_flag⚠
Sets a specific flag in the file open options.
duckdb_file_system_error_data⚠
Retrieves the last error that occurred on the given file system instance.
duckdb_file_system_open⚠
Opens a file at the given path with the specified options.
duckdb_finish_execution⚠
Finish execution on a specific task.
duckdb_free⚠
Free a value returned from duckdb_malloc, duckdb_value_varchar, duckdb_value_blob, or duckdb_value_string.
duckdb_from_date⚠
Decompose a duckdb_date object into year, month and date (stored as duckdb_date_struct).
duckdb_from_time⚠
Decompose a duckdb_time object into hour, minute, second and microsecond (stored as duckdb_time_struct).
duckdb_from_time_tz⚠
Decompose a TIME_TZ objects into micros and a timezone offset.
duckdb_from_timestamp⚠
Decompose a duckdb_timestamp object into a duckdb_timestamp_struct.
duckdb_function_get_bind_data⚠
Gets the table function’s bind data set by duckdb_bind_set_bind_data.
duckdb_function_get_extra_info⚠
Retrieves the extra info of the function as set in duckdb_table_function_set_extra_info.
duckdb_function_get_init_data⚠
Gets the init data set by duckdb_init_set_init_data during the init.
duckdb_function_get_local_init_data⚠
Gets the thread-local init data set by duckdb_init_set_init_data during the local_init.
duckdb_function_set_error⚠
Report that an error has occurred while executing the function.
duckdb_geometry_type_get_crs⚠
Gets the CRS (Coordinate Reference System) of a GEOMETRY type. Result must be freed with duckdb_free.
duckdb_get_bignum⚠
Returns the duckdb_bignum value of the given value. The data field must be destroyed with duckdb_free.
duckdb_get_bit⚠
Returns the duckdb_bit value of the given value. The data field must be destroyed with duckdb_free.
duckdb_get_blob⚠
Returns the blob value of the given value.
duckdb_get_bool⚠
Returns the boolean value of the given value.
duckdb_get_config_flag⚠
Obtains a human-readable name and description of a specific configuration option. This can be used to e.g. display configuration options. This will succeed unless index is out of range (i.e. >= duckdb_config_count).
duckdb_get_date⚠
Returns the date value of the given value.
duckdb_get_decimal⚠
Returns the duckdb_decimal value of the given value.
duckdb_get_double⚠
Returns the double value of the given value.
duckdb_get_enum_value⚠
Returns the enum value of the given value.
duckdb_get_float⚠
Returns the float value of the given value.
duckdb_get_hugeint⚠
Returns the hugeint value of the given value.
duckdb_get_int8⚠
Returns the int8_t value of the given value.
duckdb_get_int16⚠
Returns the int16_t value of the given value.
duckdb_get_int32⚠
Returns the int32_t value of the given value.
duckdb_get_int64⚠
Returns the int64_t value of the given value.
duckdb_get_interval⚠
Returns the interval value of the given value.
duckdb_get_list_child⚠
Returns the LIST child at index as a duckdb_value.
duckdb_get_list_size⚠
Returns the number of elements in a LIST value.
duckdb_get_map_key⚠
Returns the MAP key at index as a duckdb_value.
duckdb_get_map_size⚠
Returns the number of elements in a MAP value.
duckdb_get_map_value⚠
Returns the MAP value at index as a duckdb_value.
duckdb_get_or_create_from_cache⚠
Creates a new database instance in the instance cache, or retrieves an existing database instance. Must be closed with ‘duckdb_close’.
duckdb_get_profiling_info⚠
Returns the root node of the profiling information. Returns nullptr, if profiling is not enabled.
duckdb_get_struct_child⚠
Returns the STRUCT child at index as a duckdb_value.
duckdb_get_table_names⚠
Get the list of (fully qualified) table names of the query.
duckdb_get_time⚠
Returns the time value of the given value.
duckdb_get_time_ns⚠
Returns the time_ns value of the given value.
duckdb_get_time_tz⚠
Returns the time_tz value of the given value.
duckdb_get_timestamp⚠
Returns the TIMESTAMP value of the given value.
duckdb_get_timestamp_ms⚠
Returns the duckdb_timestamp_ms value of the given value.
duckdb_get_timestamp_ns⚠
Returns the duckdb_timestamp_ns value of the given value.
duckdb_get_timestamp_s⚠
Returns the duckdb_timestamp_s value of the given value.
duckdb_get_timestamp_tz⚠
Returns the TIMESTAMP_TZ value of the given value.
duckdb_get_type_id⚠
Retrieves the enum duckdb_type of a duckdb_logical_type.
duckdb_get_uhugeint⚠
Returns the uhugeint value of the given value.
duckdb_get_uint8⚠
Returns the uint8_t value of the given value.
duckdb_get_uint16⚠
Returns the uint16_t value of the given value.
duckdb_get_uint32⚠
Returns the uint32_t value of the given value.
duckdb_get_uint64⚠
Returns the uint64_t value of the given value.
duckdb_get_uuid⚠
Returns a duckdb_uhugeint representing the UUID value of the given value.
duckdb_get_value_type⚠
Returns the type of the given value. The type is valid as long as the value is not destroyed. The type itself must not be destroyed.
duckdb_get_varchar⚠
Obtains a string representation of the given value. The result must be destroyed with duckdb_free.
duckdb_hugeint_to_double⚠
Converts a duckdb_hugeint object (as obtained from a DUCKDB_TYPE_HUGEINT column) into a double.
duckdb_init_get_bind_data⚠
Gets the bind data set by duckdb_bind_set_bind_data during the bind.
duckdb_init_get_column_count⚠
Returns the number of projected columns.
duckdb_init_get_column_index⚠
Returns the column index of the projected column at the specified position.
duckdb_init_get_extra_info⚠
Retrieves the extra info of the function as set in duckdb_table_function_set_extra_info.
duckdb_init_set_error⚠
Report that an error has occurred while calling init.
duckdb_init_set_init_data⚠
Sets the user-provided init data in the init object. This object can be retrieved again during execution.
duckdb_init_set_max_threads⚠
Sets how many threads can process this table function in parallel (default: 1)
duckdb_interrupt⚠
Interrupt running query
duckdb_is_finite_date⚠
Test a duckdb_date to see if it is a finite value.
duckdb_is_finite_timestamp⚠
Test a duckdb_timestamp to see if it is a finite value.
duckdb_is_finite_timestamp_ms⚠
Test a duckdb_timestamp_ms to see if it is a finite value.
duckdb_is_finite_timestamp_ns⚠
Test a duckdb_timestamp_ns to see if it is a finite value.
duckdb_is_finite_timestamp_s⚠
Test a duckdb_timestamp_s to see if it is a finite value.
duckdb_is_null_value⚠
Returns whether the value’s type is SQLNULL or not.
duckdb_library_version⚠
Returns the version of the linked DuckDB, with a version postfix for dev versions
duckdb_list_type_child_type⚠
Retrieves the child type of the given LIST type. Also accepts MAP types. The result must be freed with duckdb_destroy_logical_type.
duckdb_list_vector_get_child⚠
Retrieves the child vector of a list vector.
duckdb_list_vector_get_size⚠
Returns the size of the child vector of the list.
duckdb_list_vector_reserve⚠
Sets the capacity of the underlying child-vector of a list vector. We increment to the next power of two, based on the required capacity. Thus, the capacity might not match the size of the list (capacity >= size), which is set via duckdb_list_vector_set_size.
duckdb_list_vector_set_size⚠
Sets the size of the underlying child-vector of a list vector. Note that this does NOT reserve the memory in the child buffer, and that it is possible to set a size exceeding the capacity. To set the capacity, use duckdb_list_vector_reserve.
duckdb_log_storage_set_extra_data⚠
Sets the extra data of the custom log storage.
duckdb_log_storage_set_name⚠
Sets the name of the log storage.
duckdb_log_storage_set_write_log_entry⚠
Sets the callback function for writing log entries.
duckdb_logical_type_get_alias⚠
Returns the alias of a duckdb_logical_type, if set, else nullptr. The result must be destroyed with duckdb_free.
duckdb_logical_type_set_alias⚠
Sets the alias of a duckdb_logical_type.
duckdb_malloc⚠
Allocate size bytes of memory using the duckdb internal malloc function. Any memory allocated in this manner should be freed using duckdb_free.
duckdb_map_type_key_type⚠
Retrieves the key type of the given map type.
duckdb_map_type_value_type⚠
Retrieves the value type of the given map type.
duckdb_nparams⚠
Returns the number of parameters that can be provided to the given prepared statement.
duckdb_nullmask_data⚠
DEPRECATED: Prefer using duckdb_result_get_chunk instead.
duckdb_open⚠
Creates a new database or opens an existing database file stored at the given path. If no path is given a new in-memory database is created instead. The database must be closed with ‘duckdb_close’.
duckdb_open_ext⚠
Extended version of duckdb_open. Creates a new database or opens an existing database file stored at the given path. The database must be closed with ‘duckdb_close’.
duckdb_param_logical_type⚠
Returns the logical type for the parameter at the given index.
duckdb_param_type⚠
Returns the parameter type for the parameter at the given index.
duckdb_parameter_name⚠
Returns the name used to identify the parameter The returned string should be freed using duckdb_free.
duckdb_pending_error⚠
Returns the error message contained within the pending result.
duckdb_pending_execute_check_state⚠
If this returns DUCKDB_PENDING_RESULT_READY, the duckdb_execute_pending function can be called to obtain the result. If this returns DUCKDB_PENDING_RESULT_NOT_READY, the duckdb_pending_execute_check_state function should be called again. If this returns DUCKDB_PENDING_ERROR, an error occurred during execution.
duckdb_pending_execute_task⚠
Executes a single task within the query, returning whether or not the query is ready.
duckdb_pending_execution_is_finished⚠
Returns whether a duckdb_pending_state is finished executing. For example if pending_state is DUCKDB_PENDING_RESULT_READY, this function will return true.
duckdb_pending_prepared⚠
Executes the prepared statement with the given bound parameters, and returns a pending result. The pending result represents an intermediate structure for a query that is not yet fully executed. The pending result can be used to incrementally execute a query, returning control to the client between tasks.
duckdb_pending_prepared_streaming⚠
DEPRECATION NOTICE: This method is scheduled for removal in a future release.
duckdb_prepare⚠
Create a prepared statement object from a query.
duckdb_prepare_error⚠
Returns the error message associated with the given prepared statement. If the prepared statement has no error message, this returns nullptr instead.
duckdb_prepare_extracted_statement⚠
Prepare an extracted statement. Note that after calling duckdb_prepare_extracted_statement, the prepared statement should always be destroyed using duckdb_destroy_prepare, even if the prepare fails.
duckdb_prepared_arrow_schema⚠
DEPRECATION NOTICE: This method is scheduled for removal in a future release.
duckdb_prepared_statement_column_count⚠
Returns the number of columns present in a the result of the prepared statement. If any of the column types are invalid, the result will be 1.
duckdb_prepared_statement_column_logical_type⚠
Returns the column type of the specified column of the result of the prepared_statement.
duckdb_prepared_statement_column_name⚠
Returns the name of the specified column of the result of the prepared_statement. The returned string should be freed using duckdb_free.
duckdb_prepared_statement_column_type⚠
Returns the column type of the specified column of the result of the prepared_statement.
duckdb_prepared_statement_type⚠
Returns the statement type of the statement to be executed
duckdb_profiling_info_get_child⚠
Returns the child node at the specified index.
duckdb_profiling_info_get_child_count⚠
Returns the number of children in the current profiling info node.
duckdb_profiling_info_get_metrics⚠
Returns the key-value metric map of this profiling node as a MAP duckdb_value. The individual elements are accessible via the duckdb_value MAP functions.
duckdb_profiling_info_get_value⚠
Returns the value of the metric of the current profiling info node. Returns nullptr, if the metric does not exist or is not enabled. Currently, the value holds a string, and you can retrieve the string by calling the corresponding function: char *duckdb_get_varchar(duckdb_value value).
duckdb_query⚠
Executes a SQL query within a connection and stores the full (materialized) result in the out_result pointer. If the query fails to execute, DuckDBError is returned and the error message can be retrieved by calling duckdb_result_error.
duckdb_query_arrow⚠
DEPRECATION NOTICE: This method is scheduled for removal in a future release.
duckdb_query_arrow_array⚠
DEPRECATION NOTICE: This method is scheduled for removal in a future release.
duckdb_query_arrow_error⚠
DEPRECATION NOTICE: This method is scheduled for removal in a future release.
duckdb_query_arrow_schema⚠
DEPRECATION NOTICE: This method is scheduled for removal in a future release.
duckdb_query_progress⚠
Get the progress of the running query.
duckdb_register_aggregate_function⚠
Register the aggregate function object within the given connection.
duckdb_register_aggregate_function_set⚠
Register the aggregate function set within the given connection.
duckdb_register_cast_function⚠
Registers a cast function within the given connection.
duckdb_register_config_option⚠
Registers the given configuration option on the specified connection.
duckdb_register_copy_function⚠
Registers the given copy function on the database connection under the specified name.
duckdb_register_log_storage⚠
Registers a custom log storage for the logger.
duckdb_register_logical_type⚠
Registers a custom type within the given connection. The type must have an alias
duckdb_register_scalar_function⚠
Register the scalar function object within the given connection.
duckdb_register_scalar_function_set⚠
Register the scalar function set within the given connection.
duckdb_register_table_function⚠
Register the table function object within the given connection.
duckdb_replacement_scan_add_parameter⚠
Adds a parameter to the replacement scan function.
duckdb_replacement_scan_set_error⚠
Report that an error has occurred while executing the replacement scan.
duckdb_replacement_scan_set_function_name⚠
Sets the replacement function name. If this function is called in the replacement callback, the replacement scan is performed. If it is not called, the replacement callback is not performed.
duckdb_result_arrow_array⚠
DEPRECATION NOTICE: This method is scheduled for removal in a future release.
duckdb_result_chunk_count⚠
DEPRECATION NOTICE: This method is scheduled for removal in a future release.
duckdb_result_error⚠
Returns the error message contained within the result. The error is only set if duckdb_query returns DuckDBError.
duckdb_result_error_type⚠
Returns the result error type contained within the result. The error is only set if duckdb_query returns DuckDBError.
duckdb_result_get_arrow_options⚠
Returns the arrow options associated with the given result. These options are definitions of how the arrow arrays/schema should be produced.
duckdb_result_get_chunk⚠
DEPRECATION NOTICE: This method is scheduled for removal in a future release.
duckdb_result_is_streaming⚠
DEPRECATION NOTICE: This method is scheduled for removal in a future release.
duckdb_result_return_type⚠
Returns the return_type of the given result, or DUCKDB_RETURN_TYPE_INVALID on error
duckdb_result_statement_type⚠
Returns the statement type of the statement that was executed
duckdb_row_count⚠
DEPRECATION NOTICE: This method is scheduled for removal in a future release.
duckdb_rows_changed⚠
Returns the number of rows changed by the query stored in the result. This is relevant only for INSERT/UPDATE/DELETE queries. For other queries the rows_changed will be 0.
duckdb_scalar_function_add_parameter⚠
Adds a parameter to the scalar function.
duckdb_scalar_function_bind_get_argument⚠
Returns the input argument at index of the scalar function.
duckdb_scalar_function_bind_get_argument_count⚠
Returns the number of input arguments of the scalar function.
duckdb_scalar_function_bind_get_extra_info⚠
Retrieves the extra info of the function as set in the bind info.
duckdb_scalar_function_bind_set_error⚠
Report that an error has occurred while calling bind on a scalar function.
duckdb_scalar_function_get_bind_data⚠
Gets the scalar function’s bind data set by duckdb_scalar_function_set_bind_data. Note that the bind data is read-only.
duckdb_scalar_function_get_client_context⚠
Retrieves the client context of the bind info of a scalar function.
duckdb_scalar_function_get_extra_info⚠
Retrieves the extra info of the function as set in duckdb_scalar_function_set_extra_info.
duckdb_scalar_function_get_state⚠
Retrieves the state pointer of the function info.
duckdb_scalar_function_init_get_bind_data⚠
Gets the scalar function’s bind data set by duckdb_scalar_function_set_bind_data. Note that the bind data is read-only.
duckdb_scalar_function_init_get_client_context⚠
Retrieves the client context of the init info of a scalar function.
duckdb_scalar_function_init_get_extra_info⚠
Retrieves the extra info of the function as set in the init info.
duckdb_scalar_function_init_set_error⚠
Report that an error has occurred while calling init on a scalar function.
duckdb_scalar_function_init_set_state⚠
Sets the state pointer in the init info of the scalar function.
duckdb_scalar_function_set_bind⚠
Sets the (optional) bind function of the scalar function.
duckdb_scalar_function_set_bind_data⚠
Sets the user-provided bind data in the bind object of the scalar function. The bind data object can be retrieved again during execution. In most case, you also need to set the copy-callback of your bind data via duckdb_scalar_function_set_bind_data_copy.
duckdb_scalar_function_set_bind_data_copy⚠
Sets the copy-callback for the user-provided bind data in the bind object of the scalar function.
duckdb_scalar_function_set_error⚠
Report that an error has occurred while executing the scalar function.
duckdb_scalar_function_set_extra_info⚠
Assigns extra information to the scalar function that can be fetched during binding, etc.
duckdb_scalar_function_set_function⚠
Sets the main function of the scalar function.
duckdb_scalar_function_set_init⚠
Sets the (optional) state init function of the scalar function. This is called once for each worker thread that begins executing the function
duckdb_scalar_function_set_name⚠
Sets the name of the given scalar function.
duckdb_scalar_function_set_return_type⚠
Sets the return type of the scalar function.
duckdb_scalar_function_set_special_handling⚠
Sets the scalar function’s null-handling behavior to special.
duckdb_scalar_function_set_varargs⚠
Sets the parameters of the given scalar function to varargs. Does not require adding parameters with duckdb_scalar_function_add_parameter.
duckdb_scalar_function_set_volatile⚠
Sets the Function Stability of the scalar function to VOLATILE, indicating the function should be re-run for every row. This limits optimization that can be performed for the function.
duckdb_schema_from_arrow⚠
Transforms an Arrow Schema into a DuckDB Schema.
duckdb_selection_vector_get_data_ptr⚠
Access the data pointer of a selection vector.
duckdb_set_config⚠
Sets the specified option for the specified configuration. The configuration option is indicated by name. To obtain a list of config options, see duckdb_get_config_flag.
duckdb_slice_vector⚠
Slice a vector with a selection vector. The length of the selection vector must be less than or equal to the length of the vector. Turns the vector into a dictionary vector.
duckdb_stream_fetch_chunk⚠
DEPRECATION NOTICE: This method is scheduled for removal in a future release.
duckdb_string_is_inlined⚠
Whether or not the duckdb_string_t value is inlined. This means that the data of the string does not have a separate allocation.
duckdb_string_t_data⚠
Get a pointer to the string data of a string
duckdb_string_t_length⚠
Get the length of a string
duckdb_struct_type_child_count⚠
Returns the number of children of a struct type.
duckdb_struct_type_child_name⚠
Retrieves the name of the struct child.
duckdb_struct_type_child_type⚠
Retrieves the child type of the given struct type at the specified index.
duckdb_struct_vector_get_child⚠
Retrieves the child vector of a struct vector. The resulting vector is valid as long as the parent vector is valid.
duckdb_table_description_create⚠
Creates a table description object. Note that duckdb_table_description_destroy should always be called on the resulting table_description, even if the function returns DuckDBError.
duckdb_table_description_create_ext⚠
Creates a table description object. Note that duckdb_table_description_destroy must be called on the resulting table_description, even if the function returns DuckDBError.
duckdb_table_description_destroy⚠
Destroy the TableDescription object.
duckdb_table_description_error⚠
Returns the error message associated with the given table_description. If the table_description has no error message, this returns nullptr instead. The error message should not be freed. It will be de-allocated when duckdb_table_description_destroy is called.
duckdb_table_description_get_column_count⚠
Return the number of columns of the described table.
duckdb_table_description_get_column_name⚠
Obtain the column name at ‘index’. The out result must be destroyed with duckdb_free.
duckdb_table_description_get_column_type⚠
Obtain the column type at ‘index’. The return value must be destroyed with duckdb_destroy_logical_type.
duckdb_table_function_add_named_parameter⚠
Adds a named parameter to the table function.
duckdb_table_function_add_parameter⚠
Adds a parameter to the table function.
duckdb_table_function_bind_get_result_column_count⚠
Retrieves the number of result columns of a table function.
duckdb_table_function_bind_get_result_column_name⚠
Retrieves the name of a result column of a table function.
duckdb_table_function_bind_get_result_column_type⚠
Retrieves the type of a result column of a table function.
duckdb_table_function_get_client_context⚠
Retrieves the client context of the bind info of a table function.
duckdb_table_function_set_bind⚠
Sets the bind function of the table function.
duckdb_table_function_set_extra_info⚠
Assigns extra information to the table function that can be fetched during binding, etc.
duckdb_table_function_set_function⚠
Sets the main function of the table function.
duckdb_table_function_set_init⚠
Sets the init function of the table function.
duckdb_table_function_set_local_init⚠
Sets the thread-local init function of the table function.
duckdb_table_function_set_name⚠
Sets the name of the given table function.
duckdb_table_function_supports_projection_pushdown⚠
Sets whether or not the given table function supports projection pushdown.
duckdb_task_state_is_finished⚠
Check if the provided duckdb_task_state has finished execution
duckdb_to_arrow_schema⚠
Transforms a DuckDB Schema into an Arrow Schema
duckdb_to_date⚠
Re-compose a duckdb_date from year, month and date (duckdb_date_struct).
duckdb_to_time⚠
Re-compose a duckdb_time from hour, minute, second and microsecond (duckdb_time_struct).
duckdb_to_timestamp⚠
Re-compose a duckdb_timestamp from a duckdb_timestamp_struct.
duckdb_uhugeint_to_double⚠
Converts a duckdb_uhugeint object (as obtained from a DUCKDB_TYPE_UHUGEINT column) into a double.
duckdb_union_type_member_count⚠
Returns the number of members that the union type has.
duckdb_union_type_member_name⚠
Retrieves the name of the union member.
duckdb_union_type_member_type⚠
Retrieves the child type of the given union member at the specified index.
duckdb_unsafe_vector_assign_string_element_len⚠
Assigns a string element in the vector at the specified location without UTF-8 validation. The caller is responsible for ensuring the input is valid UTF-8. Use duckdb_valid_utf8_check to validate strings before calling this function if needed. If the input is known to be valid UTF-8, this function can be called directly for better performance, avoiding the overhead of redundant validation.
duckdb_valid_utf8_check⚠
Checks if a string is valid UTF-8.
duckdb_validity_row_is_valid⚠
Returns whether or not a row is valid (i.e. not NULL) in the given validity mask.
duckdb_validity_set_row_invalid⚠
In a validity mask, sets a specific row to invalid.
duckdb_validity_set_row_valid⚠
In a validity mask, sets a specific row to valid.
duckdb_validity_set_row_validity⚠
In a validity mask, sets a specific row to either valid or invalid.
duckdb_value_blob⚠
DEPRECATION NOTICE: This method is scheduled for removal in a future release.
duckdb_value_boolean⚠
DEPRECATION NOTICE: This method is scheduled for removal in a future release.
duckdb_value_date⚠
DEPRECATION NOTICE: This method is scheduled for removal in a future release.
duckdb_value_decimal⚠
DEPRECATION NOTICE: This method is scheduled for removal in a future release.
duckdb_value_double⚠
DEPRECATION NOTICE: This method is scheduled for removal in a future release.
duckdb_value_float⚠
DEPRECATION NOTICE: This method is scheduled for removal in a future release.
duckdb_value_hugeint⚠
DEPRECATION NOTICE: This method is scheduled for removal in a future release.
duckdb_value_int8⚠
DEPRECATION NOTICE: This method is scheduled for removal in a future release.
duckdb_value_int16⚠
DEPRECATION NOTICE: This method is scheduled for removal in a future release.
duckdb_value_int32⚠
DEPRECATION NOTICE: This method is scheduled for removal in a future release.
duckdb_value_int64⚠
DEPRECATION NOTICE: This method is scheduled for removal in a future release.
duckdb_value_interval⚠
DEPRECATION NOTICE: This method is scheduled for removal in a future release.
duckdb_value_is_null⚠
DEPRECATION NOTICE: This method is scheduled for removal in a future release.
duckdb_value_string⚠
DEPRECATION NOTICE: This method is scheduled for removal in a future release.
duckdb_value_string_internal⚠
DEPRECATION NOTICE: This method is scheduled for removal in a future release.
duckdb_value_time⚠
DEPRECATION NOTICE: This method is scheduled for removal in a future release.
duckdb_value_timestamp⚠
DEPRECATION NOTICE: This method is scheduled for removal in a future release.
duckdb_value_to_string⚠
Returns the SQL string representation of the given value.
duckdb_value_uhugeint⚠
DEPRECATION NOTICE: This method is scheduled for removal in a future release.
duckdb_value_uint8⚠
DEPRECATION NOTICE: This method is scheduled for removal in a future release.
duckdb_value_uint16⚠
DEPRECATION NOTICE: This method is scheduled for removal in a future release.
duckdb_value_uint32⚠
DEPRECATION NOTICE: This method is scheduled for removal in a future release.
duckdb_value_uint64⚠
DEPRECATION NOTICE: This method is scheduled for removal in a future release.
duckdb_value_varchar⚠
DEPRECATION NOTICE: This method is scheduled for removal in a future release.
duckdb_value_varchar_internal⚠
DEPRECATION NOTICE: This method is scheduled for removal in a future release.
duckdb_vector_assign_string_element⚠
Assigns a string element in the vector at the specified location. For VARCHAR vectors, the input is validated as UTF-8; if invalid, a NULL value is assigned at that index.
duckdb_vector_assign_string_element_len⚠
Assigns a string element in the vector at the specified location. For VARCHAR vectors, the input is validated as UTF-8; if invalid, a NULL value is assigned at that index. For BLOB vectors, no validation is performed.
duckdb_vector_copy_sel⚠
Copy the src vector to the dst with a selection vector that identifies which indices to copy.
duckdb_vector_ensure_validity_writable⚠
Ensures the validity mask is writable by allocating it.
duckdb_vector_get_column_type⚠
Retrieves the column type of the specified vector.
duckdb_vector_get_data⚠
Retrieves the data pointer of the vector.
duckdb_vector_get_validity⚠
Retrieves the validity mask pointer of the specified vector.
duckdb_vector_reference_value⚠
Copies the value from value to vector.
duckdb_vector_reference_vector⚠
Changes to_vector to reference `from_vector. After, the vectors share ownership of the data.
duckdb_vector_size⚠
The internal vector size used by DuckDB. This is the amount of tuples that will fit into a data chunk created by duckdb_create_data_chunk.

Type Aliases§

DUCKDB_TYPE
An enum over DuckDB’s internal types.
duckdb_aggregate_combine_t
A function to combine aggregate states.
duckdb_aggregate_destroy_t
An optional function to destroy an aggregate state.
duckdb_aggregate_finalize_t
A function to finalize aggregate states into a result vector.
duckdb_aggregate_function
An aggregate function. Must be destroyed with duckdb_destroy_aggregate_function.
duckdb_aggregate_function_set
An aggregate function set. Must be destroyed with duckdb_destroy_aggregate_function_set.
duckdb_aggregate_init_t
A function to initialize an aggregate state.
duckdb_aggregate_state
The state of an aggregate function.
duckdb_aggregate_state_size
A function to get the size of an aggregate state.
duckdb_aggregate_update_t
A function to update a set of aggregate states with new values.
duckdb_appender
The appender enables fast data loading into DuckDB. Must be destroyed with duckdb_appender_destroy.
duckdb_arrow
An arrow result set. Must be destroyed with duckdb_destroy_arrow.
duckdb_arrow_array
An arrow array wrapper.
duckdb_arrow_converted_schema
Holds a converted Arrow schema. Must be destroyed with duckdb_destroy_arrow_converted_schema.
duckdb_arrow_options
Arrow options for transforming DuckDB schema/chunks to Arrow. Must be destroyed with duckdb_destroy_arrow_options.
duckdb_arrow_schema
An arrow schema wrapper.
duckdb_arrow_stream
An arrow stream wrapper. Must be destroyed with duckdb_destroy_arrow_stream.
duckdb_bind_info
The bind info of a function.
duckdb_cast_function
A cast function. Must be destroyed with duckdb_destroy_cast_function.
duckdb_cast_function_t
The function to cast from an input vector to an output vector.
duckdb_cast_mode
An enum over DuckDB’s different cast modes.
duckdb_catalog
A handle to a database catalog. Must be destroyed with duckdb_destroy_catalog.
duckdb_catalog_entry
A handle to a catalog entry. Must be destroyed with duckdb_destroy_catalog_entry.
duckdb_catalog_entry_type
An enum over DuckDB’s catalog entry types.
duckdb_client_context
A client context of a duckdb connection. Must be destroyed with duckdb_destroy_client_context.
duckdb_config
The configuration for opening a database. Must be destroyed with duckdb_destroy_config.
duckdb_config_option
A custom configuration option instance. Must be destroyed with duckdb_destroy_config_option.
duckdb_config_option_scope
An enum over DuckDB’s configuration option scopes.
duckdb_connection
A connection to a duckdb database. Must be closed with duckdb_disconnect.
duckdb_copy_callback_t
The callback to copy data.
duckdb_copy_function
A COPY function. Must be destroyed with duckdb_destroy_copy_function.
duckdb_copy_function_bind_info
Info for the bind function of a COPY function.
duckdb_copy_function_bind_t
The bind function of a copy function.
duckdb_copy_function_finalize_info
Info for the finalize function of a COPY function.
duckdb_copy_function_finalize_t
The finalize function of a copy function.
duckdb_copy_function_global_init_info
Info for the global initialization function of a COPY function.
duckdb_copy_function_global_init_t
The global initialization function of a copy function.
duckdb_copy_function_sink_info
Info for the sink function of a COPY function.
duckdb_copy_function_sink_t
The sink function of a copy function.
duckdb_create_type_info
Holds extra information to register a custom logical type. Reserved for future use.
duckdb_data_chunk
Contains a data chunk of a duckdb_result. Must be destroyed with duckdb_destroy_data_chunk.
duckdb_database
A database object. Must be closed with duckdb_close.
duckdb_delete_callback_t
The callback to destroy data.
duckdb_error_data
Holds error data. Must be destroyed with duckdb_destroy_error_data.
duckdb_error_type
An enum over DuckDB’s different error types.
duckdb_expression
Holds a bound expression. Must be destroyed with duckdb_destroy_expression.
duckdb_extension_info
Holds the state of the C API extension initialization process.
duckdb_extracted_statements
Extracted statements. Must be destroyed with duckdb_destroy_extracted.
duckdb_file_flag
Flags for opening files.
duckdb_file_handle
A file handle. Must be destroyed with duckdb_destroy_file_handle.
duckdb_file_open_options
File open options. Must be destroyed with duckdb_destroy_file_open_options.
duckdb_file_system
A file system instance. Must be destroyed with duckdb_destroy_file_system.
duckdb_function_info
Additional function info.
duckdb_init_info
Additional function initialization info.
duckdb_instance_cache
A database instance cache. Must be destroyed with duckdb_destroy_instance_cache.
duckdb_log_storage
A log storage instance. Must be destroyed with duckdb_destroy_log_storage.
duckdb_logger_write_log_entry_t
The callback to write a log entry.
duckdb_logical_type
A logical type. Must be destroyed with duckdb_destroy_logical_type.
duckdb_pending_result
A pending query result. Must be destroyed with duckdb_destroy_pending.
duckdb_pending_state
An enum over the pending state of a pending query result.
duckdb_prepared_statement
A prepared statement. Must be destroyed with duckdb_destroy_prepare.
duckdb_profiling_info
Holds a recursive tree containing profiling metrics.
duckdb_replacement_callback_t
The callback function for replacement scans.
duckdb_replacement_scan_info
Info passed to a replacement scan callback.
duckdb_result_type
An enum over DuckDB’s different result types.
duckdb_scalar_function
A scalar function. Must be destroyed with duckdb_destroy_scalar_function.
duckdb_scalar_function_bind_t
The bind function of a scalar function.
duckdb_scalar_function_init_t
The init function of a scalar function.
duckdb_scalar_function_set
A scalar function set. Must be destroyed with duckdb_destroy_scalar_function_set.
duckdb_scalar_function_t
The main function of a scalar function.
duckdb_selection_vector
A selection vector defining a selection on top of a vector. Must be destroyed with duckdb_destroy_selection_vector.
duckdb_state
! The returned state of different functions. Legacy naming: values use DuckDB prefix without underscore.
duckdb_statement_type
An enum over DuckDB’s different statement types.
duckdb_table_description
The table description allows querying information about the table. Must be destroyed with duckdb_table_description_destroy.
duckdb_table_function
A table function. Must be destroyed with duckdb_destroy_table_function.
duckdb_table_function_bind_t
The bind function of a table function.
duckdb_table_function_init_t
The init function of a table function.
duckdb_table_function_t
The main function of a table function.
duckdb_task_state
Used for threading, contains a task state. Must be destroyed with duckdb_destroy_task_state.
duckdb_type
An enum over DuckDB’s internal types.
duckdb_value
A value of a logical type. Must be destroyed with duckdb_destroy_value.
duckdb_vector
A vector, either standalone or a column in a data chunk.
idx_t
sel_t

Unions§

duckdb_string_t__bindgen_ty_1