Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Critical
-
Resolution: Fixed
-
Affects Version/s: 1.9.3
-
Fix Version/s: 1.9.4
-
Component/s: Database SQL/XMLDB
-
Labels:None
-
Affected Branches:MOODLE_19_STABLE
-
Fixed Branches:MOODLE_19_STABLE
Description
See http://moodle.org/mod/forum/discuss.php?d=113752
The issue seems to be
(mysql): UPDATE mdl_config SET value = '2.0071E+9' WHERE name = 'version'
Note that the version number has been rounded (value = '2.0071E+9') so the upgrade continues from the wrong place.
http://www.php.net/manual/en/language.types.float.php seems to say that PHP floats always use 15 decimal digits of precision internally, so my diagnosis is that the error occurs when the float is converted to a string somewhere in set_config before it is stored in the DB.
Issue Links
| This issue is a clone of: | ||||
| MDL-18253 | Continuing problems with upgrades and installs because of fractional version numbers |
|
|
|
going to add following into admin/index.php
$num1 = 2009010200.01;
$num2 = 2009010200.02;
if((string)$num1 === (string)$num2 or $num1 === $num2) {
error ('incorrect float handling detected');
}