From 86e00f970ba8918fec7b60525c11c3bbdcc10aea Mon Sep 17 00:00:00 2001 From: "Eloy Lafuente (stronk7)" Date: Wed, 26 Oct 2011 19:04:31 +0200 Subject: [PATCH] MDL-29912 course search - oracle inabilities with concats, empties, nulls and type-restrictions --- lib/datalib.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/datalib.php b/lib/datalib.php index 3e31ee2f9dc..d6b09887c6c 100644 --- a/lib/datalib.php +++ b/lib/datalib.php @@ -717,7 +717,12 @@ function get_courses_search($searchterms, $sort='fullname ASC', $page=0, $record $params = array(); $i = 0; - $concat = $DB->sql_concat("COALESCE(c.summary, '". $DB->sql_empty() ."')", "' '", 'c.fullname', "' '", 'c.idnumber', "' '", 'c.shortname'); + // Thanks Oracle for your non-ansi concat and type limits in coalesce. MDL-29912 + if ($DB->get_dbfamily() == 'oracle') { + $concat = $DB->sql_concat('c.summary', "' '", 'c.fullname', "' '", 'c.idnumber', "' '", 'c.shortname'); + } else { + $concat = $DB->sql_concat("COALESCE(c.summary, '". $DB->sql_empty() ."')", "' '", 'c.fullname', "' '", 'c.idnumber', "' '", 'c.shortname'); + } foreach ($searchterms as $searchterm) { $i++; -- 2.43.0