Bug #48561 statements recorded in general log should be concluded
Submitted: 5 Nov 2009 10:36 Modified: 5 Nov 2009 11:50
Reporter: Peter Laursen (Basic Quality Contributor) Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server: General Severity:S2 (Serious)
Version:any OS:Any
Assigned to: CPU Architecture:Any
Tags: qc

[5 Nov 2009 10:36] Peter Laursen
Description:
Start server 

How to repeat:
1) start server with 

--general_log
--slow_query_log
--log-queries-not-using-indexes

2) next

mysql> use test;
mysql> select 1;
mysql> select *
    -> from
    -> test.blah;
mysql> select 99;
mysql>

3) inspect logs

Slow log contains:
..
select *
from
test.blah;
..

General log contains:
..
Query	select *
from
test.blah
..

(note the absence of the DELIMITER (" ; ") in general log.

(bonus question: why is "SELECT <a_constant>" not recorded in general log?)

Suggested fix:
The absence of the DELIMITER makes automated parsing and analysis of the general log practically impossible with multi-line statements.

Would it break anything to add that " ; " ?
[5 Nov 2009 10:47] Peter Laursen
oops .. 

'description' should have read like 'statements recorded in general log should be concluded' (just like synopsis).
[5 Nov 2009 11:22] Peter Laursen
Please ignore 'bonus question'. My mistake!
[5 Nov 2009 11:50] Valeriy Kravchuk
I had verified this with 5.1.41. But I do not know why this is declared a bug. OK, different logs log statements in a different way, using different formats. It is intended, well known and is not a problem by itself, although can be declared inconsistent.

I'd say this a valid feature request, to add ';' delimiter to queries in the general query log, but NOT a bug.