NAME

DBD::DuckDB::FFI - DuckDB C functions

use DBD::DuckDB::FFI qw(:all);

say duckdb_library_version();

DESCRIPTION

DBD::DuckDB use FFI::Platypus for access to libduckdb C library.

FUNCTIONS

Open Connect

duckdb_close
duckdb_connect
duckdb_disconnect
duckdb_library_version
duckdb_open

Query Execution

duckdb_column_count
duckdb_column_logical_type
duckdb_column_name
duckdb_column_type
duckdb_destroy_result
duckdb_query
duckdb_result_error
duckdb_row_count
duckdb_rows_changed

Prepared Statements

duckdb_prepare
duckdb_prepare_error
duckdb_destroy_prepare

Bind Values to Prepared Statements

duckdb_bind_blob
duckdb_bind_boolean
duckdb_bind_date
duckdb_bind_decimal
duckdb_bind_double
duckdb_bind_float
duckdb_bind_hugeint
duckdb_bind_int16
duckdb_bind_int32
duckdb_bind_int64
duckdb_bind_int8
duckdb_bind_interval
duckdb_bind_null
duckdb_bind_time
duckdb_bind_timestamp
duckdb_bind_timestamp_tz
duckdb_bind_uhugeint
duckdb_bind_uint16
duckdb_bind_uint32
duckdb_bind_uint64
duckdb_bind_uint8
duckdb_bind_value
duckdb_bind_varchar

Execute Prepared Statements

duckdb_execute_prepared

Result Functions

duckdb_fetch_chunk
duckdb_result_return_type

Helpers

duckdb_free

Validity Mask Functions

duckdb_validity_row_is_valid

Logical Type Interface

duckdb_array_type_array_size
duckdb_array_type_child_type
duckdb_destroy_logical_type
duckdb_get_type_id
duckdb_decimal_internal_type
duckdb_decimal_scale
duckdb_decimal_width
duckdb_list_type_child_type
duckdb_map_type_key_type
duckdb_map_type_value_type
duckdb_struct_type_child_count
duckdb_struct_type_child_name
duckdb_struct_type_child_type
duckdb_union_type_member_count
duckdb_union_type_member_type

Data Chunk Interface

duckdb_data_chunk_get_size
duckdb_data_chunk_get_vector
duckdb_destroy_data_chunk

Vector Interface

duckdb_array_vector_get_child
duckdb_list_vector_get_child
duckdb_struct_vector_get_child
duckdb_vector_get_column_type
duckdb_vector_get_data
duckdb_vector_get_validity

Appender

duckdb_append_blob
duckdb_append_bool
duckdb_append_date
duckdb_append_double
duckdb_append_float
duckdb_append_hugeint
duckdb_append_int16
duckdb_append_int32
duckdb_append_int64
duckdb_append_int8
duckdb_append_interval
duckdb_append_null
duckdb_append_time
duckdb_append_timestamp
duckdb_append_uhugeint
duckdb_append_uint16
duckdb_append_uint32
duckdb_append_uint64
duckdb_append_uint8
duckdb_append_varchar
duckdb_appender_begin_row
duckdb_appender_close
duckdb_appender_create
duckdb_appender_destroy
duckdb_appender_end_row
duckdb_appender_error
duckdb_appender_flush

SUPPORT

Bugs / Feature Requests

Please report any bugs or feature requests through the issue tracker at https://github.com/giterlizzi/perl-DBD-DuckDB/issues. You will be notified automatically of any progress on your issue.

Source Code

This is open source software. The code repository is available for public review and contribution under the terms of the license.

https://github.com/giterlizzi/perl-DBD-DuckDB

git clone https://github.com/giterlizzi/perl-DBD-DuckDB.git

AUTHOR

  • Giuseppe Di Terlizzi <gdt@cpan.org>

LICENSE AND COPYRIGHT

This software is copyright (c) 2024-2025 by Giuseppe Di Terlizzi.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.