That helper, used to fetch information from DB by all the grade_object
chidren classes was not behaving properly handling TEXT/CLOB columns.
Instead of creating a property within every class listing the
existing columns, it seems to be a better solution to instrospect
the database metadata (cached) to ensure the correct SQL is generated
in every case.
This resolves problems when installing Moodle
and addons when preventexecpath active.
Please note the admin_setting_configfile is still
incorrectly restricted - this will be resolved by
MDL-40949.
When working against external services it can be advantageous to not
have automated tasks all hit the service at the exact same time from
many different installations.
This change allows the use of 'R' in hour/minute fields of the scheduled
task definition so a task will be installed with a 'random' hour/minute
value for these sort of occasions.
Note that the task will be installed in the database with a defined
time, this simply randomises the time chosen when loading from the
definiton.
Added property 'visible' for cohorts. Unsetting it hides the cohort from users in the course.
AMOS BEGIN
CPY [visible,core_moodle],[visible,core_cohort]
AMOS END
This part of the code is changing an index on the course_sections table to be unique, for this to happen in the upgrade script the index must be deleted and then the new version added.
Before this change the following was being done:
* The index is removed
* A query to delete records that were not unique on this index is performed
* The unique version of the index is added
After this change the following happens:
* A query to delete records that were not unique on this index is performed
* The index is removed
* The unique version of the index is added
When the original index is present the query uses it, which greatly improves the execution plan.
Before the change an upgrade on a site with around 387967 course_section records the upgrade would be stuck on the delete query for many hours, after the change the time can be measured in minutes.
Changes include:
* Search for existing items to reduce DB queries in grade_category::aggregate_grades
* Comments improvements
* Move brackets to be part of lang string
* Convert aggregationhints to be a class variable instead of passing it around
Part of: MDL-46576