11#if defined _WIN32 || defined __CYGWIN__
12#define KUZU_HELPER_DLL_IMPORT __declspec(dllimport)
13#define KUZU_HELPER_DLL_EXPORT __declspec(dllexport)
14#define KUZU_HELPER_DLL_LOCAL
15#define KUZU_HELPER_DEPRECATED __declspec(deprecated)
17#define KUZU_HELPER_DLL_IMPORT __attribute__((visibility("default")))
18#define KUZU_HELPER_DLL_EXPORT __attribute__((visibility("default")))
19#define KUZU_HELPER_DLL_LOCAL __attribute__((visibility("hidden")))
20#define KUZU_HELPER_DEPRECATED __attribute__((__deprecated__))
23#ifdef KUZU_STATIC_DEFINE
30#define KUZU_API KUZU_HELPER_DLL_EXPORT
33#define KUZU_API KUZU_HELPER_DLL_IMPORT
39#ifndef KUZU_DEPRECATED
40#define KUZU_DEPRECATED KUZU_HELPER_DEPRECATED
43#ifndef KUZU_DEPRECATED_EXPORT
44#define KUZU_DEPRECATED_EXPORT KUZU_API KUZU_DEPRECATED
57#ifndef ARROW_C_DATA_INTERFACE
58#define ARROW_C_DATA_INTERFACE
60#define ARROW_FLAG_DICTIONARY_ORDERED 1
61#define ARROW_FLAG_NULLABLE 2
62#define ARROW_FLAG_MAP_KEYS_SORTED 4
104#define KUZU_C_API extern "C" KUZU_API
106#define KUZU_C_API KUZU_API
362 uint64_t num_threads);
372 uint64_t* out_result);
412 uint64_t timeout_in_ms);
438 const char* param_name,
bool value);
474 const char* param_name, int8_t value);
643 uint64_t index,
char** out_column_name);
731 int64_t chunk_size,
struct ArrowArray* out_arrow_array);
798 uint64_t* out_result);
1459 struct tm* out_result);
KUZU_C_API char * kuzu_query_result_to_string(kuzu_query_result *query_result)
Returns the query result as a string.
KUZU_C_API kuzu_value * kuzu_value_create_timestamp(kuzu_timestamp_t val_)
Creates a value with timestamp type and the given timestamp value. Caller is responsible for destroyi...
KUZU_C_API kuzu_state kuzu_connection_init(kuzu_database *database, kuzu_connection *out_connection)
Allocates memory and creates a connection to the database. Caller is responsible for calling kuzu_con...
KUZU_C_API bool kuzu_prepared_statement_is_success(kuzu_prepared_statement *prepared_statement)
KUZU_C_API void kuzu_value_get_data_type(kuzu_value *value, kuzu_logical_type *out_type)
Returns internal type of the given value.
KUZU_C_API kuzu_state kuzu_connection_prepare(kuzu_connection *connection, const char *query, kuzu_prepared_statement *out_prepared_statement)
Prepares the given query and returns the prepared statement.
KUZU_C_API bool kuzu_query_result_has_next(kuzu_query_result *query_result)
Returns true if we have not consumed all tuples in the query result, false otherwise.
KUZU_C_API kuzu_state kuzu_timestamp_sec_from_tm(struct tm tm, kuzu_timestamp_sec_t *out_result)
Convert tm struct to timestamp_sec value.
KUZU_C_API kuzu_state kuzu_node_val_get_property_size(kuzu_value *node_val, uint64_t *out_value)
Returns the number of properties of the given node value.
KUZU_C_API kuzu_value * kuzu_value_create_internal_id(kuzu_internal_id_t val_)
Creates a value with internal_id type and the given internal_id value. Caller is responsible for dest...
KUZU_C_API double kuzu_query_summary_get_compiling_time(kuzu_query_summary *query_summary)
Returns the compilation time of the given query summary in milliseconds.
KUZU_C_API bool kuzu_value_is_null(kuzu_value *value)
Returns true if the given value is NULL, false otherwise.
KUZU_C_API kuzu_state kuzu_query_result_get_next(kuzu_query_result *query_result, kuzu_flat_tuple *out_flat_tuple)
Returns the next tuple in the query result. Throws an exception if there is no more tuple.
KUZU_C_API kuzu_state kuzu_connection_set_max_num_thread_for_exec(kuzu_connection *connection, uint64_t num_threads)
Sets the maximum number of threads to use for executing queries.
KUZU_C_API kuzu_value * kuzu_value_create_interval(kuzu_interval_t val_)
Creates a value with interval type and the given interval value. Caller is responsible for destroying...
KUZU_C_API void kuzu_data_type_destroy(kuzu_logical_type *data_type)
Destroys the given data type instance.
KUZU_C_API kuzu_state kuzu_value_get_struct_field_value(kuzu_value *value, uint64_t index, kuzu_value *out_value)
Returns the field value at index of the given struct value. The value must be of physical type STRUCT...
KUZU_C_API kuzu_state kuzu_timestamp_tz_to_tm(kuzu_timestamp_tz_t timestamp, struct tm *out_result)
Convert timestamp_tz to corresponding tm struct.
KUZU_C_API kuzu_state kuzu_value_get_float(kuzu_value *value, float *out_result)
Returns the float value of the given value. The value must be of type FLOAT.
KUZU_C_API kuzu_state kuzu_database_init(const char *database_path, kuzu_system_config system_config, kuzu_database *out_database)
Allocates memory and creates a kuzu database instance at database_path with bufferPoolSize=buffer_poo...
KUZU_C_API kuzu_state kuzu_rel_val_get_src_id_val(kuzu_value *rel_val, kuzu_value *out_value)
Returns the internal id value of the source node of the given rel value as a kuzu value.
KUZU_C_API void kuzu_query_summary_destroy(kuzu_query_summary *query_summary)
Destroys the given query summary.
KUZU_C_API kuzu_value * kuzu_value_create_timestamp_sec(kuzu_timestamp_sec_t val_)
Creates a value with timestamp_sec type and the given timestamp value. Caller is responsible for dest...
KUZU_C_API kuzu_state kuzu_connection_execute(kuzu_connection *connection, kuzu_prepared_statement *prepared_statement, kuzu_query_result *out_query_result)
Executes the prepared_statement using connection.
KUZU_C_API kuzu_state kuzu_query_result_get_column_data_type(kuzu_query_result *query_result, uint64_t index, kuzu_logical_type *out_column_data_type)
Returns the data type of the column at the given index.
KUZU_C_API kuzu_state kuzu_rel_val_get_property_size(kuzu_value *rel_val, uint64_t *out_value)
Returns the number of properties of the given rel value.
KUZU_C_API kuzu_state kuzu_value_get_int32(kuzu_value *value, int32_t *out_result)
Returns the int32 value of the given value. The value must be of type INT32.
KUZU_C_API char * kuzu_prepared_statement_get_error_message(kuzu_prepared_statement *prepared_statement)
KUZU_C_API kuzu_state kuzu_prepared_statement_bind_int64(kuzu_prepared_statement *prepared_statement, const char *param_name, int64_t value)
Binds the given int64_t value to the given parameter name in the prepared statement.
KUZU_C_API char * kuzu_get_version()
Returns the version of the Kùzu library.
KUZU_C_API void kuzu_prepared_statement_destroy(kuzu_prepared_statement *prepared_statement)
Destroys the prepared statement instance and frees the allocated memory.
KUZU_C_API kuzu_state kuzu_int128_t_to_string(kuzu_int128_t val, char **out_result)
convert int128 to corresponding string.
KUZU_C_API kuzu_state kuzu_value_get_int128(kuzu_value *value, kuzu_int128_t *out_result)
Returns the int128 value of the given value. The value must be of type INT128.
KUZU_C_API void kuzu_query_result_reset_iterator(kuzu_query_result *query_result)
Resets the iterator of the query result to the beginning of the query result.
KUZU_C_API kuzu_state kuzu_value_get_uint32(kuzu_value *value, uint32_t *out_result)
Returns the uint32 value of the given value. The value must be of type UINT32.
KUZU_C_API kuzu_state kuzu_value_get_map_key(kuzu_value *value, uint64_t index, kuzu_value *out_key)
Returns the key at index of the given map value. The value must be of physical type MAP.
KUZU_C_API void kuzu_destroy_string(char *str)
Destroys any string created by the Kùzu C API, including both the error message and the values return...
KUZU_C_API kuzu_state kuzu_timestamp_ns_to_tm(kuzu_timestamp_ns_t timestamp, struct tm *out_result)
Convert timestamp_ns to corresponding tm struct.
KUZU_C_API kuzu_state kuzu_value_get_uint16(kuzu_value *value, uint16_t *out_result)
Returns the uint16 value of the given value. The value must be of type UINT16.
KUZU_C_API kuzu_state kuzu_prepared_statement_bind_bool(kuzu_prepared_statement *prepared_statement, const char *param_name, bool value)
Binds the given boolean value to the given parameter name in the prepared statement.
kuzu_data_type_id
enum class for kuzu internal dataTypes.
Definition kuzu.h:273
@ KUZU_UINT64
Definition kuzu.h:287
@ KUZU_INT16
Definition kuzu.h:285
@ KUZU_UINT16
Definition kuzu.h:289
@ KUZU_UUID
Definition kuzu.h:312
@ KUZU_DOUBLE
Definition kuzu.h:292
@ KUZU_TIMESTAMP_MS
Definition kuzu.h:297
@ KUZU_INT8
Definition kuzu.h:286
@ KUZU_DECIMAL
Definition kuzu.h:301
@ KUZU_NODE
Definition kuzu.h:275
@ KUZU_BLOB
Definition kuzu.h:305
@ KUZU_TIMESTAMP_SEC
Definition kuzu.h:296
@ KUZU_STRING
Definition kuzu.h:304
@ KUZU_TIMESTAMP_TZ
Definition kuzu.h:299
@ KUZU_TIMESTAMP
Definition kuzu.h:295
@ KUZU_INTERNAL_ID
Definition kuzu.h:302
@ KUZU_MAP
Definition kuzu.h:309
@ KUZU_REL
Definition kuzu.h:276
@ KUZU_UNION
Definition kuzu.h:310
@ KUZU_UINT32
Definition kuzu.h:288
@ KUZU_INTERVAL
Definition kuzu.h:300
@ KUZU_ARRAY
Definition kuzu.h:307
@ KUZU_POINTER
Definition kuzu.h:311
@ KUZU_INT64
Definition kuzu.h:283
@ KUZU_BOOL
Definition kuzu.h:282
@ KUZU_RECURSIVE_REL
Definition kuzu.h:277
@ KUZU_STRUCT
Definition kuzu.h:308
@ KUZU_ANY
Definition kuzu.h:274
@ KUZU_INT32
Definition kuzu.h:284
@ KUZU_UINT8
Definition kuzu.h:290
@ KUZU_LIST
Definition kuzu.h:306
@ KUZU_INT128
Definition kuzu.h:291
@ KUZU_TIMESTAMP_NS
Definition kuzu.h:298
@ KUZU_FLOAT
Definition kuzu.h:293
@ KUZU_SERIAL
Definition kuzu.h:280
@ KUZU_DATE
Definition kuzu.h:294
KUZU_C_API void kuzu_database_destroy(kuzu_database *database)
Destroys the kuzu database instance and frees the allocated memory.
KUZU_C_API kuzu_state kuzu_prepared_statement_bind_float(kuzu_prepared_statement *prepared_statement, const char *param_name, float value)
Binds the given float value to the given parameter name in the prepared statement.
KUZU_C_API kuzu_system_config kuzu_default_system_config()
KUZU_C_API kuzu_state kuzu_value_get_blob(kuzu_value *value, uint8_t **out_result)
Returns the blob value of the given value. The returned buffer is null-terminated similar to a string...
KUZU_C_API kuzu_state kuzu_timestamp_ms_to_tm(kuzu_timestamp_ms_t timestamp, struct tm *out_result)
Convert timestamp_ms to corresponding tm struct.
#define KUZU_C_API
Definition kuzu.h:106
KUZU_C_API void kuzu_interval_from_difftime(double difftime, kuzu_interval_t *out_result)
Convert difftime value in seconds to interval.
KUZU_C_API kuzu_state kuzu_value_get_internal_id(kuzu_value *value, kuzu_internal_id_t *out_result)
Returns the internal id value of the given value. The value must be of type INTERNAL_ID.
KUZU_C_API kuzu_state kuzu_value_get_int16(kuzu_value *value, int16_t *out_result)
Returns the int16 value of the given value. The value must be of type INT16.
KUZU_C_API kuzu_state kuzu_date_from_tm(struct tm tm, kuzu_date_t *out_result)
Convert tm struct to date value.
KUZU_C_API void kuzu_query_result_destroy(kuzu_query_result *query_result)
Destroys the given query result instance.
KUZU_C_API kuzu_value * kuzu_value_create_timestamp_tz(kuzu_timestamp_tz_t val_)
Creates a value with timestamp_tz type and the given timestamp value. Caller is responsible for destr...
KUZU_C_API kuzu_state kuzu_prepared_statement_bind_timestamp_tz(kuzu_prepared_statement *prepared_statement, const char *param_name, kuzu_timestamp_tz_t value)
Binds the given timestamp_tz value to the given parameter name in the prepared statement.
KUZU_C_API kuzu_state kuzu_value_get_bool(kuzu_value *value, bool *out_result)
Returns the boolean value of the given value. The value must be of type BOOL.
KUZU_C_API bool kuzu_query_result_is_success(kuzu_query_result *query_result)
Returns true if the query is executed successful, false otherwise.
KUZU_C_API kuzu_state kuzu_query_result_get_arrow_schema(kuzu_query_result *query_result, struct ArrowSchema *out_schema)
Returns the query result's schema as ArrowSchema.
KUZU_C_API kuzu_state kuzu_prepared_statement_bind_string(kuzu_prepared_statement *prepared_statement, const char *param_name, const char *value)
Binds the given string value to the given parameter name in the prepared statement.
kuzu_state
enum class for kuzu function return state.
Definition kuzu.h:318
@ KuzuSuccess
Definition kuzu.h:318
@ KuzuError
Definition kuzu.h:318
KUZU_C_API kuzu_value * kuzu_value_create_int64(int64_t val_)
Creates a value with int64 type and the given int64 value. Caller is responsible for destroying the r...
KUZU_C_API void kuzu_data_type_create(kuzu_data_type_id id, kuzu_logical_type *child_type, uint64_t num_elements_in_array, kuzu_logical_type *out_type)
Creates a data type instance with the given id, childType and num_elements_in_array....
KUZU_C_API kuzu_value * kuzu_value_create_timestamp_ms(kuzu_timestamp_ms_t val_)
Creates a value with timestamp_ms type and the given timestamp value. Caller is responsible for destr...
KUZU_C_API kuzu_state kuzu_value_get_map_size(kuzu_value *value, uint64_t *out_result)
Returns the size of the given map value. The value must be of type MAP.
KUZU_C_API kuzu_state kuzu_prepared_statement_bind_int16(kuzu_prepared_statement *prepared_statement, const char *param_name, int16_t value)
Binds the given int16_t value to the given parameter name in the prepared statement.
KUZU_C_API kuzu_state kuzu_value_get_recursive_rel_rel_list(kuzu_value *value, kuzu_value *out_value)
Returns the list of rels for recursive rel value. The value must be of type RECURSIVE_REL.
KUZU_C_API kuzu_state kuzu_value_get_date(kuzu_value *value, kuzu_date_t *out_result)
Returns the date value of the given value. The value must be of type DATE.
KUZU_C_API kuzu_state kuzu_value_get_interval(kuzu_value *value, kuzu_interval_t *out_result)
Returns the interval value of the given value. The value must be of type INTERVAL.
KUZU_C_API kuzu_state kuzu_value_get_timestamp_tz(kuzu_value *value, kuzu_timestamp_tz_t *out_result)
Returns the timestamp_tz value of the given value. The value must be of type TIMESTAMP_TZ.
KUZU_C_API kuzu_state kuzu_query_result_get_query_summary(kuzu_query_result *query_result, kuzu_query_summary *out_query_summary)
Returns the query summary of the query result.
KUZU_C_API kuzu_state kuzu_value_get_struct_field_name(kuzu_value *value, uint64_t index, char **out_result)
Returns the field name at index of the given struct value. The value must be of physical type STRUCT ...
KUZU_C_API kuzu_state kuzu_prepared_statement_bind_timestamp_ns(kuzu_prepared_statement *prepared_statement, const char *param_name, kuzu_timestamp_ns_t value)
Binds the given timestamp_ns value to the given parameter name in the prepared statement.
KUZU_C_API void kuzu_connection_destroy(kuzu_connection *connection)
Destroys the connection instance and frees the allocated memory.
KUZU_C_API kuzu_state kuzu_connection_get_max_num_thread_for_exec(kuzu_connection *connection, uint64_t *out_result)
Returns the maximum number of threads of the connection to use for executing queries.
KUZU_C_API uint64_t kuzu_get_storage_version()
Returns the storage version of the Kùzu library.
KUZU_C_API kuzu_state kuzu_prepared_statement_bind_int32(kuzu_prepared_statement *prepared_statement, const char *param_name, int32_t value)
Binds the given int32_t value to the given parameter name in the prepared statement.
KUZU_C_API kuzu_state kuzu_node_val_to_string(kuzu_value *node_val, char **out_result)
Converts the given node value to string.
KUZU_C_API kuzu_state kuzu_rel_val_get_property_name_at(kuzu_value *rel_val, uint64_t index, char **out_result)
Returns the property name of the given rel value at the given index.
KUZU_C_API kuzu_state kuzu_value_create_map(uint64_t num_fields, kuzu_value **keys, kuzu_value **values, kuzu_value **out_value)
Creates a map value with the given number of fields and the given keys and values....
KUZU_C_API kuzu_state kuzu_value_get_timestamp_sec(kuzu_value *value, kuzu_timestamp_sec_t *out_result)
Returns the timestamp_sec value of the given value. The value must be of type TIMESTAMP_SEC.
KUZU_C_API kuzu_state kuzu_rel_val_get_label_val(kuzu_value *rel_val, kuzu_value *out_value)
Returns the label value of the given rel value.
KUZU_C_API kuzu_state kuzu_timestamp_ns_from_tm(struct tm tm, kuzu_timestamp_ns_t *out_result)
Convert tm struct to timestamp_ns value.
KUZU_C_API kuzu_value * kuzu_value_create_bool(bool val_)
Creates a value with boolean type and the given bool value. Caller is responsible for destroying the ...
KUZU_C_API kuzu_state kuzu_value_get_int64(kuzu_value *value, int64_t *out_result)
Returns the int64 value of the given value. The value must be of type INT64 or SERIAL.
KUZU_C_API double kuzu_query_summary_get_execution_time(kuzu_query_summary *query_summary)
Returns the execution time of the given query summary in milliseconds.
KUZU_C_API kuzu_state kuzu_node_val_get_label_val(kuzu_value *node_val, kuzu_value *out_value)
Returns the label value of the given node value as a label value.
KUZU_C_API kuzu_state kuzu_node_val_get_property_value_at(kuzu_value *node_val, uint64_t index, kuzu_value *out_value)
Returns the property value of the given node value at the given index.
KUZU_C_API kuzu_state kuzu_node_val_get_id_val(kuzu_value *node_val, kuzu_value *out_value)
Returns the internal id value of the given node value as a kuzu value.
KUZU_C_API kuzu_state kuzu_prepared_statement_bind_interval(kuzu_prepared_statement *prepared_statement, const char *param_name, kuzu_interval_t value)
Binds the given interval value to the given parameter name in the prepared statement.
KUZU_C_API kuzu_value * kuzu_value_create_uint16(uint16_t val_)
Creates a value with uint16 type and the given uint16 value. Caller is responsible for destroying the...
KUZU_C_API void kuzu_data_type_clone(kuzu_logical_type *data_type, kuzu_logical_type *out_type)
Creates a new data type instance by cloning the given data type instance.
KUZU_C_API kuzu_state kuzu_timestamp_tz_from_tm(struct tm tm, kuzu_timestamp_tz_t *out_result)
Convert tm struct to timestamp_tz value.
KUZU_C_API kuzu_state kuzu_date_from_string(const char *str, kuzu_date_t *out_result)
Convert a string to date value.
KUZU_C_API void kuzu_value_copy(kuzu_value *value, kuzu_value *other)
Copies the other value to the value.
KUZU_C_API kuzu_state kuzu_value_get_string(kuzu_value *value, char **out_result)
Returns the string value of the given value. The value must be of type STRING.
KUZU_C_API kuzu_state kuzu_prepared_statement_bind_value(kuzu_prepared_statement *prepared_statement, const char *param_name, kuzu_value *value)
Binds the given kuzu value to the given parameter name in the prepared statement.
KUZU_C_API kuzu_value * kuzu_value_create_double(double val_)
Creates a value with double type and the given double value. Caller is responsible for destroying the...
KUZU_C_API kuzu_value * kuzu_value_create_string(const char *val_)
Creates a value with string type and the given string value. Caller is responsible for destroying the...
KUZU_C_API kuzu_state kuzu_value_create_list(uint64_t num_elements, kuzu_value **elements, kuzu_value **out_value)
Creates a list value with the given number of elements and the given elements. The caller needs to ma...
KUZU_C_API kuzu_value * kuzu_value_create_default(kuzu_logical_type *data_type)
Creates a value of the given data type with default non-NULL value. Caller is responsible for destroy...
KUZU_C_API kuzu_state kuzu_value_get_timestamp_ns(kuzu_value *value, kuzu_timestamp_ns_t *out_result)
Returns the timestamp_ns value of the given value. The value must be of type TIMESTAMP_NS.
KUZU_C_API uint64_t kuzu_query_result_get_num_columns(kuzu_query_result *query_result)
Returns the number of columns in the query result.
KUZU_C_API kuzu_state kuzu_value_get_uuid(kuzu_value *value, char **out_result)
Returns the uuid value of the given value. to a string. The value must be of type UUID.
KUZU_C_API kuzu_state kuzu_rel_val_get_property_value_at(kuzu_value *rel_val, uint64_t index, kuzu_value *out_value)
Returns the property of the given rel value at the given index as kuzu value.
KUZU_C_API kuzu_state kuzu_value_get_int8(kuzu_value *value, int8_t *out_result)
Returns the int8 value of the given value. The value must be of type INT8.
KUZU_C_API kuzu_value * kuzu_value_create_int32(int32_t val_)
Creates a value with int32 type and the given int32 value. Caller is responsible for destroying the r...
KUZU_C_API kuzu_state kuzu_prepared_statement_bind_timestamp_sec(kuzu_prepared_statement *prepared_statement, const char *param_name, kuzu_timestamp_sec_t value)
Binds the given timestamp_sec value to the given parameter name in the prepared statement.
KUZU_C_API kuzu_state kuzu_prepared_statement_bind_uint64(kuzu_prepared_statement *prepared_statement, const char *param_name, uint64_t value)
Binds the given uint64_t value to the given parameter name in the prepared statement.
KUZU_C_API kuzu_state kuzu_value_get_map_value(kuzu_value *value, uint64_t index, kuzu_value *out_value)
Returns the field value at index of the given map value. The value must be of physical type MAP.
KUZU_C_API kuzu_state kuzu_int128_t_from_string(const char *str, kuzu_int128_t *out_result)
convert a string to int128 value.
KUZU_C_API kuzu_value * kuzu_value_create_float(float val_)
Creates a value with float type and the given float value. Caller is responsible for destroying the r...
KUZU_C_API kuzu_state kuzu_value_get_uint64(kuzu_value *value, uint64_t *out_result)
Returns the uint64 value of the given value. The value must be of type UINT64.
KUZU_C_API void kuzu_flat_tuple_destroy(kuzu_flat_tuple *flat_tuple)
Destroys the given flat tuple instance.
KUZU_C_API void kuzu_connection_interrupt(kuzu_connection *connection)
Interrupts the current query execution in the connection.
KUZU_C_API kuzu_state kuzu_value_get_struct_num_fields(kuzu_value *value, uint64_t *out_result)
Returns the number of fields of the given struct value. The value must be of type STRUCT.
KUZU_C_API kuzu_value * kuzu_value_clone(kuzu_value *value)
Creates a new value based on the given value. Caller is responsible for destroying the returned value...
KUZU_C_API kuzu_value * kuzu_value_create_uint32(uint32_t val_)
Creates a value with uint32 type and the given uint32 value. Caller is responsible for destroying the...
KUZU_C_API kuzu_state kuzu_prepared_statement_bind_timestamp(kuzu_prepared_statement *prepared_statement, const char *param_name, kuzu_timestamp_t value)
Binds the given timestamp value to the given parameter name in the prepared statement.
KUZU_C_API kuzu_state kuzu_timestamp_to_tm(kuzu_timestamp_t timestamp, struct tm *out_result)
Convert timestamp to corresponding tm struct.
KUZU_C_API kuzu_state kuzu_query_result_get_next_arrow_chunk(kuzu_query_result *query_result, int64_t chunk_size, struct ArrowArray *out_arrow_array)
Returns the next chunk of the query result as ArrowArray.
KUZU_C_API char * kuzu_query_result_get_error_message(kuzu_query_result *query_result)
Returns the error message if the query is failed.
KUZU_C_API kuzu_state kuzu_data_type_get_num_elements_in_array(kuzu_logical_type *data_type, uint64_t *out_result)
Returns the number of elements for array.
KUZU_C_API kuzu_state kuzu_timestamp_from_tm(struct tm tm, kuzu_timestamp_t *out_result)
Convert timestamp_ns to corresponding string.
KUZU_C_API kuzu_state kuzu_flat_tuple_get_value(kuzu_flat_tuple *flat_tuple, uint64_t index, kuzu_value *out_value)
Returns the value at index of the flat tuple.
KUZU_C_API kuzu_state kuzu_date_to_string(kuzu_date_t date, char **out_result)
Convert date to corresponding string.
KUZU_C_API kuzu_state kuzu_prepared_statement_bind_date(kuzu_prepared_statement *prepared_statement, const char *param_name, kuzu_date_t value)
Binds the given date value to the given parameter name in the prepared statement.
KUZU_C_API void kuzu_interval_to_difftime(kuzu_interval_t interval, double *out_result)
Convert interval to corresponding difftime value in seconds.
KUZU_C_API kuzu_state kuzu_prepared_statement_bind_uint16(kuzu_prepared_statement *prepared_statement, const char *param_name, uint16_t value)
Binds the given uint16_t value to the given parameter name in the prepared statement.
KUZU_C_API char * kuzu_flat_tuple_to_string(kuzu_flat_tuple *flat_tuple)
Converts the flat tuple to a string.
KUZU_C_API kuzu_state kuzu_value_get_decimal_as_string(kuzu_value *value, char **out_result)
Returns the decimal value of the given value as a string. The value must be of type DECIMAL.
KUZU_C_API kuzu_value * kuzu_value_create_uint64(uint64_t val_)
Creates a value with uint64 type and the given uint64 value. Caller is responsible for destroying the...
KUZU_C_API kuzu_value * kuzu_value_create_date(kuzu_date_t val_)
Creates a value with date type and the given date value. Caller is responsible for destroying the ret...
KUZU_C_API kuzu_state kuzu_value_get_list_size(kuzu_value *value, uint64_t *out_result)
Returns the number of elements per list of the given value. The value must be of type ARRAY.
KUZU_C_API kuzu_state kuzu_value_get_timestamp_ms(kuzu_value *value, kuzu_timestamp_ms_t *out_result)
Returns the timestamp_ms value of the given value. The value must be of type TIMESTAMP_MS.
KUZU_C_API kuzu_state kuzu_value_get_double(kuzu_value *value, double *out_result)
Returns the double value of the given value. The value must be of type DOUBLE.
KUZU_C_API kuzu_state kuzu_query_result_get_next_query_result(kuzu_query_result *query_result, kuzu_query_result *out_next_query_result)
Returns the next query result. Use this function to loop multiple query statements' results.
KUZU_C_API kuzu_value * kuzu_value_create_null_with_data_type(kuzu_logical_type *data_type)
Creates a value of the given data type. Caller is responsible for destroying the returned value.
KUZU_C_API kuzu_state kuzu_value_get_timestamp(kuzu_value *value, kuzu_timestamp_t *out_result)
Returns the timestamp value of the given value. The value must be of type TIMESTAMP.
KUZU_C_API char * kuzu_value_to_string(kuzu_value *value)
Converts the given value to string.
KUZU_C_API kuzu_state kuzu_prepared_statement_bind_double(kuzu_prepared_statement *prepared_statement, const char *param_name, double value)
Binds the given double value to the given parameter name in the prepared statement.
KUZU_C_API kuzu_data_type_id kuzu_data_type_get_id(kuzu_logical_type *data_type)
Returns the enum type id of the given data type.
KUZU_C_API kuzu_state kuzu_value_create_struct(uint64_t num_fields, const char **field_names, kuzu_value **field_values, kuzu_value **out_value)
Creates a struct value with the given number of fields and the given field names and values....
KUZU_C_API kuzu_state kuzu_query_result_get_column_name(kuzu_query_result *query_result, uint64_t index, char **out_column_name)
Returns the column name at the given index.
KUZU_C_API kuzu_state kuzu_timestamp_sec_to_tm(kuzu_timestamp_sec_t timestamp, struct tm *out_result)
Convert timestamp_sec to corresponding tm struct.
KUZU_C_API kuzu_state kuzu_timestamp_ms_from_tm(struct tm tm, kuzu_timestamp_ms_t *out_result)
Convert tm struct to timestamp_ms value.
KUZU_C_API kuzu_state kuzu_connection_set_query_timeout(kuzu_connection *connection, uint64_t timeout_in_ms)
Sets query timeout value in milliseconds for the connection.
KUZU_C_API kuzu_state kuzu_rel_val_get_dst_id_val(kuzu_value *rel_val, kuzu_value *out_value)
Returns the internal id value of the destination node of the given rel value as a kuzu value.
KUZU_C_API kuzu_value * kuzu_value_create_int128(kuzu_int128_t val_)
Creates a value with int128 type and the given int128 value. Caller is responsible for destroying the...
KUZU_C_API kuzu_state kuzu_value_get_recursive_rel_node_list(kuzu_value *value, kuzu_value *out_value)
Returns the list of nodes for recursive rel value. The value must be of type RECURSIVE_REL.
KUZU_C_API kuzu_state kuzu_prepared_statement_bind_uint32(kuzu_prepared_statement *prepared_statement, const char *param_name, uint32_t value)
Binds the given uint32_t value to the given parameter name in the prepared statement.
KUZU_C_API void kuzu_value_destroy(kuzu_value *value)
Destroys the value.
KUZU_C_API kuzu_value * kuzu_value_create_int8(int8_t val_)
Creates a value with int8 type and the given int8 value. Caller is responsible for destroying the ret...
KUZU_C_API kuzu_state kuzu_value_get_list_element(kuzu_value *value, uint64_t index, kuzu_value *out_value)
Returns the element at index of the given value. The value must be of type LIST.
KUZU_C_API kuzu_state kuzu_date_to_tm(kuzu_date_t date, struct tm *out_result)
Convert date to corresponding tm struct.
KUZU_C_API kuzu_state kuzu_prepared_statement_bind_timestamp_ms(kuzu_prepared_statement *prepared_statement, const char *param_name, kuzu_timestamp_ms_t value)
Binds the given timestamp_ms value to the given parameter name in the prepared statement.
KUZU_C_API kuzu_state kuzu_prepared_statement_bind_int8(kuzu_prepared_statement *prepared_statement, const char *param_name, int8_t value)
Binds the given int8_t value to the given parameter name in the prepared statement.
KUZU_C_API kuzu_state kuzu_node_val_get_property_name_at(kuzu_value *node_val, uint64_t index, char **out_result)
Returns the property name of the given node value at the given index.
KUZU_C_API kuzu_state kuzu_value_get_uint8(kuzu_value *value, uint8_t *out_result)
Returns the uint8 value of the given value. The value must be of type UINT8.
KUZU_C_API void kuzu_destroy_blob(uint8_t *blob)
Destroys any blob created by the Kùzu C API. This function is provided to avoid the inconsistency bet...
KUZU_C_API kuzu_value * kuzu_value_create_null()
Creates a NULL value of ANY type. Caller is responsible for destroying the returned value.
KUZU_C_API kuzu_state kuzu_connection_query(kuzu_connection *connection, const char *query, kuzu_query_result *out_query_result)
Executes the given query and returns the result.
KUZU_C_API kuzu_state kuzu_prepared_statement_bind_uint8(kuzu_prepared_statement *prepared_statement, const char *param_name, uint8_t value)
Binds the given int8_t value to the given parameter name in the prepared statement.
KUZU_C_API uint64_t kuzu_query_result_get_num_tuples(kuzu_query_result *query_result)
Returns the number of tuples in the query result.
KUZU_C_API void kuzu_value_set_null(kuzu_value *value, bool is_null)
Sets the given value to NULL or not.
KUZU_C_API kuzu_value * kuzu_value_create_timestamp_ns(kuzu_timestamp_ns_t val_)
Creates a value with timestamp_ns type and the given timestamp value. Caller is responsible for destr...
KUZU_C_API kuzu_state kuzu_rel_val_to_string(kuzu_value *rel_val, char **out_result)
Converts the given rel value to string.
KUZU_C_API kuzu_value * kuzu_value_create_int16(int16_t val_)
Creates a value with int16 type and the given int16 value. Caller is responsible for destroying the r...
KUZU_C_API kuzu_value * kuzu_value_create_uint8(uint8_t val_)
Creates a value with uint8 type and the given uint8 value. Caller is responsible for destroying the r...
KUZU_C_API bool kuzu_query_result_has_next_query_result(kuzu_query_result *query_result)
Returns true if we have not consumed all query results, false otherwise. Use this function for loop r...
KUZU_C_API bool kuzu_data_type_equals(kuzu_logical_type *data_type1, kuzu_logical_type *data_type2)
Returns true if the given data type is equal to the other data type, false otherwise.
void(* release)(struct ArrowArray *)
Definition kuzu.h:92
void * private_data
Definition kuzu.h:94
int64_t n_children
Definition kuzu.h:86
int64_t null_count
Definition kuzu.h:83
struct ArrowArray ** children
Definition kuzu.h:88
int64_t offset
Definition kuzu.h:84
struct ArrowArray * dictionary
Definition kuzu.h:89
const void ** buffers
Definition kuzu.h:87
int64_t n_buffers
Definition kuzu.h:85
int64_t length
Definition kuzu.h:82
int64_t flags
Definition kuzu.h:69
const char * metadata
Definition kuzu.h:68
int64_t n_children
Definition kuzu.h:70
const char * name
Definition kuzu.h:67
void * private_data
Definition kuzu.h:77
const char * format
Definition kuzu.h:66
struct ArrowSchema * dictionary
Definition kuzu.h:72
void(* release)(struct ArrowSchema *)
Definition kuzu.h:75
struct ArrowSchema ** children
Definition kuzu.h:71
kuzu_connection is used to interact with a Database instance. Each connection is thread-safe....
Definition kuzu.h:143
void * _connection
Definition kuzu.h:144
kuzu_database manages all database components.
Definition kuzu.h:134
void * _database
Definition kuzu.h:135
kuzu internal date type which stores the number of days since 1970-01-01 00:00:00 UTC.
Definition kuzu.h:198
int32_t days
Definition kuzu.h:200
kuzu_flat_tuple stores a vector of values.
Definition kuzu.h:167
void * _flat_tuple
Definition kuzu.h:168
bool _is_owned_by_cpp
Definition kuzu.h:169
int64_t high
Definition kuzu.h:267
uint64_t low
Definition kuzu.h:266
kuzu internal internal_id type which stores the table_id and offset of a node/rel.
Definition kuzu.h:190
uint64_t table_id
Definition kuzu.h:191
uint64_t offset
Definition kuzu.h:192
kuzu internal interval type which stores the months, days and microseconds.
Definition kuzu.h:251
int64_t micros
Definition kuzu.h:254
int32_t months
Definition kuzu.h:252
int32_t days
Definition kuzu.h:253
kuzu_logical_type is the kuzu internal representation of data types.
Definition kuzu.h:175
void * _data_type
Definition kuzu.h:176
kuzu_prepared_statement is a parameterized query which can avoid planning the same query for repeated...
Definition kuzu.h:151
void * _prepared_statement
Definition kuzu.h:152
void * _bound_values
Definition kuzu.h:153
kuzu_query_result stores the result of a query.
Definition kuzu.h:159
void * _query_result
Definition kuzu.h:160
bool _is_owned_by_cpp
Definition kuzu.h:161
kuzu_query_summary stores the execution time, plan, compiling time and query options of a query.
Definition kuzu.h:261
void * _query_summary
Definition kuzu.h:262
Stores runtime configuration for creating or opening a Database.
Definition kuzu.h:112
uint64_t buffer_pool_size
Definition kuzu.h:116
bool read_only
Definition kuzu.h:123
uint64_t max_db_size
Definition kuzu.h:128
uint64_t max_num_threads
Definition kuzu.h:118
bool enable_compression
Definition kuzu.h:120
kuzu internal timestamp_ms type which stores the number of milliseconds since 1970-01-01 00:00:00 UTC...
Definition kuzu.h:216
int64_t value
Definition kuzu.h:218
kuzu internal timestamp_ns type which stores the number of nanoseconds since 1970-01-01 00:00:00 UTC.
Definition kuzu.h:207
int64_t value
Definition kuzu.h:209
kuzu internal timestamp_sec_t type which stores the number of seconds since 1970-01-01 00:00:00 UTC.
Definition kuzu.h:225
int64_t value
Definition kuzu.h:227
kuzu internal timestamp type which stores the number of microseconds since 1970-01-01 00:00:00 UTC.
Definition kuzu.h:243
int64_t value
Definition kuzu.h:245
kuzu internal timestamp_tz type which stores the number of microseconds since 1970-01-01 with timezon...
Definition kuzu.h:234
int64_t value
Definition kuzu.h:236
kuzu_value is used to represent a value with any kuzu internal dataType.
Definition kuzu.h:182
void * _value
Definition kuzu.h:183
bool _is_owned_by_cpp
Definition kuzu.h:184