Many build fixes that turned up with GCC 4.6.
[collectd.git] / src / mysql.c
index ca364b6..bfdbb76 100644 (file)
@@ -24,7 +24,7 @@
  *   Mirko Buffoni <briareos at eswat.org>
  *   Doug MacEachern <dougm at hyperic.com>
  *   Sebastian tokkee Harl <sh at tokkee.org>
- *   Rodolphe QuiĆ©devillel <rquiedeville at bearstech.com>
+ *   Rodolphe QuiĆ©deville <rquiedeville at bearstech.com>
  **/
 
 #include "collectd.h"
@@ -342,7 +342,8 @@ static int mysql_config (oconfig_item_t *ci) /* {{{ */
                else
                        sstrncpy (cb_name, "mysql", sizeof (cb_name));
 
-               plugin_register_complex_read (cb_name, mysql_read,
+               plugin_register_complex_read (/* group = */ NULL, cb_name,
+                                             mysql_read,
                                              /* interval = */ NULL, &ud);
        }
        else
@@ -363,7 +364,11 @@ static MYSQL *getconnection (mysql_database_t *db)
                int err;
                if ((err = mysql_ping (db->con)) != 0)
                {
-                       WARNING ("mysql_ping failed: %s", mysql_error (db->con));
+                       WARNING ("mysql_ping failed for %s: %s",
+                                       (db->instance != NULL)
+                                       ? db->instance
+                                       : "<legacy>",
+                                       mysql_error (db->con));
                        db->state = 0;
                }
                else
@@ -393,7 +398,7 @@ static MYSQL *getconnection (mysql_database_t *db)
        }
        else
        {
-               INFO ("mysql plugin: Sucessfully connected to database %s "
+               INFO ("mysql plugin: Successfully connected to database %s "
                                "at server %s (server version: %s, protocol version: %d)",
                                (db->database != NULL) ? db->database : "<none>",
                                mysql_get_host_info (db->con),
@@ -702,7 +707,6 @@ static int mysql_read (user_data_t *ud)
        MYSQL_RES *res;
        MYSQL_ROW  row;
        char      *query;
-       int        field_num;
 
        unsigned long long qcache_hits          = 0ULL;
        unsigned long long qcache_inserts       = 0ULL;
@@ -738,7 +742,7 @@ static int mysql_read (user_data_t *ud)
        if (res == NULL)
                return (-1);
 
-       field_num = mysql_num_fields (res);
+       mysql_num_fields (res);
        while ((row = mysql_fetch_row (res)))
        {
                char *key;
@@ -747,23 +751,30 @@ static int mysql_read (user_data_t *ud)
                key = row[0];
                val = atoll (row[1]);
 
-               if (strncmp (key, "Com_", 4) == 0)
+               if (strncmp (key, "Com_", 
+                                 strlen ("Com_")) == 0)
                {
                        if (val == 0ULL)
                                continue;
 
                        /* Ignore `prepared statements' */
-                       if (strncmp (key, "Com_stmt_", 9) != 0)
-                               counter_submit ("mysql_commands", key + 4, val, db);
+                       if (strncmp (key, "Com_stmt_", strlen ("Com_stmt_")) != 0)
+                               counter_submit ("mysql_commands", 
+                                               key + strlen ("Com_"), 
+                                               val, db);
                }
-               else if (strncmp (key, "Handler_", 8) == 0)
+               else if (strncmp (key, "Handler_", 
+                                       strlen ("Handler_")) == 0)
                {
                        if (val == 0ULL)
                                continue;
 
-                       counter_submit ("mysql_handler", key + 8, val, db);
+                       counter_submit ("mysql_handler", 
+                                       key + strlen ("Handler_"), 
+                                       val, db);
                }
-               else if (strncmp (key, "Qcache_", 7) == 0)
+               else if (strncmp (key, "Qcache_",
+                                               strlen ("Qcache_")) == 0)
                {
                        if (strcmp (key, "Qcache_hits") == 0)
                                qcache_hits = val;
@@ -776,14 +787,16 @@ static int mysql_read (user_data_t *ud)
                        else if (strcmp (key, "Qcache_queries_in_cache") == 0)
                                qcache_queries_in_cache = (int) val;
                }
-               else if (strncmp (key, "Bytes_", 6) == 0)
+               else if (strncmp (key, "Bytes_", 
+                                       strlen ("Bytes_")) == 0)
                {
                        if (strcmp (key, "Bytes_received") == 0)
                                traffic_incoming += val;
                        else if (strcmp (key, "Bytes_sent") == 0)
                                traffic_outgoing += val;
                }
-               else if (strncmp (key, "Threads_", 8) == 0)
+               else if (strncmp (key, "Threads_", 
+                                               strlen ("Threads_")) == 0)
                {
                        if (strcmp (key, "Threads_running") == 0)
                                threads_running = (int) val;
@@ -794,12 +807,12 @@ static int mysql_read (user_data_t *ud)
                        else if (strcmp (key, "Threads_created") == 0)
                                threads_created = val;
                }
-               else if (strncmp (key, "Table_locks_", 12) == 0)
+               else if (strncmp (key, "Table_locks_",
+                                       strlen ("Table_locks_")) == 0)
                {
-                       if (val == 0ULL)
-                               continue;
-
-                       counter_submit ("mysql_locks", key + 12, val, db);
+                       counter_submit ("mysql_locks",
+                                       key + strlen ("Table_locks_"),
+                                       val, db);
                }
        }
        mysql_free_result (res); res = NULL;