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 <[email protected]>.
This commit is contained in:
martinlanghoff
2007-12-04 06:24:23 +00:00
parent fc3a00b2dc
commit 7e17fa336e
+2 -2
View File
@@ -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 .") ");
}
/**