{
oconfig_item_t *child = ci->children + i;
if (strcasecmp ("Query", child->key) == 0)
- udb_query_create (&queries, &queries_num, child);
+ udb_query_create (&queries, &queries_num, child,
+ /* callback = */ NULL, /* legacy mode = */ 0);
else if (strcasecmp ("Database", child->key) == 0)
cdbi_config_add_database (child);
else
int success;
int status;
+ unsigned int db_version;
+
status = cdbi_connect_database (db);
if (status != 0)
return (status);
assert (db->connection != NULL);
+ db_version = dbi_conn_get_engine_version (db->connection);
+ /* TODO: Complain if `db_version == 0' */
+
success = 0;
for (i = 0; i < db->queries_num; i++)
{
+ /* Check if we know the database's version and if so, if this query applies
+ * to that version. */
+ if ((db_version != 0)
+ && (udb_query_check_version (db->queries[i], db_version) == 0))
+ continue;
+
status = cdbi_read_database_query (db, db->queries[i]);
if (status == 0)
success++;