# # Test that INFORMATION_SCHEMA.TABLES.UPDATE_TIME is filled # correctly for InnoDB tables. # CREATE TABLE t (a INT) ENGINE=INNODB STATS_PERSISTENT=0; SELECT update_time FROM information_schema.tables WHERE table_name = 't'; update_time NULL INSERT INTO t VALUES (1); SELECT COUNT(*) FROM information_schema.tables WHERE table_name = 't' AND update_time IS NOT NULL; COUNT(*) 1 # We cant deterministically check that the saved value is correct, but # at least we check that it is a timestamp not older than 2 minutes. # Usually update_time and NOW() are equal below, but on heavily loaded # machines NOW() could be younger. SELECT COUNT(*) FROM information_schema.tables WHERE table_name = 't' AND TIMESTAMPDIFF(SECOND, update_time, NOW()) < 120; COUNT(*) 1 # Test the behavior after restart with a prepared XA transaction XA START 'xatrx'; DELETE FROM t; XA END 'xatrx'; XA PREPARE 'xatrx'; CONNECT con1,localhost,root,,; call mtr.add_suppression("Found 1 prepared XA transactions"); FLUSH TABLES; # restart SELECT update_time FROM information_schema.tables WHERE table_name = 't'; update_time NULL XA COMMIT 'xatrx'; SELECT COUNT(update_time) FROM information_schema.tables WHERE table_name='t'; COUNT(update_time) 1 DROP TABLE t;