From: Eloy Lafuente (stronk7) Date: Wed, 26 Oct 2011 17:04:31 +0000 (+0200) Subject: MDL-29912 course search - oracle inabilities with concats, empties, nulls and type... X-Git-Tag: v2.2.0-beta~132^2 X-Git-Url: http://git.moodle.org/gw?p=moodle.git;a=commitdiff_plain;h=86e00f970ba8918fec7b60525c11c3bbdcc10aea MDL-29912 course search - oracle inabilities with concats, empties, nulls and type-restrictions --- 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++;