On Mon, 2012-01-16 at 08:05 -0500, phil@mindfury.net wrote:
Hello.
I'm running v3.3.3 built from source on a Red Hat EL 5.3 machine.
I've been trying to narrow down a problem where hosts sending syslogs to this box aren't showing up in MySQL, so I checked the internal log and found this:
Error running SQL query; type='mysql', host='localhost', port='', user='syslog-ng', database='syslog-ng', error='1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'.3.4_20120113 (date text, facility text, level text, host text, program text, pi\' at line 1', query='CREATE TABLE messages_172.25.3.4_20120113 (date text, facility text, level text, host text, program text, pid text, message text)'
Looks like in MySQL, that table name can be misinterpreted as <database name>.<table name>, the suggestion is to quote the table identifier with backticks. My question is, is there an option for the SQL driver that does this that I'm just not seeing?
I know a workaround would be to ensure the IPs for my hosts reverse map to a name, however it may not be feasible in all situations.
Any pointers would be appreciated.
Currently backticking is not supported by the SQL driver, though probably would make sense. -- Bazsi