X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Futils_db_query.h;h=6703e924ff14b45aea90e6ab3e1000864233f012;hb=15a21f242308218de9f171123ab7023dd20a1df6;hp=4e12cedd0b7d99e487ce99ad03c02d73951c2eeb;hpb=c4265fb5a792db45b84ed3e2f93b871ac51af3d5;p=collectd.git diff --git a/src/utils_db_query.h b/src/utils_db_query.h index 4e12cedd..6703e924 100644 --- a/src/utils_db_query.h +++ b/src/utils_db_query.h @@ -30,13 +30,20 @@ struct udb_query_s; typedef struct udb_query_s udb_query_t; +typedef int (*udb_query_create_callback_t) (udb_query_t *q, + oconfig_item_t *ci); + /* * Public functions */ int udb_query_create (udb_query_t ***ret_query_list, - size_t *ret_query_list_len, oconfig_item_t *ci); + size_t *ret_query_list_len, oconfig_item_t *ci, + udb_query_create_callback_t cb, int legacy_mode); void udb_query_free (udb_query_t **query_list, size_t query_list_len); +int udb_query_pick_from_list_by_name (const char *name, + udb_query_t **src_list, size_t src_list_len, + udb_query_t ***dst_list, size_t *dst_list_len); int udb_query_pick_from_list (oconfig_item_t *ci, udb_query_t **src_list, size_t src_list_len, udb_query_t ***dst_list, size_t *dst_list_len); @@ -47,6 +54,12 @@ const char *udb_query_get_statement (udb_query_t *q); void udb_query_set_user_data (udb_query_t *q, void *user_data); void *udb_query_get_user_data (udb_query_t *q); +/* + * udb_query_check_version + * + * Returns 0 if the query is NOT suitable for `version' and >0 if the + * query IS suitable. + */ int udb_query_check_version (udb_query_t *q, unsigned int version); int udb_query_prepare_result (udb_query_t *q,