From 3560ff18b9e6050878e1fae60753b0734b04d69d Mon Sep 17 00:00:00 2001 From: stronk7 Date: Sun, 10 May 2009 14:45:59 +0000 Subject: [PATCH] MDL-12618 restore events - apply cross-db sql_compare_text(). MSSQL & Oracle were broken here. Merged from 19_STABLE --- backup/restorelib.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/backup/restorelib.php b/backup/restorelib.php index 34903f0574..f5d1d46e74 100644 --- a/backup/restorelib.php +++ b/backup/restorelib.php @@ -3774,8 +3774,11 @@ define('RESTORE_GROUPS_GROUPINGS', 3); //Now search if that event exists (by name, description, timestart fields) in //restore->course_id course - $eve_db = $DB->get_records("event", - array('courseid'=>$eve->courseid, 'name'=>$eve->name, 'description'=>$eve->description, 'timestart'=>$eve->timestart)); + //Going to compare LOB columns so, use the cross-db sql_compare_text() in both sides. + $compare_description_clause = $DB->sql_compare_text('description') . "=" . $DB->sql_compare_text("'" . $eve->description . "'"); + $eve_db = $DB->get_record_select('event', + "courseid = ? AND name = ? AND $compare_description_clause AND timestart = ?", + array($eve->courseid, $eve->name, $eve->timestart)); //If it doesn't exist, create if (!$eve_db) { $create_event = true; -- 2.39.5