Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Critical
-
Resolution: Fixed
-
Affects Version/s: 1.9.4
-
Fix Version/s: 1.9.5
-
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 has a clone: | ||||
| MDL-17868 | Upgrade fails on some platforms becuase of fractional version numbers |
|
|
|
I've created a clone because this thread: http://moodle.org/mod/forum/discuss.php?d=114945 has interesting new information.
Someone, who got the new warning, posted their phpinfo, and the thing that leaps out at me is that there is a php.ini settings 'precision' (http://php.net/manual/en/ini.core.php#ini.precision) which is 14 by default, but on their server is set to 6.
I'll ask them to try setting it back to 14. If that fixes the issue, we can put an ini_set call in the code, and deal with the problem once and for all.