@@ -248,14 +248,6 @@ function syslog_statistics() {
248248
249249 $ rows_query_string = "SELECT COUNT(*)
250250 FROM ` " . $ syslogdb_default . "`.`syslog_statistics` AS ss
251- LEFT JOIN ` " . $ syslogdb_default . "`.`syslog_facilities` AS sf
252- ON ss.facility_id=sf.facility_id
253- LEFT JOIN ` " . $ syslogdb_default . "`.`syslog_priorities` AS sp
254- ON ss.priority_id=sp.priority_id
255- LEFT JOIN ` " . $ syslogdb_default . "`.`syslog_programs` AS spr
256- ON ss.program_id=spr.program_id
257- LEFT JOIN ` " . $ syslogdb_default . "`.`syslog_hosts` AS sh
258- ON ss.host_id=sh.host_id
259251 $ sql_where
260252 $ sql_groupby " ;
261253
@@ -349,36 +341,36 @@ function get_stats_records(&$sql_where, &$sql_groupby, $rows) {
349341 // Do nothing
350342 } elseif (get_request_var ('host ' ) != '-1 ' && get_request_var ('host ' ) != '' ) {
351343 $ sql_where .= ($ sql_where == '' ? 'WHERE ' : ' AND ' ) . 'ss.host_id= ' . get_request_var ('host ' );
352- $ sql_groupby .= ($ sql_groupby != '' ? ', ' :'' ) . 'sh.host ' ;
344+ $ sql_groupby .= ($ sql_groupby != '' ? ', ' :'' ) . 'host_id ' ;
353345 } else {
354- $ sql_groupby .= ($ sql_groupby != '' ? ', ' :'' ) . 'sh.host ' ;
346+ $ sql_groupby .= ($ sql_groupby != '' ? ', ' :'' ) . 'host_id ' ;
355347 }
356348
357349 if (get_request_var ('facility ' ) == '-2 ' ) {
358350 // Do nothing
359351 } elseif (get_request_var ('facility ' ) != '-1 ' && get_request_var ('facility ' ) != '' ) {
360352 $ sql_where .= ($ sql_where == '' ? 'WHERE ' : ' AND ' ) . 'ss.facility_id= ' . get_request_var ('facility ' );
361- $ sql_groupby .= ($ sql_groupby != '' ? ', ' :'' ) . 'sf.facility ' ;
353+ $ sql_groupby .= ($ sql_groupby != '' ? ', ' :'' ) . 'facility_id ' ;
362354 } else {
363- $ sql_groupby .= ($ sql_groupby != '' ? ', ' :'' ) . 'sf.facility ' ;
355+ $ sql_groupby .= ($ sql_groupby != '' ? ', ' :'' ) . 'facility_id ' ;
364356 }
365357
366358 if (get_request_var ('priority ' ) == '-2 ' ) {
367359 // Do nothing
368360 } elseif (get_request_var ('priority ' ) != '-1 ' && get_request_var ('priority ' ) != '' ) {
369361 $ sql_where .= ($ sql_where == '' ? 'WHERE ' : ' AND ' ) . 'ss.priority_id= ' . get_request_var ('priority ' );
370- $ sql_groupby .= ($ sql_groupby != '' ? ', ' :'' ) . 'sp.priority ' ;
362+ $ sql_groupby .= ($ sql_groupby != '' ? ', ' :'' ) . 'priority_id ' ;
371363 } else {
372- $ sql_groupby .= ($ sql_groupby != '' ? ', ' :'' ) . 'sp.priority ' ;
364+ $ sql_groupby .= ($ sql_groupby != '' ? ', ' :'' ) . 'priority_id ' ;
373365 }
374366
375367 if (get_request_var ('program ' ) == '-2 ' ) {
376368 // Do nothing
377369 } elseif (get_request_var ('program ' ) != '-1 ' && get_request_var ('program ' ) != '' ) {
378370 $ sql_where .= ($ sql_where == '' ? 'WHERE ' : ' AND ' ) . 'ss.program_id= ' . get_request_var ('program ' );
379- $ sql_groupby .= ($ sql_groupby != '' ? ', ' :'' ) . 'spr.program ' ;
371+ $ sql_groupby .= ($ sql_groupby != '' ? ', ' :'' ) . 'program_id ' ;
380372 } else {
381- $ sql_groupby .= ($ sql_groupby != '' ? ', ' :'' ) . 'spr.program ' ;
373+ $ sql_groupby .= ($ sql_groupby != '' ? ', ' :'' ) . 'program_id ' ;
382374 }
383375
384376 if (get_request_var ('timespan ' ) != '-1 ' ) {
@@ -398,8 +390,13 @@ function get_stats_records(&$sql_where, &$sql_groupby, $rows) {
398390
399391 $ time = 'FROM_UNIXTIME(TRUNCATE(UNIX_TIMESTAMP(insert_time)/ ' . get_request_var ('timespan ' ) . ',0)* ' . get_request_var ('timespan ' ) . ') AS insert_time ' ;
400392
401- $ query_sql = "SELECT sh.host, sf.facility, sp.priority, spr.program, sum(ss.records) AS records, $ time
402- FROM ` " . $ syslogdb_default . "`.`syslog_statistics` AS ss
393+ $ query_sql = "SELECT sh.host, sf.facility, sp.priority, spr.program, records, insert_time
394+ FROM (
395+ SELECT host_id, facility_id, priority_id, program_id, sum(records) AS records, $ time
396+ FROM ` " . $ syslogdb_default . "`.`syslog_statistics` AS ss
397+ $ sql_where
398+ $ sql_groupby
399+ ) AS ss
403400 LEFT JOIN ` " . $ syslogdb_default . "`.`syslog_facilities` AS sf
404401 ON ss.facility_id=sf.facility_id
405402 LEFT JOIN ` " . $ syslogdb_default . "`.`syslog_priorities` AS sp
@@ -408,8 +405,6 @@ function get_stats_records(&$sql_where, &$sql_groupby, $rows) {
408405 ON ss.program_id=spr.program_id
409406 LEFT JOIN ` " . $ syslogdb_default . "`.`syslog_hosts` AS sh
410407 ON ss.host_id=sh.host_id
411- $ sql_where
412- $ sql_groupby
413408 $ sql_order
414409 $ sql_limit " ;
415410
0 commit comments