projects
/
collectd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
postgresql: Fixed calculation of a database's max_params_num.
[collectd.git]
/
src
/
dbi.c
diff --git
a/src/dbi.c
b/src/dbi.c
index
ee43602
..
5be9cae
100644
(file)
--- a/
src/dbi.c
+++ b/
src/dbi.c
@@
-356,7
+356,8
@@
static int cdbi_config (oconfig_item_t *ci) /* {{{ */
{
oconfig_item_t *child = ci->children + i;
if (strcasecmp ("Query", child->key) == 0)
{
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
else if (strcasecmp ("Database", child->key) == 0)
cdbi_config_add_database (child);
else
@@
-712,14
+713,25
@@
static int cdbi_read_database (cdbi_database_t *db) /* {{{ */
int success;
int status;
int success;
int status;
+ unsigned int db_version;
+
status = cdbi_connect_database (db);
if (status != 0)
return (status);
assert (db->connection != NULL);
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++)
{
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++;
status = cdbi_read_database_query (db, db->queries[i]);
if (status == 0)
success++;