From ea4b1f8e7b71a2233e80245d52cfeef61839f9b2 Mon Sep 17 00:00:00 2001 From: Huong Nguyen Date: Tue, 26 Nov 2024 09:46:45 +0700 Subject: [PATCH] MDL-82584 mod_workshop: Correct DB select fields We cannot use the `DISTINCT` CLOB fields on Oracle. Instead of selecting all the fields, we just need to select the needed fields only --- mod/workshop/locallib.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mod/workshop/locallib.php b/mod/workshop/locallib.php index 786657a9153..cbaf9cc0d00 100644 --- a/mod/workshop/locallib.php +++ b/mod/workshop/locallib.php @@ -3385,9 +3385,10 @@ class workshop { // This is from enrollib.php:get_enrolled_join(). It says it's better for caching to use round. $now = round(time(), -2); + $userfieldsapi = \core_user\fields::for_name()->with_userpic(); $sqlarray = []; - $sqlarray['select'] = "SELECT DISTINCT u.*"; + $sqlarray['select'] = "SELECT DISTINCT u.id" . $userfieldsapi->get_sql('u')->selects; $sqlarray['from'] = "FROM {user} u"; $sqlarray['join'] = []; $sqlarray['join'][] = "JOIN {user_enrolments} ue ON ue.userid = u.id";