mirror of
https://github.com/moodle/moodle.git
synced 2025-01-19 06:18:28 +01:00
Merge branch 'MDL-46963-master' of git://github.com/lameze/moodle
This commit is contained in:
commit
e256b59702
@ -1390,6 +1390,11 @@
|
||||
<ON_CHECK message="slashargumentswarning" />
|
||||
</FEEDBACK>
|
||||
</CUSTOM_CHECK>
|
||||
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_tables_row_format" level="optional">
|
||||
<FEEDBACK>
|
||||
<ON_CHECK message="unsupporteddbtablerowformat" />
|
||||
</FEEDBACK>
|
||||
</CUSTOM_CHECK>
|
||||
</CUSTOM_CHECKS>
|
||||
</MOODLE>
|
||||
</COMPATIBILITY_MATRIX>
|
||||
|
@ -1070,6 +1070,7 @@ $string['unlockaccount'] = 'Unlock account';
|
||||
$string['unsettheme'] = 'Unset theme';
|
||||
$string['unsupported'] = 'Unsupported';
|
||||
$string['unsupporteddbstorageengine'] = 'The database storage engine being used is no longer supported.';
|
||||
$string['unsupporteddbtablerowformat'] = 'Your database has tables using Antelope as the file format. You are recommended to convert the tables to the Barracuda file format. See the documentation <a href="https://docs.moodle.org/en/cli">Administration via command line</a> for details of a tool for converting InnoDB tables to Barracuda.';
|
||||
$string['unsuspenduser'] = 'Activate user account';
|
||||
$string['updateaccounts'] = 'Update existing accounts';
|
||||
$string['updatecomponent'] = 'Update component';
|
||||
|
@ -2245,3 +2245,35 @@ function check_slasharguments(environment_results $result){
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* This function verifies if the database has tables using innoDB Antelope row format.
|
||||
*
|
||||
* @param environment_results $result
|
||||
* @return environment_results|null updated results object, or null if no Antelope table has been found.
|
||||
*/
|
||||
function check_database_tables_row_format(environment_results $result) {
|
||||
global $DB;
|
||||
|
||||
if ($DB->get_dbfamily() == 'mysql') {
|
||||
$generator = $DB->get_manager()->generator;
|
||||
|
||||
foreach ($DB->get_tables(false) as $table) {
|
||||
$columns = $DB->get_columns($table, false);
|
||||
$size = $generator->guess_antolope_row_size($columns);
|
||||
$format = $DB->get_row_format($table);
|
||||
|
||||
if ($size <= $generator::ANTELOPE_MAX_ROW_SIZE) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if ($format === 'Compact' or $format === 'Redundant') {
|
||||
$result->setInfo('unsupported_db_table_row_format');
|
||||
$result->setStatus(false);
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user