From 5c85bfe12212f2b3d7139911b80d317b184594d3 Mon Sep 17 00:00:00 2001 From: Mark Nelson Date: Thu, 6 Apr 2017 12:45:16 +0800 Subject: [PATCH] MDL-55611 core_calendar: Fixed query for Oracle Also fixed unit test filter. --- calendar/classes/local/event/data_access/event_vault.php | 2 +- calendar/tests/event_vault_test.php | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/calendar/classes/local/event/data_access/event_vault.php b/calendar/classes/local/event/data_access/event_vault.php index 8517e268f5d..967ea4b29e7 100644 --- a/calendar/classes/local/event/data_access/event_vault.php +++ b/calendar/classes/local/event/data_access/event_vault.php @@ -164,7 +164,7 @@ class event_vault implements event_vault_interface { $coursesfilter, $where, $params, - "timesort ASC, id ASC", + "e.timesort ASC, e.id ASC", $offset, $limitnum, $ignorehidden diff --git a/calendar/tests/event_vault_test.php b/calendar/tests/event_vault_test.php index 0d522497629..31e74cd6f37 100644 --- a/calendar/tests/event_vault_test.php +++ b/calendar/tests/event_vault_test.php @@ -206,7 +206,7 @@ class core_calendar_event_vault_testcase extends advanced_testcase { $this->setAdminuser(); $user = $this->getDataGenerator()->create_user(); - // The factory will skip events with even ids. + // The factory will return every event that is divisible by 2. $factory = new action_event_test_factory(function($actionevent) { static $count = 0; $count++; @@ -642,9 +642,11 @@ class core_calendar_event_vault_testcase extends advanced_testcase { $user = $this->getDataGenerator()->create_user(); $course1 = $this->getDataGenerator()->create_course(); $course2 = $this->getDataGenerator()->create_course(); - // The factory will skip events with even ids. + // The factory will return every event that is divisible by 2. $factory = new action_event_test_factory(function($actionevent) { - return ($actionevent->get_id() % 2) ? false : true; + static $count = 0; + $count++; + return ($count % 2) ? true : false; }); $strategy = new raw_event_retrieval_strategy(); $vault = new event_vault($factory, $strategy);