Bug #36031 | Test funcs_1.<engine>_views failing on Windows | ||
---|---|---|---|
Submitted: | 13 Apr 2008 15:58 | Modified: | 14 May 2008 15:52 |
Reporter: | Patrick Crews | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | Tests: Server | Severity: | S3 (Non-critical) |
Version: | 5.1 | OS: | Windows |
Assigned to: | Davi Arnaut | CPU Architecture: | Any |
Tags: | funcs_1, mysql-test-run, Tests, windows |
[13 Apr 2008 15:58]
Patrick Crews
[30 Apr 2008 17:25]
Davi Arnaut
Reduced test case: create table t1 (a real zerofill, b real unsigned zerofill); insert into t1 values (1.175494361e-38, 1.175494361e-38); select * from t1; -00000001.175494361e-38 00000001.175494361e-38 +0000001.175494361e-38 0000001.175494361e-38 Probably some problem related to zerofill.
[30 Apr 2008 18:35]
Davi Arnaut
What happens is that mysqltest.c::append_field modifies that exponential notation of the number by removing a zero after the the symbol 'e' (eg: 1.2e+018 is converted to 1.2e+18). The problem is that the string was zero filled by the server and it has one less zero because of the converted value is large due to the extra zero after the symbol.
[30 Apr 2008 19:40]
Davi Arnaut
After the above one is fixed, another test case failure shows up: create table t1 (a datetime not null default '2/2/2', b timestamp not null default 20001231235959); insert into t1 values ('1970-01-02 00:00:01', 19700102000001); insert into t1 values ('1970-01-03 00:00:02', 19700103000002); insert into t1 values ('1970-01-04 00:00:03', 19700104000003); select * from t1; -1970-01-02 00:00:01 1970-01-02 00:00:01 -1970-01-03 00:00:02 1970-01-03 00:00:02 -1970-01-04 00:00:03 1970-01-04 00:00:03 +1970-01-02 00:00:01 1970-01-01 00:00:01 +1970-01-03 00:00:02 1970-01-02 00:00:02 +1970-01-04 00:00:03 1970-01-03 00:00:03
[2 May 2008 18:10]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/46308 ChangeSet@1.2603, 2008-05-02 15:10:32-03:00, davi@mysql.com +1 -0 Bug#36031 Test funcs_1.<engine>_views failing on Windows The problem is a hack in mysqltest.c::append_field that modifies the exponential notation of floating point numbers by removing a zero after the the symbol 'e' (eg: 00001.2e+018 is converted to 00001.2e+18) but does not take into account the zerofill affect in the start of the string. The solution is to check if the field was zero filled and insert a zero at the start of the string if a zero after the exponential notation symbol is removed.
[5 May 2008 15:17]
Davi Arnaut
Queued to 5.1-bugteam
[14 May 2008 15:20]
Bugs System
Pushed into 5.1.25-rc
[14 May 2008 15:52]
Paul DuBois
Test suite change. No changelog entry needed.
[22 May 2008 9:49]
Bugs System
Pushed into 6.0.6-alpha