28 #ifndef UPS_UPSCALEDB_UQI_H 29 #define UPS_UPSCALEDB_UQI_H 125 const void *key_data,
uint32_t key_size,
126 const void *record_data,
uint32_t record_size);
147 typedef void *(*uqi_plugin_init_function)(
int flags,
int key_type,
149 const char *reserved);
152 #define UQI_STREAM_KEY 1 155 #define UQI_STREAM_RECORD 2 162 const void *key_data,
uint32_t key_size,
163 const void *record_data,
uint32_t record_size);
167 const void *key_data_list,
const void *record_data_list,
175 const void *key_data,
uint32_t key_size,
176 const void *record_data,
uint32_t record_size);
182 #define UQI_PLUGIN_PREDICATE 1 185 #define UQI_PLUGIN_AGGREGATE 2 188 #define UQI_PLUGIN_REQUIRE_BOTH_STREAMS 1 UPS_EXPORT uint32_t UPS_CALLCONV uqi_result_get_record_type(uqi_result_t *result)
void *(* uqi_plugin_init_function)(int flags, int key_type, uint32_t key_size, int record_type, uint32_t record_size, const char *reserved)
uqi_plugin_aggregate_many_function agg_many
uqi_plugin_predicate_function pred
UPS_EXPORT void UPS_CALLCONV uqi_result_get_key(uqi_result_t *result, uint32_t row, ups_key_t *key)
void(* uqi_plugin_cleanup_function)(void *state)
UPS_EXPORT void UPS_CALLCONV uqi_result_add_row(uqi_result_t *result, const void *key_data, uint32_t key_size, const void *record_data, uint32_t record_size)
int(* uqi_plugin_predicate_function)(void *state, const void *key_data, uint32_t key_size, const void *record_data, uint32_t record_size)
UPS_EXPORT void *UPS_CALLCONV uqi_result_get_record_data(uqi_result_t *result, uint32_t *size)
UPS_EXPORT ups_status_t UPS_CALLCONV uqi_select(ups_env_t *env, const char *query, uqi_result_t **result)
uqi_plugin_cleanup_function cleanup
UPS_EXPORT void UPS_CALLCONV uqi_result_get_record(uqi_result_t *result, uint32_t row, ups_record_t *record)
UPS_EXPORT void UPS_CALLCONV uqi_result_close(uqi_result_t *result)
Include file for upscaledb embedded database.
uqi_plugin_aggregate_single_function agg_single
uqi_plugin_init_function init
void(* uqi_plugin_aggregate_many_function)(void *state, const void *key_data_list, const void *record_data_list, size_t list_length)
struct ups_cursor_t ups_cursor_t
UPS_EXPORT uint32_t UPS_CALLCONV uqi_result_get_row_count(uqi_result_t *result)
uqi_plugin_result_function results
void(* uqi_plugin_aggregate_single_function)(void *state, const void *key_data, uint32_t key_size, const void *record_data, uint32_t record_size)
UPS_EXPORT void UPS_CALLCONV uqi_result_move(uqi_result_t *destination, uqi_result_t *source)
UPS_EXPORT uint32_t UPS_CALLCONV uqi_result_get_key_type(uqi_result_t *result)
UPS_EXPORT ups_status_t UPS_CALLCONV uqi_select_range(ups_env_t *env, const char *query, ups_cursor_t *begin, const ups_cursor_t *end, uqi_result_t **result)
UPS_EXPORT void *UPS_CALLCONV uqi_result_get_key_data(uqi_result_t *result, uint32_t *size)
struct uqi_result_t uqi_result_t
UPS_EXPORT ups_status_t UPS_CALLCONV uqi_register_plugin(uqi_plugin_t *descriptor)
void(* uqi_plugin_result_function)(void *state, uqi_result_t *result)
UPS_EXPORT void UPS_CALLCONV uqi_result_initialize(uqi_result_t *result, int key_type, int record_type)
struct ups_env_t ups_env_t