diff --git a/lang/en/moodle.php b/lang/en/moodle.php index 5fe9a09cdcb..9e42a4336b9 100644 --- a/lang/en/moodle.php +++ b/lang/en/moodle.php @@ -1588,6 +1588,9 @@ $string['privacy:metadata:task_adhoc'] = 'The status of adhoc tasks.'; $string['privacy:metadata:task_adhoc:component'] = 'The component owning the task.'; $string['privacy:metadata:task_adhoc:nextruntime'] = 'The earliest time to run this task.'; $string['privacy:metadata:task_adhoc:userid'] = 'The user to run the task as.'; +$string['privacy:metadata:task_log'] = 'Log output for a log'; +$string['privacy:metadata:task_log:component'] = 'The component owning the task.'; +$string['privacy:metadata:task_log:userid'] = 'The user that the task belonged to.'; $string['privacy:metadata:upgrade_log'] = 'The upgrade log.'; $string['privacy:metadata:upgrade_log:backtrace'] = 'Any backtrace associated with this upgrade step.'; $string['privacy:metadata:upgrade_log:details'] = 'Extra information relating to the upgrade.'; diff --git a/lib/classes/privacy/provider.php b/lib/classes/privacy/provider.php index b9d1d670a81..bc9b8f8cf78 100644 --- a/lib/classes/privacy/provider.php +++ b/lib/classes/privacy/provider.php @@ -88,6 +88,13 @@ class provider implements 'userid' => 'privacy:metadata:task_adhoc:userid', ], 'privacy:metadata:task_adhoc'); + // The task_log table stores debugging data for tasks. + // These are cleaned regularly and intended purely for debugging. + $collection->add_database_table('task_log', [ + 'component' => 'privacy:metadata:task_log:component', + 'userid' => 'privacy:metadata:task_log:userid', + ], 'privacy:metadata:task_log'); + // The events_queue includes information about pending events tasks. // These are stored for short periods whilst being processed into other locations. $collection->add_database_table('events_queue', [ diff --git a/lib/db/install.xml b/lib/db/install.xml index a456c84e711..2c57cdaa3da 100644 --- a/lib/db/install.xml +++ b/lib/db/install.xml @@ -1,5 +1,5 @@ - @@ -3305,6 +3305,27 @@ + + + + + + + + + + + + + + + + + + + + +
diff --git a/lib/db/upgrade.php b/lib/db/upgrade.php index 5e7324d29a9..80dc8ec4c38 100644 --- a/lib/db/upgrade.php +++ b/lib/db/upgrade.php @@ -2516,5 +2516,37 @@ function xmldb_main_upgrade($oldversion) { upgrade_main_savepoint(true, 2018120301.02); } + if ($oldversion < 2019011500.00) { + // Define table task_log to be created. + $table = new xmldb_table('task_log'); + + // Adding fields to table task_log. + $table->add_field('id', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, XMLDB_SEQUENCE, null); + $table->add_field('type', XMLDB_TYPE_INTEGER, '4', null, XMLDB_NOTNULL, null, null); + $table->add_field('component', XMLDB_TYPE_CHAR, '255', null, XMLDB_NOTNULL, null, null); + $table->add_field('classname', XMLDB_TYPE_CHAR, '255', null, XMLDB_NOTNULL, null, null); + $table->add_field('userid', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, null); + $table->add_field('timestart', XMLDB_TYPE_NUMBER, '20, 10', null, XMLDB_NOTNULL, null, null); + $table->add_field('timeend', XMLDB_TYPE_NUMBER, '20, 10', null, XMLDB_NOTNULL, null, null); + $table->add_field('dbreads', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, null); + $table->add_field('dbwrites', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, null); + $table->add_field('result', XMLDB_TYPE_INTEGER, '2', null, XMLDB_NOTNULL, null, null); + + // Adding keys to table task_log. + $table->add_key('primary', XMLDB_KEY_PRIMARY, ['id']); + + // Adding indexes to table task_log. + $table->add_index('classname', XMLDB_INDEX_NOTUNIQUE, ['classname']); + $table->add_index('timestart', XMLDB_INDEX_NOTUNIQUE, ['timestart']); + + // Conditionally launch create table for task_log. + if (!$dbman->table_exists($table)) { + $dbman->create_table($table); + } + + // Main savepoint reached. + upgrade_main_savepoint(true, 2019011500.00); + } + return true; } diff --git a/version.php b/version.php index d0e192f9a23..be82e4bb506 100644 --- a/version.php +++ b/version.php @@ -29,7 +29,7 @@ defined('MOODLE_INTERNAL') || die(); -$version = 2019011100.00; // YYYYMMDD = weekly release date of this DEV branch. +$version = 2019011500.00; // YYYYMMDD = weekly release date of this DEV branch. // RR = release increments - 00 in DEV branches. // .XX = incremental changes.