From cc1e43328694ffcfe2f7d70a80839c54528f4927 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20S=CC=8Ckoda?= Date: Tue, 23 Apr 2013 12:36:50 +0200 Subject: [PATCH] MDL-39306 fix course search regression Oracle handling of NULLs is totally wrong and crazy! --- lib/datalib.php | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/lib/datalib.php b/lib/datalib.php index 3adc9e9c7e4..7db9ebac5e5 100644 --- a/lib/datalib.php +++ b/lib/datalib.php @@ -720,10 +720,9 @@ function get_courses_search($searchterms, $sort, $page, $recordsperpage, &$total // 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'); + $concat = "(c.summary|| ' ' || c.fullname || ' ' || c.idnumber || ' ' || c.shortname)"; } else { - $concat = $DB->sql_concat("COALESCE(c.summary, :empty)", "' '", 'c.fullname', "' '", 'c.idnumber', "' '", 'c.shortname'); - $params['empty'] = ''; + $concat = $DB->sql_concat("COALESCE(c.summary, '')", "' '", 'c.fullname', "' '", 'c.idnumber', "' '", 'c.shortname'); } foreach ($searchterms as $searchterm) {