mysql plugin: Use the database instance name for identifying read callbacks.
authorSebastian Harl <sh@teamix.net>
Wed, 1 Aug 2012 07:16:34 +0000 (09:16 +0200)
committerSebastian Harl <sh@teamix.net>
Wed, 1 Aug 2012 07:16:34 +0000 (09:16 +0200)
The database instance is specified as argument to the <Database> block.
Without this fix, we cannot specify two database blocks without the
(optional!) 'Database' option as this would result in registering two read
callbacks with the name 'mysql'.

Thanks to Johan Bergström for reporting this on IRC!

src/mysql.c

index 6b63678..32b352b 100644 (file)
@@ -192,9 +192,9 @@ static int mysql_config_database (oconfig_item_t *ci) /* {{{ */
                ud.data = (void *) db;
                ud.free_func = mysql_database_free;
 
-               if (db->database != NULL)
+               if (db->instance != NULL)
                        ssnprintf (cb_name, sizeof (cb_name), "mysql-%s",
-                                       db->database);
+                                       db->instance);
                else
                        sstrncpy (cb_name, "mysql", sizeof (cb_name));