From 3d03d2a0d46be1f6bdd61dffe3fb5cfae3f5738b Mon Sep 17 00:00:00 2001 From: Sam Marshall Date: Mon, 20 Jul 2020 12:29:32 +0800 Subject: [PATCH] MDL-63252 tool_xmldb: convert default to float to avoid false positives --- .../actions/check_defaults/check_defaults.class.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/admin/tool/xmldb/actions/check_defaults/check_defaults.class.php b/admin/tool/xmldb/actions/check_defaults/check_defaults.class.php index c37ab3670e4..ea21a1278a6 100644 --- a/admin/tool/xmldb/actions/check_defaults/check_defaults.class.php +++ b/admin/tool/xmldb/actions/check_defaults/check_defaults.class.php @@ -93,6 +93,17 @@ class check_defaults extends XMLDBCheckAction { $physicaldefault = null; } + // For number fields there are issues with type differences, so let's convert + // everything to a float. + if ($xmldbfield->getType() === XMLDB_TYPE_NUMBER) { + if ($physicaldefault !== null) { + $physicaldefault = (float) $physicaldefault; + } + if ($xmldbdefault !== null) { + $xmldbdefault = (float) $xmldbdefault; + } + } + // There *is* a default and it's wrong. if ($physicaldefault !== $xmldbdefault) { $xmldbtext = self::display_default($xmldbdefault);