src/nimdrake

Search:
Group by:

NimDrake is a Nim language package designed to integrate with DuckDB, an in-process SQL OLAP database management system. It simplifies database interactions while maintaining flexibility for advanced use cases. NimDrake is built with two ideas in mind, the high-level interface offers quick and easy database operations, ideal for rapid development and simplicity, and a lower-level interface that directly interacts with DuckDB's core functionalities, enabling complex or high-performance implementations when necessary. This dual-layer approach ensures that NimDrake caters to both beginners and advanced users.

Example:

import src/nimdrake
let duck = newDatabase().connect()

let outcome = duck
  .execute(
    """ SELECT seq AS int_col, 'Value_' || seq::VARCHAR AS varchar_col FROM generate_series(1,3) AS t(seq) """
  )
  .fetchAll()
assert @[1'i64, 2'i64, 3'i64] == outcome[0].valueBigint
assert @["Value_1", "Value_2", "Value_3"] == outcome[1].valueVarchar

Exports

=destroy, ValidityMask, newLogicalType, LogicalType, newDuckType, Column, =destroy, =dup, Vector, isValid, setValidity, ==, toBase, =copy, BITS_PER_VALUE, toEnum, toTime, toBase, =destroy, toBase, PendingQueryResult, $, QueryResult, newLogicalType, DuckType, newValidityMask, Timestamp, format, newValidityMask, Value, toBase, newDuckType, SECONDS_PER_DAY, newDuckType, STRING_INLINE_LENGTH, newDuckType, =destroy, Statement, newDuckType, $, toBase, =copy, newConfig, newConfig, ConfigValues, setConfig, =destroy, =dup, toBase, Config, struct_duckdb_extension_info, struct_duckdb_string_t, duckdb_init_get_extra_info, duckdb_vector_ensure_validity_writable, struct_duckdb_profiling_info, duckdb_state, duckdb_create_uint64, duckdb_array_vector_get_child, duckdb_get_int8, duckdb_init_info, duckdb_execute_prepared_streaming, duckdb_cast_function_set_extra_info, duckdb_init_get_column_index, struct_duckdb_init_info, duckdb_get_hugeint, duckdb_bind_float, duckdb_append_int16, struct_duckdb_replacement_scan_info, duckdb_destroy_logical_type, duckdb_replacement_callback_t, duckdb_create_timestamp_s, duckdb_scalar_function_bind_set_error, duckdb_library_version, duckdb_data_chunk_get_column_count, duckdb_cast_function_set_function, duckdb_replacement_scan_add_parameter, duckdb_value_uint16, duckdb_validity_set_row_invalid, duckdb_get_uuid, duckdb_from_time_tz, duckdb_create_decimal_type, duckdb_value_uhugeint, duckdb_row_count, duckdb_create_uint16, duckdb_scalar_function_add_parameter, duckdb_destroy_value, duckdb_get_timestamp_s, struct_duckdb_query_progress_type, duckdb_aggregate_combine_t, duckdb_value_time, duckdb_create_union_value, duckdb_destroy_table_function, duckdb_append_double, duckdb_validity_row_is_valid, duckdb_aggregate_state_size, duckdb_create_hugeint, duckdb_uhugeint_to_double, duckdb_get_int16, duckdb_bind_value, duckdb_destroy_extracted, duckdb_logical_type, duckdb_bind_blob, duckdb_table_function_set_bind, duckdb_cast_function_set_error, duckdb_scalar_function_set_extra_info, duckdb_slice_vector, duckdb_create_int64, duckdb_to_timestamp, duckdb_value_to_string, duckdb_append_uhugeint, struct_duckdb_function_info, duckdb_from_date, duckdb_bind_int8, duckdb_profiling_info_get_child_count, duckdb_appender_column_count, duckdb_create_logical_type, struct_duckdb_string_t_value_t, duckdb_value_double, enum_duckdb_result_type_2181038542, duckdb_table_function_set_local_init, duckdb_append_interval, duckdb_append_default, duckdb_create_bool, duckdb_double_to_hugeint, duckdb_param_logical_type, duckdb_appender_end_row, duckdb_create_varchar, duckdb_get_bool, duckdb_create_uint32, duckdb_bind_hugeint, duckdb_get_float, duckdb_table_description, struct_duckdb_aggregate_function, duckdb_bind_varchar_length, duckdb_append_uint32, duckdb_bind_uhugeint, duckdb_append_date, enum_duckdb_state, duckdb_create_type_info, duckdb_profiling_info_get_value, duckdb_prepare, duckdb_value_int32, duckdb_parameter_name, duckdb_function_info, duckdb_bind_timestamp, duckdb_list_vector_get_size, struct_duckdb_decimal, duckdb_value_int64, duckdb_value_date, duckdb_cast_function_set_target_type, duckdb_config_count, duckdb_cast_mode, duckdb_validity_set_row_validity, duckdb_aggregate_function_set_functions, duckdb_init_set_error, duckdb_aggregate_finalize_t, duckdb_query_arrow_array, struct_duckdb_timestamp, duckdb_error_type, duckdb_pending_execute_task, duckdb_destroy_arrow_stream, duckdb_from_timestamp, duckdb_create_list_type, duckdb_create_struct_type, duckdb_bind_parameter_index, struct_duckdb_extension_access, duckdb_create_scalar_function, duckdb_create_varchar_length, duckdb_value_string_internal, duckdb_appender_begin_row, duckdb_interval, duckdb_cast_function_t, duckdb_value_int8, duckdb_scalar_function_set_special_handling, duckdb_data_chunk, duckdb_get_time_tz, duckdb_destroy_scalar_function_set, duckdb_bind_info, duckdb_vector_get_column_type, struct_duckdb_bind_info, duckdb_value_interval, duckdb_connection, duckdb_append_null, duckdb_decimal_width, duckdb_decimal_scale, duckdb_table_function_supports_projection_pushdown, duckdb_arrow_array, duckdb_appender_destroy, duckdb_hugeint_to_double, duckdb_arrow_stream, duckdb_vector_assign_string_element_len, enum_DUCKDB_TYPE_2181038529, duckdb_bind_interval, duckdb_append_uint16, duckdb_bind_int32, duckdb_column_logical_type, duckdb_data_chunk_set_size, duckdb_vector_reference_value, duckdb_task_state, struct_duckdb_date_struct, duckdb_is_finite_date, struct_duckdb_time_struct, struct_duckdb_timestamp_struct, duckdb_value_string, duckdb_bind_set_bind_data, duckdb_timestamp_ns, duckdb_connection_get_client_context, duckdb_stream_fetch_chunk, duckdb_bind_double, duckdb_value_uint64, duckdb_bind_varchar, duckdb_finish_execution, duckdb_get_enum_value, duckdb_map_type_value_type, duckdb_to_date, duckdb_result, duckdb_result_error_type, duckdb_uhugeint, struct_duckdb_scalar_function_set, struct_duckdb_scalar_function, duckdb_cast_function_get_cast_mode, duckdb_extract_statements_error, duckdb_replacement_scan_set_function_name, duckdb_scalar_function_set, duckdb_append_varchar_length, struct_duckdb_connection, duckdb_free, duckdb_scalar_function_set_name, duckdb_cast_function, duckdb_create_int32, duckdb_destroy_arrow, duckdb_open, duckdb_bind_get_extra_info, duckdb_aggregate_function_set_return_type, duckdb_get_varchar, duckdb_bit, duckdb_bind_set_error, duckdb_scalar_function_set_error, duckdb_get_map_key, duckdb_decimal, struct_duckdb_interval, duckdb_statement_type, duckdb_vector_get_data, duckdb_enum_internal_type, duckdb_create_int16, duckdb_value_blob, duckdb_scalar_function_set_varargs, duckdb_get_int64, duckdb_extract_statements, duckdb_array_type_array_size, duckdb_vector_get_validity, struct_duckdb_extracted_statements, struct_duckdb_create_type_info, duckdb_appender_clear_columns, duckdb_create_array_type, duckdb_result_get_chunk, duckdb_create_struct_value, duckdb_appender_close, duckdb_aggregate_function_get_extra_info, duckdb_from_time, struct_duckdb_prepared_statement, duckdb_pending_result, struct_duckdb_table_description, duckdb_is_finite_timestamp, duckdb_create_scalar_function_set, duckdb_union_type_member_type, duckdb_list_entry, duckdb_result_return_type, duckdb_append_float, duckdb_execute_tasks, enum_duckdb_result_type, duckdb_nullmask_data, duckdb_database, duckdb_pending_error, duckdb_result_arrow_array, duckdb_value_is_null, duckdb_value_varchar, duckdb_create_time_tz, duckdb_append_bool, duckdb_get_bit, duckdb_destroy_config, duckdb_get_config_flag, duckdb_create_data_chunk, duckdb_get_timestamp, duckdb_close, duckdb_prepare_extracted_statement, duckdb_result_is_streaming, struct_duckdb_string, duckdb_create_float, duckdb_create_blob, duckdb_time_tz, duckdb_profiling_info_get_child, duckdb_scalar_function_set_return_type, struct_duckdb_blob, duckdb_get_map_size, duckdb_destroy_task_state, duckdb_arrow_column_count, duckdb_varint, duckdb_client_context, duckdb_list_vector_get_child, duckdb_get_interval, duckdb_set_config, duckdb_timestamp_struct, struct_duckdb_client_context, duckdb_bind_date, duckdb_get_list_child, duckdb_enum_dictionary_size, duckdb_table_function_set_function, duckdb_append_uint64, duckdb_fetch_chunk, duckdb_create_date, duckdb_timestamp_s, duckdb_create_uint8, duckdb_get_uint64, duckdb_blob, duckdb_add_replacement_scan, duckdb_data_chunk_get_size, duckdb_get_list_size, duckdb_append_uint8, duckdb_get_blob, duckdb_cast_function_set_source_type, duckdb_value_uint8, duckdb_get_struct_child, duckdb_table_function_add_named_parameter, struct_duckdb_uhugeint, duckdb_create_bit, duckdb_array_type_child_type, duckdb_table_function_set_name, duckdb_data_chunk_reset, duckdb_function_get_extra_info, duckdb_bind_get_parameter_count, duckdb_profiling_info_get_metrics, struct_duckdb_arrow_stream, struct_duckdb_database, duckdb_list_vector_set_size, duckdb_register_scalar_function, duckdb_string_t_length, duckdb_decimal_internal_type, duckdb_connect, idx_t, duckdb_table_function_add_parameter, duckdb_result_type, duckdb_destroy_prepare, duckdb_create_uuid, duckdb_time, enum_duckdb_cast_mode, duckdb_get_date, duckdb_destroy_selection_vector, duckdb_bind_boolean, duckdb_register_aggregate_function_set, duckdb_query_progress_type, duckdb_scalar_function_set_function, duckdb_table_function, duckdb_append_timestamp, duckdb_table_description_create_ext, struct_duckdb_list_entry, duckdb_profiling_info, duckdb_hugeint, struct_duckdb_time_tz, duckdb_destroy_data_chunk, duckdb_cast_function_set_implicit_cast_cost, duckdb_disconnect, duckdb_union_type_member_name, duckdb_create_uhugeint, duckdb_get_varint, enum_DUCKDB_TYPE, enum_duckdb_statement_type, duckdb_bind_time, duckdb_arrow, struct_duckdb_selection_vector, struct_duckdb_timestamp_ms, enum_duckdb_statement_type_2181038546, duckdb_create_task_state, duckdb_open_ext, duckdb_value_float, duckdb_create_map_type, duckdb_scalar_function_set_bind_data, duckdb_logical_type_get_alias, duckdb_column_type, duckdb_config, duckdb_scalar_function_t, struct_duckdb_string_t_value_t_inlined_t, duckdb_destroy_aggregate_function, duckdb_execution_is_finished, duckdb_execute_n_tasks_state, duckdb_get_or_create_from_cache, duckdb_is_finite_timestamp_ns, duckdb_string_t_data, duckdb_selection_vector_get_data_ptr, duckdb_register_aggregate_function, struct_duckdb_pending_result, duckdb_vector_reference_vector, struct_duckdb_aggregate_state, duckdb_result_error, duckdb_value_varchar_internal, duckdb_create_instance_cache, duckdb_string_is_inlined, struct_duckdb_aggregate_function_set, duckdb_get_value_type, duckdb_query_arrow_schema, duckdb_value, duckdb_scalar_function_bind_t, duckdb_scalar_function_get_extra_info, duckdb_column_data, duckdb_destroy_aggregate_function_set, duckdb_appender_create, duckdb_pending_state, duckdb_bind_timestamp_tz, duckdb_destroy_result, duckdb_table_function_init_t, duckdb_extracted_statements, duckdb_column_name, duckdb_query_arrow, duckdb_append_varchar, duckdb_add_scalar_function_to_set, duckdb_get_decimal, duckdb_clear_bindings, duckdb_get_uint32, duckdb_appender_error, enum_duckdb_error_type, duckdb_string_t, duckdb_append_default_to_chunk, duckdb_validity_set_row_valid, duckdb_is_finite_timestamp_ms, enum_duckdb_error_type_2181038550, duckdb_init_get_column_count, duckdb_table_function_set_init, struct_duckdb_hugeint, struct_duckdb_date, duckdb_create_interval, duckdb_aggregate_state, duckdb_register_cast_function, struct_duckdb_time_tz_struct, struct_duckdb_table_function, duckdb_append_value, duckdb_register_logical_type, duckdb_create_decimal, duckdb_list_vector_reserve, duckdb_add_aggregate_function_to_set, duckdb_bind_null, duckdb_table_description_error, duckdb_prepared_arrow_schema, duckdb_aggregate_update_t, duckdb_result_chunk_count, duckdb_create_selection_vector, duckdb_cast_function_set_row_error, duckdb_scalar_function_set_bind, duckdb_bind_int16, duckdb_create_enum_type, duckdb_query, duckdb_aggregate_function_add_parameter, duckdb_query_arrow_error, duckdb_create_table_function, duckdb_column, duckdb_param_type, duckdb_replacement_scan_info, duckdb_destroy_cast_function, duckdb_struct_vector_get_child, duckdb_bind_get_parameter, duckdb_pending_execute_check_state, duckdb_create_cast_function, duckdb_create_timestamp_tz, duckdb_prepare_error, duckdb_list_type_child_type, duckdb_struct_type_child_name, duckdb_appender_column_type, struct_duckdb_result, duckdb_arrow_row_count, duckdb_malloc, struct_duckdb_arrow_schema, duckdb_appender_flush, duckdb_get_table_names, duckdb_aggregate_function_set_destructor, duckdb_create_enum_value, duckdb_prepared_statement, duckdb_function_get_init_data, duckdb_table_function_t, struct_duckdb_column, duckdb_extension_info, duckdb_double_to_uhugeint, duckdb_init_set_max_threads, duckdb_date_struct, duckdb_create_timestamp, duckdb_is_finite_timestamp_s, duckdb_append_hugeint, duckdb_value_decimal, duckdb_get_uhugeint, duckdb_pending_execution_is_finished, duckdb_create_map_value, duckdb_create_int8, duckdb_vector, duckdb_get_type_id, duckdb_append_blob, struct_duckdb_time, duckdb_map_type_key_type, duckdb_scalar_function_get_client_context, struct_duckdb_timestamp_s, duckdb_create_null_value, duckdb_arrow_scan, duckdb_init_set_init_data, duckdb_value_uint32, duckdb_arrow_array_scan, duckdb_vector_size, duckdb_type, duckdb_get_map_value, enum_duckdb_cast_mode_2181038554, duckdb_value_hugeint, duckdb_delete_callback_t, struct_duckdb_timestamp_ns, duckdb_create_timestamp_ms, duckdb_timestamp, duckdb_create_time, duckdb_destroy_scalar_function, duckdb_date, duckdb_prepared_statement_type, duckdb_destroy_pending, duckdb_value_int16, duckdb_task_state_is_finished, enum_duckdb_state_2181038534, duckdb_appender, duckdb_bind_uint16, duckdb_scalar_function_get_bind_data, duckdb_create_array_value, duckdb_register_scalar_function_set, struct_duckdb_arrow_array, duckdb_get_time, duckdb_init_get_bind_data, duckdb_aggregate_init_t, duckdb_append_int32, duckdb_union_type_member_count, duckdb_column_count, duckdb_get_profiling_info, struct_duckdb_bit, duckdb_function_get_bind_data, duckdb_execute_tasks_state, duckdb_string, struct_duckdb_data_chunk, duckdb_logical_type_set_alias, ROW_GROUP_SIZE, duckdb_destroy_client_context, duckdb_column_has_default, duckdb_pending_prepared, sel_t, duckdb_appender_create_ext, duckdb_aggregate_function_set_name, duckdb_table_description_get_column_name, duckdb_register_table_function, duckdb_replacement_scan_set_error, duckdb_destroy_instance_cache, duckdb_vector_assign_string_element, struct_duckdb_config, duckdb_function_set_error, duckdb_create_varint, duckdb_struct_type_child_count, duckdb_aggregate_function_set_special_handling, duckdb_create_aggregate_function, duckdb_arrow_schema, duckdb_aggregate_function_set, enum_duckdb_pending_state_2181038538, duckdb_create_vector, duckdb_table_function_bind_t, duckdb_value_boolean, duckdb_instance_cache, duckdb_bind_decimal, duckdb_query_progress, duckdb_create_double, duckdb_timestamp_ms, duckdb_function_get_local_init_data, duckdb_create_union_type, duckdb_double_to_decimal, struct_duckdb_arrow, duckdb_appender_add_column, struct_duckdb_logical_type, duckdb_aggregate_function, duckdb_create_timestamp_ns, enum_duckdb_pending_state, duckdb_to_time, duckdb_time_tz_struct, duckdb_rows_changed, duckdb_result_statement_type, struct_duckdb_cast_function, duckdb_get_uint8, duckdb_client_context_get_connection_id, duckdb_table_description_create, duckdb_scalar_function, duckdb_bind_uint8, duckdb_aggregate_destroy_t, struct_duckdb_value, duckdb_get_timestamp_ms, struct_duckdb_vector, duckdb_get_timestamp_ns, duckdb_append_int8, duckdb_interrupt, duckdb_nparams, duckdb_get_int32, duckdb_time_struct, duckdb_get_uint16, duckdb_struct_type_child_type, duckdb_create_aggregate_function_set, duckdb_append_int64, duckdb_bind_get_named_parameter, duckdb_create_list_value, duckdb_aggregate_function_set_extra_info, duckdb_data_chunk_get_vector, duckdb_bind_int64, duckdb_destroy_vector, duckdb_bind_uint64, struct_duckdb_appender, duckdb_bind_add_result_column, duckdb_value_timestamp, duckdb_arrow_rows_changed, struct_duckdb_varint, VECTOR_SIZE, duckdb_create_time_tz_value, duckdb_table_function_set_extra_info, duckdb_aggregate_function_set_error, duckdb_bind_set_cardinality, duckdb_is_null_value, duckdb_get_timestamp_tz, duckdb_table_description_destroy, duckdb_append_time, duckdb_selection_vector, duckdb_get_double, duckdb_bind_uint32, duckdb_execute_pending, duckdb_append_data_chunk, duckdb_pending_prepared_streaming, duckdb_scalar_function_set_volatile, duckdb_cast_function_get_extra_info, duckdb_decimal_to_double, duckdb_create_config, struct_duckdb_instance_cache, duckdb_execute_prepared, duckdb_enum_dictionary_value, duckdb_execute_prepared_arrow, =copy, Database, Connection, queryProgress, QueryProgress, =sink, newDatabase, =destroy, =sink, newDatabase, newDatabase, =copy, newDatabase, connect, =destroy, interrupt, len, DataChunk, newDataChunk, []=, setLen, newDataChunk, newDataChunk, toC, [], newDataChunk, toBool, columnCount, []=, AppenderColumn, endRow, Parameter, bindVal, bindVal, bindVal, append, newAppender, =copy, bindVal, execute, toBase, bindVal, append, append, flush, append, append, append, append, append, close, append, toBase, append, bindVal, newAppender, append, bindVal, bindVal, executeTask, append, bindVal, append, append, append, bindVal, bindVal, append, bindVal, append, append, bindVal, =dup, bindVal, toBase, append, bindParameter, append, newAppender, execute, bindVal, toBase, Appender, parameters, Query, execute, bindVal, =destroy, columns, bindVal, execute, newStatement, append, bindVal, append, append, bindVal, bindVal, execute, bindVal, bindVal, append, newPendingResult, $, fetchOneNamed, error, columns, rows, newPendingStreamingResult, df, chunks, fetchAllNamed, fetchOne, isStreaming, error, fetchAll, rowCount, columnCount, chunkCount, newColumn, $, parameters, producer, FunctionInfo, addResultColumn, toNim, parameterCount, toCptr, newTableFunction, addResultColumn, register, InitInfo, TableFunction, toC, BindInfo, scalar, register, newScalarFunction, ScalarFunctionBase, ScalarFunction, newVector, newVector, newVector, []=, newVector, &=, []=, items, newVector, newVector, newVector, newVector, newVector, newVector, newVector, newVector, isValid, vecToValue, [], newVector, []=, $, len, newVector, newVector, newVector, newVector, newVector, newVector, newVector, newVector, newVector, newVector, newVector, newVector, newVector, newVector, newValue, fromHugeInt, toTimestamp, newValue, toTime, newValue, newDuckValue, newValue, newValue, newValue, toDatetime, newValue, DuckStringBase, DuckValue, $, newValue, newValue, $, fromUHugeInt, toUHugeInt, toNativeValue, newValue, newValue, newValue, newValue, newValue, newDuckString, fromDatetime, fromDatetime, toInterval, fromTimestamp, fromTime, toHugeInt, newValue, newValue, newValue, newValue, newValue, DuckString, newValue, newValue, fromTimestamp, fromTime, fromInterval, newValue, newValue, newValue, newValue, newValue, newValue, newValue