DBD-DuckDB

 view release on metacpan or  search on metacpan

lib/DBD/DuckDB/FFI.pm  view on Meta::CPAN


#<<<
my %DUCKDB_FUNCTIONS = (

    # Open Connect

    duckdb_create_instance_cache => [[] => 'duckdb_instance_cache'],
    duckdb_get_or_create_from_cache => [['duckdb_instance_cache', 'string', 'duckdb_database*', 'duckdb_config', 'string*'] => 'duckdb_state'],
    duckdb_destroy_instance_cache => [['duckdb_instance_cache*'] => 'void'],
    duckdb_open => [['string', 'duckdb_database*'] => 'duckdb_state'],
    duckdb_open_ext => [['string', 'duckdb_database*', 'duckdb_config', 'string*'] => 'duckdb_state'],
    duckdb_close => [['duckdb_database*'] => 'void'],
    duckdb_connect => [['duckdb_database', 'duckdb_connection*'] => 'duckdb_state'],
    duckdb_interrupt => [['duckdb_connection'] => 'void'],
    duckdb_query_progress => [['duckdb_connection'] => 'duckdb_query_progress_type'],
    duckdb_disconnect => [['duckdb_connection*'] => 'void'],
    duckdb_connection_get_client_context => [['duckdb_connection', 'duckdb_client_context*'] => 'void'],
    duckdb_connection_get_arrow_options => [['duckdb_connection', 'duckdb_arrow_options*'] => 'void'],
    duckdb_client_context_get_connection_id => [['duckdb_client_context'] => 'idx_t'],
    duckdb_destroy_client_context => [['duckdb_client_context*'] => 'void'],
    duckdb_destroy_arrow_options => [['duckdb_arrow_options*'] => 'void'],
    duckdb_library_version => [[] => 'string'],
    duckdb_get_table_names => [['duckdb_connection', 'string', 'bool'] => 'duckdb_value'],

    # Configuration

    duckdb_create_config => [['duckdb_config*'] => 'duckdb_state'],
    duckdb_config_count => [[] => 'size_t'],
    duckdb_get_config_flag => [['size_t', 'string*', 'string*'] => 'duckdb_state'],
    duckdb_set_config => [['duckdb_config', 'string', 'string'] => 'duckdb_state'],
    duckdb_destroy_config => [['duckdb_config*'] => 'void'],

    # Error Data

    duckdb_create_error_data => [['duckdb_error_type', 'string'] => 'duckdb_error_data'],
    duckdb_destroy_error_data => [['duckdb_error_data*'] => 'void'],
    duckdb_error_data_error_type => [['duckdb_error_data'] => 'duckdb_error_type'],
    duckdb_error_data_message => [['duckdb_error_data'] => 'string'],
    duckdb_error_data_has_error => [['duckdb_error_data'] => 'bool'],

    # Query Execution

    duckdb_query => [['duckdb_connection', 'string', 'duckdb_result*'] => 'duckdb_state'],
    duckdb_destroy_result => [['duckdb_result*'] => 'void'],
    duckdb_column_name => [['duckdb_result*', 'idx_t'] => 'string'],
    duckdb_column_type => [['duckdb_result*', 'idx_t'] => 'duckdb_type'],
    duckdb_result_statement_type => [['duckdb_result'] => 'duckdb_statement_type'],
    duckdb_column_logical_type => [['duckdb_result*', 'idx_t'] => 'duckdb_logical_type'],
    duckdb_result_get_arrow_options => [['duckdb_result*'] => 'duckdb_arrow_options'],
    duckdb_column_count => [['duckdb_result*'] => 'idx_t'],
    duckdb_row_count => [['duckdb_result*'] => 'idx_t'],
    duckdb_rows_changed => [['duckdb_result*'] => 'idx_t'],
    duckdb_column_data => [['duckdb_result*', 'idx_t'] => 'opaque'], # DEPRECATED
    duckdb_nullmask_data => [['duckdb_result*', 'idx_t'] => 'opaque'], # DEPRECATED
    duckdb_result_error => [['duckdb_result*'] => 'string'],
    duckdb_result_error_type => [['duckdb_result*'] => 'duckdb_error_type'],

    # Result Functions

    duckdb_result_get_chunk => [['duckdb_result', 'idx_t'] => 'duckdb_data_chunk'],
    duckdb_result_is_streaming => [['duckdb_result'] => 'bool'],
    duckdb_result_chunk_count => [['duckdb_result'] => 'idx_t'],
    duckdb_result_return_type => [['duckdb_result'] => 'duckdb_result_type'],

    # Safe Fetch Functions

    duckdb_value_boolean => [['duckdb_result*', 'idx_t', 'idx_t'] => 'bool'],
    duckdb_value_int8 => [['duckdb_result*', 'idx_t', 'idx_t'] => 'int8_t'],
    duckdb_value_int16 => [['duckdb_result*', 'idx_t', 'idx_t'] => 'int16_t'],
    duckdb_value_int32 => [['duckdb_result*', 'idx_t', 'idx_t'] => 'int32_t'],
    duckdb_value_int64 => [['duckdb_result*', 'idx_t', 'idx_t'] => 'int64_t'],
    duckdb_value_hugeint => [['duckdb_result*', 'idx_t', 'idx_t'] => 'duckdb_hugeint'],
    duckdb_value_uhugeint => [['duckdb_result*', 'idx_t', 'idx_t'] => 'duckdb_uhugeint'],
    duckdb_value_decimal => [['duckdb_result*', 'idx_t', 'idx_t'] => 'duckdb_decimal'],
    duckdb_value_uint8 => [['duckdb_result*', 'idx_t', 'idx_t'] => 'uint8_t'],
    duckdb_value_uint16 => [['duckdb_result*', 'idx_t', 'idx_t'] => 'uint16_t'],
    duckdb_value_uint32 => [['duckdb_result*', 'idx_t', 'idx_t'] => 'uint32_t'],
    duckdb_value_uint64 => [['duckdb_result*', 'idx_t', 'idx_t'] => 'uint64_t'],
    duckdb_value_float => [['duckdb_result*', 'idx_t', 'idx_t'] => 'float'],
    duckdb_value_double => [['duckdb_result*', 'idx_t', 'idx_t'] => 'double'],
    duckdb_value_date => [['duckdb_result*', 'idx_t', 'idx_t'] => 'duckdb_date'],
    duckdb_value_time => [['duckdb_result*', 'idx_t', 'idx_t'] => 'duckdb_time'],
    duckdb_value_timestamp => [['duckdb_result*', 'idx_t', 'idx_t'] => 'duckdb_timestamp'],
    duckdb_value_interval => [['duckdb_result*', 'idx_t', 'idx_t'] => 'duckdb_interval'],
    duckdb_value_varchar => [['duckdb_result*', 'idx_t', 'idx_t'] => 'string'], # DEPRECATED
    duckdb_value_string => [['duckdb_result*', 'idx_t', 'idx_t'] => 'duckdb_string'],
    duckdb_value_varchar_internal => [['duckdb_result*', 'idx_t', 'idx_t'] => 'string'], # DEPRECATED
    duckdb_value_string_internal => [['duckdb_result*', 'idx_t', 'idx_t'] => 'duckdb_string'], # DEPRECATED
    duckdb_value_blob => [['duckdb_result*', 'idx_t', 'idx_t'] => 'duckdb_blob'],
    duckdb_value_is_null => [['duckdb_result*', 'idx_t', 'idx_t'] => 'bool'],

    # Helpers

    duckdb_malloc => [['size_t'] => 'opaque'],
    duckdb_free => [['opaque'] => 'void'],
    duckdb_vector_size => [[] => 'idx_t'],
    duckdb_string_is_inlined => [['duckdb_string_t'] => 'bool'],
    duckdb_string_t_length => [['duckdb_string_t'] => 'uint32_t'],
    duckdb_string_t_data => [['duckdb_string_t*'] => 'string'],

    # Date Time Timestamp Helpers

    duckdb_from_date => [['duckdb_date'] => 'duckdb_date_struct'],
    duckdb_to_date => [['duckdb_date_struct'] => 'duckdb_date'],
    duckdb_is_finite_date => [['duckdb_date'] => 'bool'],
    duckdb_from_time => [['duckdb_time'] => 'duckdb_time_struct'],
    duckdb_create_time_tz => [['int64_t', 'int32_t'] => 'duckdb_time_tz'],
    duckdb_from_time_tz => [['duckdb_time_tz'] => 'duckdb_time_tz_struct'],
    duckdb_to_time => [['duckdb_time_struct'] => 'duckdb_time'],
    duckdb_from_timestamp => [['duckdb_timestamp'] => 'duckdb_timestamp_struct'],
    duckdb_to_timestamp => [['duckdb_timestamp_struct'] => 'duckdb_timestamp'],
    duckdb_is_finite_timestamp => [['duckdb_timestamp'] => 'bool'],
    duckdb_is_finite_timestamp_s => [['duckdb_timestamp_s'] => 'bool'],
    duckdb_is_finite_timestamp_ms => [['duckdb_timestamp_ms'] => 'bool'],
    duckdb_is_finite_timestamp_ns => [['duckdb_timestamp_ns'] => 'bool'],

    # Hugeint Helpers

    duckdb_hugeint_to_double => [['duckdb_hugeint'] => 'double'],
    duckdb_double_to_hugeint => [['double'] => 'duckdb_hugeint'],

    # Unsigned Hugeint Helpers

    duckdb_uhugeint_to_double => [['duckdb_uhugeint'] => 'double'],
    duckdb_double_to_uhugeint => [['double'] => 'duckdb_uhugeint'],

    # Decimal Helpers

    duckdb_double_to_decimal => [['double', 'uint8_t', 'uint8_t'] => 'duckdb_decimal'],
    duckdb_decimal_to_double => [['duckdb_decimal'] => 'double'],

    # Prepared Statements

    duckdb_prepare => [['duckdb_connection', 'string', 'duckdb_prepared_statement*'] => 'duckdb_state'],
    duckdb_destroy_prepare => [['duckdb_prepared_statement*'] => 'void'],
    duckdb_prepare_error => [['duckdb_prepared_statement'] => 'string'],
    duckdb_nparams => [['duckdb_prepared_statement'] => 'idx_t'],
    duckdb_parameter_name => [['duckdb_prepared_statement', 'idx_t'] => 'string'],
    duckdb_param_type => [['duckdb_prepared_statement', 'idx_t'] => 'duckdb_type'],
    duckdb_param_logical_type => [['duckdb_prepared_statement', 'idx_t'] => 'duckdb_logical_type'],
    duckdb_clear_bindings => [['duckdb_prepared_statement'] => 'duckdb_state'],
    duckdb_prepared_statement_type => [['duckdb_prepared_statement'] => 'duckdb_statement_type'],
    duckdb_prepared_statement_column_count => [['duckdb_prepared_statement'] => 'idx_t'],
    duckdb_prepared_statement_column_name => [['duckdb_prepared_statement', 'idx_t'] => 'string'],
    duckdb_prepared_statement_column_logical_type => [['duckdb_prepared_statement', 'idx_t'] => 'duckdb_logical_type'],
    duckdb_prepared_statement_column_type => [['duckdb_prepared_statement', 'idx_t'] => 'duckdb_type'],

    # Bind Values to Prepared Statements

    duckdb_bind_value => [['duckdb_prepared_statement', 'idx_t', 'duckdb_value'] => 'duckdb_state'],
    duckdb_bind_parameter_index => [['duckdb_prepared_statement', 'opaque', 'string'] => 'duckdb_state'],
    duckdb_bind_boolean => [['duckdb_prepared_statement', 'idx_t', 'bool'] => 'duckdb_state'],
    duckdb_bind_int8 => [['duckdb_prepared_statement', 'idx_t', 'int8_t'] => 'duckdb_state'],
    duckdb_bind_int16 => [['duckdb_prepared_statement', 'idx_t', 'int16_t'] => 'duckdb_state'],
    duckdb_bind_int32 => [['duckdb_prepared_statement', 'idx_t', 'int32_t'] => 'duckdb_state'],
    duckdb_bind_int64 => [['duckdb_prepared_statement', 'idx_t', 'int64_t'] => 'duckdb_state'],
    duckdb_bind_hugeint => [['duckdb_prepared_statement', 'idx_t', 'duckdb_hugeint'] => 'duckdb_state'],
    duckdb_bind_uhugeint => [['duckdb_prepared_statement', 'idx_t', 'duckdb_uhugeint'] => 'duckdb_state'],
    duckdb_bind_decimal => [['duckdb_prepared_statement', 'idx_t', 'duckdb_decimal'] => 'duckdb_state'],
    duckdb_bind_uint8 => [['duckdb_prepared_statement', 'idx_t', 'uint8_t'] => 'duckdb_state'],
    duckdb_bind_uint16 => [['duckdb_prepared_statement', 'idx_t', 'uint16_t'] => 'duckdb_state'],
    duckdb_bind_uint32 => [['duckdb_prepared_statement', 'idx_t', 'uint32_t'] => 'duckdb_state'],
    duckdb_bind_uint64 => [['duckdb_prepared_statement', 'idx_t', 'uint64_t'] => 'duckdb_state'],
    duckdb_bind_float => [['duckdb_prepared_statement', 'idx_t', 'float'] => 'duckdb_state'],
    duckdb_bind_double => [['duckdb_prepared_statement', 'idx_t', 'double'] => 'duckdb_state'],
    duckdb_bind_date => [['duckdb_prepared_statement', 'idx_t', 'duckdb_date'] => 'duckdb_state'],
    duckdb_bind_time => [['duckdb_prepared_statement', 'idx_t', 'duckdb_time'] => 'duckdb_state'],
    duckdb_bind_timestamp => [['duckdb_prepared_statement', 'idx_t', 'duckdb_timestamp'] => 'duckdb_state'],
    duckdb_bind_timestamp_tz => [['duckdb_prepared_statement', 'idx_t', 'duckdb_timestamp'] => 'duckdb_state'],
    duckdb_bind_interval => [['duckdb_prepared_statement', 'idx_t', 'duckdb_interval'] => 'duckdb_state'],
    duckdb_bind_varchar => [['duckdb_prepared_statement', 'idx_t', 'string'] => 'duckdb_state'],
    duckdb_bind_varchar_length => [['duckdb_prepared_statement', 'idx_t', 'string', 'idx_t'] => 'duckdb_state'],
    duckdb_bind_blob => [['duckdb_prepared_statement', 'idx_t', 'opaque', 'idx_t'] => 'duckdb_state'],
    duckdb_bind_null => [['duckdb_prepared_statement', 'idx_t'] => 'duckdb_state'],

    # Execute Prepared Statements

    duckdb_execute_prepared => [['duckdb_prepared_statement', 'duckdb_result*'] => 'duckdb_state'],
    duckdb_execute_prepared_streaming => [['duckdb_prepared_statement', 'duckdb_result*'] => 'duckdb_state'],

    # Extract Statements

    duckdb_extract_statements => [['duckdb_connection', 'string', 'duckdb_extracted_statements*'] => 'idx_t'],
    duckdb_prepare_extracted_statement => [['duckdb_connection', 'duckdb_extracted_statements', 'idx_t', 'duckdb_prepared_statement*'] => 'duckdb_state'],
    duckdb_extract_statements_error => [['duckdb_extracted_statements'] => 'string'],
    duckdb_destroy_extracted => [['duckdb_extracted_statements*'] => 'void'],

    # Pending Result Interface

    duckdb_pending_prepared => [['duckdb_prepared_statement', 'duckdb_pending_result*'] => 'duckdb_state'],
    duckdb_pending_prepared_streaming => [['duckdb_prepared_statement', 'duckdb_pending_result*'] => 'duckdb_state'],
    duckdb_destroy_pending => [['duckdb_pending_result*'] => 'void'],
    duckdb_pending_error => [['duckdb_pending_result'] => 'string'],
    duckdb_pending_execute_task => [['duckdb_pending_result'] => 'duckdb_pending_state'],
    duckdb_pending_execute_check_state => [['duckdb_pending_result'] => 'duckdb_pending_state'],
    duckdb_execute_pending => [['duckdb_pending_result', 'duckdb_result*'] => 'duckdb_state'],
    duckdb_pending_execution_is_finished => [['duckdb_pending_state'] => 'bool'],

    # Value Interface

    duckdb_destroy_value => [['duckdb_value*'] => 'void'],
    duckdb_create_varchar => [['string'] => 'duckdb_value'],
    duckdb_create_varchar_length => [['string', 'idx_t'] => 'duckdb_value'],
    duckdb_create_bool => [['bool'] => 'duckdb_value'],
    duckdb_create_int8 => [['int8_t'] => 'duckdb_value'],
    duckdb_create_uint8 => [['uint8_t'] => 'duckdb_value'],
    duckdb_create_int16 => [['int16_t'] => 'duckdb_value'],
    duckdb_create_uint16 => [['uint16_t'] => 'duckdb_value'],
    duckdb_create_int32 => [['int32_t'] => 'duckdb_value'],
    duckdb_create_uint32 => [['uint32_t'] => 'duckdb_value'],
    duckdb_create_uint64 => [['uint64_t'] => 'duckdb_value'],
    duckdb_create_int64 => [['int64_t'] => 'duckdb_value'],
    duckdb_create_hugeint => [['duckdb_hugeint'] => 'duckdb_value'],
    duckdb_create_uhugeint => [['duckdb_uhugeint'] => 'duckdb_value'],
    duckdb_create_bignum => [['duckdb_bignum'] => 'duckdb_value'],
    duckdb_create_decimal => [['duckdb_decimal'] => 'duckdb_value'],
    duckdb_create_float => [['float'] => 'duckdb_value'],
    duckdb_create_double => [['double'] => 'duckdb_value'],
    duckdb_create_date => [['duckdb_date'] => 'duckdb_value'],
    duckdb_create_time => [['duckdb_time'] => 'duckdb_value'],
    duckdb_create_time_ns => [['duckdb_time_ns'] => 'duckdb_value'],
    duckdb_create_time_tz_value => [['duckdb_time_tz'] => 'duckdb_value'],
    duckdb_create_timestamp => [['duckdb_timestamp'] => 'duckdb_value'],
    duckdb_create_timestamp_tz => [['duckdb_timestamp'] => 'duckdb_value'],
    duckdb_create_timestamp_s => [['duckdb_timestamp_s'] => 'duckdb_value'],
    duckdb_create_timestamp_ms => [['duckdb_timestamp_ms'] => 'duckdb_value'],
    duckdb_create_timestamp_ns => [['duckdb_timestamp_ns'] => 'duckdb_value'],
    duckdb_create_interval => [['duckdb_interval'] => 'duckdb_value'],
    duckdb_create_blob => [['opaque', 'idx_t'] => 'duckdb_value'],
    duckdb_create_bit => [['duckdb_bit'] => 'duckdb_value'],
    duckdb_create_uuid => [['duckdb_uhugeint'] => 'duckdb_value'],
    duckdb_get_bool => [['duckdb_value'] => 'bool'],
    duckdb_get_int8 => [['duckdb_value'] => 'int8_t'],
    duckdb_get_uint8 => [['duckdb_value'] => 'uint8_t'],
    duckdb_get_int16 => [['duckdb_value'] => 'int16_t'],
    duckdb_get_uint16 => [['duckdb_value'] => 'uint16_t'],
    duckdb_get_int32 => [['duckdb_value'] => 'int32_t'],
    duckdb_get_uint32 => [['duckdb_value'] => 'uint32_t'],
    duckdb_get_int64 => [['duckdb_value'] => 'int64_t'],
    duckdb_get_uint64 => [['duckdb_value'] => 'uint64_t'],
    duckdb_get_hugeint => [['duckdb_value'] => 'duckdb_hugeint'],
    duckdb_get_uhugeint => [['duckdb_value'] => 'duckdb_uhugeint'],
    duckdb_get_bignum => [['duckdb_value'] => 'duckdb_bignum'],
    duckdb_get_decimal => [['duckdb_value'] => 'duckdb_decimal'],
    duckdb_get_float => [['duckdb_value'] => 'float'],
    duckdb_get_double => [['duckdb_value'] => 'double'],
    duckdb_get_date => [['duckdb_value'] => 'duckdb_date'],
    duckdb_get_time => [['duckdb_value'] => 'duckdb_time'],
    duckdb_get_time_ns => [['duckdb_value'] => 'duckdb_time_ns'],
    duckdb_get_time_tz => [['duckdb_value'] => 'duckdb_time_tz'],
    duckdb_get_timestamp => [['duckdb_value'] => 'duckdb_timestamp'],

lib/DBD/DuckDB/FFI.pm  view on Meta::CPAN

=item * duckdb_destroy_config

=back

=head2 Error Data

=over

=item * duckdb_create_error_data

=item * duckdb_destroy_error_data

=item * duckdb_error_data_error_type

=item * duckdb_error_data_message

=item * duckdb_error_data_has_error

=back

=head2 Query Execution

=over

=item * duckdb_query

=item * duckdb_destroy_result

=item * duckdb_column_name

=item * duckdb_column_type

=item * duckdb_result_statement_type

=item * duckdb_column_logical_type

=item * duckdb_result_get_arrow_options

=item * duckdb_column_count

=item * duckdb_row_count

=item * duckdb_rows_changed

=item * duckdb_column_data

=item * duckdb_nullmask_data

=item * duckdb_result_error

=item * duckdb_result_error_type

=back

=head2 Result Functions

=over

=item * duckdb_result_get_chunk

=item * duckdb_result_is_streaming

=item * duckdb_result_chunk_count

=item * duckdb_result_return_type

=back

=head2 Safe Fetch Functions

=over

=item * duckdb_value_boolean

=item * duckdb_value_int8

=item * duckdb_value_int16

=item * duckdb_value_int32

=item * duckdb_value_int64

=item * duckdb_value_hugeint

=item * duckdb_value_uhugeint

=item * duckdb_value_decimal

=item * duckdb_value_uint8

=item * duckdb_value_uint16

=item * duckdb_value_uint32

=item * duckdb_value_uint64

=item * duckdb_value_float

=item * duckdb_value_double

=item * duckdb_value_date

=item * duckdb_value_time

=item * duckdb_value_timestamp

=item * duckdb_value_interval

=item * duckdb_value_varchar

=item * duckdb_value_string

=item * duckdb_value_varchar_internal

=item * duckdb_value_string_internal

=item * duckdb_value_blob

=item * duckdb_value_is_null

=back

lib/DBD/DuckDB/FFI.pm  view on Meta::CPAN

=over

=item * duckdb_bind_value

=item * duckdb_bind_parameter_index

=item * duckdb_bind_boolean

=item * duckdb_bind_int8

=item * duckdb_bind_int16

=item * duckdb_bind_int32

=item * duckdb_bind_int64

=item * duckdb_bind_hugeint

=item * duckdb_bind_uhugeint

=item * duckdb_bind_decimal

=item * duckdb_bind_uint8

=item * duckdb_bind_uint16

=item * duckdb_bind_uint32

=item * duckdb_bind_uint64

=item * duckdb_bind_float

=item * duckdb_bind_double

=item * duckdb_bind_date

=item * duckdb_bind_time

=item * duckdb_bind_timestamp

=item * duckdb_bind_timestamp_tz

=item * duckdb_bind_interval

=item * duckdb_bind_varchar

=item * duckdb_bind_varchar_length

=item * duckdb_bind_blob

=item * duckdb_bind_null

=back

=head2 Execute Prepared Statements

=over

=item * duckdb_execute_prepared

=item * duckdb_execute_prepared_streaming

=back

=head2 Extract Statements

=over

=item * duckdb_extract_statements

=item * duckdb_prepare_extracted_statement

=item * duckdb_extract_statements_error

=item * duckdb_destroy_extracted

=back

=head2 Pending Result Interface

=over

=item * duckdb_pending_prepared

=item * duckdb_pending_prepared_streaming

=item * duckdb_destroy_pending

=item * duckdb_pending_error

=item * duckdb_pending_execute_task

=item * duckdb_pending_execute_check_state

=item * duckdb_execute_pending

=item * duckdb_pending_execution_is_finished

=back

=head2 Value Interface

=over

=item * duckdb_destroy_value

=item * duckdb_create_varchar

=item * duckdb_create_varchar_length

=item * duckdb_create_bool

=item * duckdb_create_int8

=item * duckdb_create_uint8

=item * duckdb_create_int16

=item * duckdb_create_uint16

=item * duckdb_create_int32

=item * duckdb_create_uint32

=item * duckdb_create_uint64

=item * duckdb_create_int64

=item * duckdb_create_hugeint

=item * duckdb_create_uhugeint

=item * duckdb_create_bignum

=item * duckdb_create_decimal

=item * duckdb_create_float

=item * duckdb_create_double

=item * duckdb_create_date

=item * duckdb_create_time

=item * duckdb_create_time_ns



( run in 0.862 second using v1.01-cache-2.11-cpan-140bd7fdf52 )