From 1d854cec5a5f9e95d44cee746216ef00ff4a3cfc Mon Sep 17 00:00:00 2001 From: martinlanghoff Date: Tue, 4 Dec 2007 06:26:10 +0000 Subject: [PATCH] datalib: get_logs_user*() - fix invalid SQL - MDL-12426 Oracle does not accept column labels in the GROUP BY section - get_logs_usercourse() and get_logs_userday() were computing the day/hours column and using it in the GROUP BY. The compatible fix is to reproduce the same computation in the GROUP BY section. Credit for the fix goes to Dennis Rochford . --- lib/datalib.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/datalib.php b/lib/datalib.php index f50c4c0817..abbb1f5806 100644 --- a/lib/datalib.php +++ b/lib/datalib.php @@ -1941,7 +1941,7 @@ function get_logs_usercourse($userid, $courseid, $coursestart) { FROM {$CFG->prefix}log WHERE userid = '$userid' AND time > '$coursestart' $courseselect - GROUP BY day "); + GROUP BY floor((time - $coursestart)/". DAYSECS .") "); } /** @@ -1968,7 +1968,7 @@ function get_logs_userday($userid, $courseid, $daystart) { FROM {$CFG->prefix}log WHERE userid = '$userid' AND time > '$daystart' $courseselect - GROUP BY hour "); + GROUP BY floor((time - $daystart)/". HOURSECS .") "); } /** -- 2.39.5