| Bug #36035 | I_S.TABLES.UPDATE_TIME not being set on INSERT for Windows | ||
|---|---|---|---|
| Submitted: | 13 Apr 2008 18:27 | Modified: | 8 Dec 2008 23:58 |
| Reporter: | Patrick Crews | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: Information schema | Severity: | S3 (Non-critical) |
| Version: | 5.1 | OS: | Windows |
| Assigned to: | Sergei Glukhov | CPU Architecture: | Any |
| Tags: | funcs_1, Tests, windows | ||
[7 May 2008 8:14]
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/46442 ChangeSet@1.2582, 2008-05-07 13:14:22+05:00, gluh@mysql.com +2 -0 Bug#36035 I_S.TABLES.UPDATE_TIME not being set on INSERT for Windows added FLUSH TABLES after INSERT because UPDATE_TIME is updated with delay on Win.
[22 May 2008 8:30]
Martin Hansson
In my humble opinion, this deserves mention in the manual on this page: http://dev.mysql.com/doc/refman/5.1/en/show-table-status.html /Martin
[13 Nov 2008 8:45]
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/58605 2706 Sergey Glukhov 2008-11-13 Bug#36035 I_S.TABLES.UPDATE_TIME not being set on INSERT for Windows added FLUSH TABLES after INSERT because UPDATE_TIME is updated with delay on Win.
[13 Nov 2008 9:01]
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/58608 2923 Sergey Glukhov 2008-11-13 [merge] 5.1-bugteam->6.0-bugteam automerge(bug#36035)
[8 Dec 2008 10:23]
Bugs System
Pushed into 5.1.31 (revid:sergey.glukhov@sun.com-20081113083830-2g76k0gm6rsz2v5o) (version source revid:azundris@mysql.com-20081114081134-pswy3m5go7r64m1p) (pib:5)
[8 Dec 2008 11:34]
Bugs System
Pushed into 6.0.9-alpha (revid:sergey.glukhov@sun.com-20081113085402-shokbgzj75lpi2fr) (version source revid:ingo.struewing@sun.com-20081121151447-dtf2ofz2ys0zqed1) (pib:5)
[8 Dec 2008 23:58]
Paul DuBois
Test case changes. No changelog entry needed However, I have updated the Update_time description for SHOW TABLE STATUS as suggested by Martin.
[19 Jan 2009 11:26]
Bugs System
Pushed into 5.1.31-ndb-6.2.17 (revid:tomas.ulin@sun.com-20090119095303-uwwvxiibtr38djii) (version source revid:tomas.ulin@sun.com-20090108105244-8opp3i85jw0uj5ib) (merge vers: 5.1.31-ndb-6.2.17) (pib:6)
[19 Jan 2009 13:04]
Bugs System
Pushed into 5.1.31-ndb-6.3.21 (revid:tomas.ulin@sun.com-20090119104956-guxz190n2kh31fxl) (version source revid:tomas.ulin@sun.com-20090119104956-guxz190n2kh31fxl) (merge vers: 5.1.31-ndb-6.3.21) (pib:6)
[19 Jan 2009 16:10]
Bugs System
Pushed into 5.1.31-ndb-6.4.1 (revid:tomas.ulin@sun.com-20090119144033-4aylstx5czzz88i5) (version source revid:tomas.ulin@sun.com-20090119144033-4aylstx5czzz88i5) (merge vers: 5.1.31-ndb-6.4.1) (pib:6)

Description: Test funcs_1.is_tables is failing on Windows only. The following query set below is failing, specifically, the part where we compare UPDATE_TIME to the stored value @UPDATE_TIME. When checked on Windows, these values are the same, even with alteration to the --real_sleep value (went up to 50s) It doesn't appear that INFORMATION_SCHEMA.TABLES.UPDATE_TIME is being incremented after the INSERT statement on Windows system. I compared this query on MacOS, and there is a 1s difference between the pre and post-INSERT UPDATE_TIME values on the Mac. SELECT UPDATE_TIME, checksum INTO @UPDATE_TIME, @checksum FROM information_schema.tables WHERE table_name = 't1_my_tablex'; # Enforce a time difference bigger than the smallest unit (1 second). --real_sleep 1.1 INSERT INTO db_datadict.t1_my_tablex SET f1 = 3; SELECT UPDATE_TIME > @UPDATE_TIME AS "Is current UPDATE_TIME bigger than before last INSERT?" FROM information_schema.tables WHERE table_name = 't1_my_tablex'; SELECT checksum <> @checksum AS "Is current CHECKSUM different than before last INSERT?" FROM information_schema.tables WHERE table_name = 't1_my_tablex'; How to repeat: Run the test on a Windows system -- Verified on Win 2003 and Win XP 32 bit. From the mysql-test directory, execute the following command: ./mysql-test-run.pl --suite=funcs_1 is_tables You should see the following failure: @@ -315,7 +315,7 @@ 15861: FROM information_schema.tables 15862: WHERE table_name = 't1_my_tablex'; 15863: Is current UPDATE_TIME bigger than before last INSERT? 15864: -1 15865: +0 15866: SELECT checksum <> @checksum 15867: AS "Is current CHECKSUM different than before last INSERT?" 15868: FROM information_schema.tables To verify that UPDATE_TIME isn't being modified on Windows, you can apply the following changes to the is_tables.test file: @@ -339,13 +339,15 @@ WHERE table_name = 't1_my_tablex'; ALTER TABLE db_datadict.t1_my_tablex CHECKSUM = 1; SELECT table_name, checksum IS NOT NULL FROM information_schema.tables WHERE table_name = 't1_my_tablex'; +SELECT UPDATE_TIME FROM INFORMATION_SCHEMA.TABLES +WHERE TABLE_NAME='t1_my_tablex'; SELECT UPDATE_TIME, checksum INTO @UPDATE_TIME, @checksum FROM information_schema.tables WHERE table_name = 't1_my_tablex'; # Enforce a time difference bigger than the smallest unit (1 second). --real_sleep 1.1 INSERT INTO db_datadict.t1_my_tablex SET f1 = 3; -SELECT UPDATE_TIME > @UPDATE_TIME +SELECT UPDATE_TIME , @UPDATE_TIME AS "Is current UPDATE_TIME bigger than before last INSERT?" FROM information_schema.tables WHERE table_name = 't1_my_tablex'; Suggested fix: Need to determine what is causing this behavior on Windows. Is this a Windows quirk that needs to be accounted for in the .test, or is this a problem with the way INFORMATION_SCHEMA.TABLES is behaving on Windows? Will disable this portion of the test file to maintain the rest of the test functionality until a proper fix can be achieved.