}
}
- vl.time = time (NULL);
sstrncpy (vl.host, q->host, sizeof (vl.host));
sstrncpy (vl.plugin, q->plugin, sizeof (vl.plugin));
sstrncpy (vl.plugin_instance, q->db_name, sizeof (vl.type_instance));
* Query 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)
{
udb_query_t **query_list;
size_t query_list_len;
status = udb_config_set_uint (&q->min_version, child);
else if (strcasecmp ("MaxVersion", child->key) == 0)
status = udb_config_set_uint (&q->max_version, child);
+ /* PostgreSQL compatibility code */
+ else if (strcasecmp ("MinPGVersion", child->key) == 0)
+ {
+ WARNING ("db query utils: Query `%s': The `MinPGVersion' option is "
+ "deprecated. Please use `MinVersion' instead.",
+ q->name);
+ status = udb_config_set_uint (&q->min_version, child);
+ }
+ else if (strcasecmp ("MaxPGVersion", child->key) == 0)
+ {
+ WARNING ("db query utils: Query `%s': The `MaxPGVersion' option is "
+ "deprecated. Please use `MaxVersion' instead.",
+ q->name);
+ status = udb_config_set_uint (&q->max_version, child);
+ }
+ else if (cb != NULL)
+ {
+ status = (*cb) (q, child);
+ if (status != 0)
+ {
+ WARNING ("db query utils: The configuration callback failed "
+ "to handle `%s'.", child->key);
+ }
+ }
else
{
WARNING ("db query utils: Query `%s': Option `%s' not allowed here.",