--echo # .frm view: --eval SHOW INDEX FROM $tbl --echo # InnoDB dictionary view: --eval SELECT t.NAME, i.NAME AS idx FROM information_schema.INNODB_SYS_INDEXES i JOIN information_schema.INNODB_SYS_TABLES t ON i.TABLE_ID=t.TABLE_ID WHERE t.NAME='test/$tbl' --disable_warnings --let $frm_n= `SELECT COUNT(DISTINCT INDEX_NAME) FROM information_schema.STATISTICS WHERE TABLE_SCHEMA='test' AND TABLE_NAME='$tbl'` --let $inn_n= `SELECT COUNT(*) FROM information_schema.INNODB_SYS_INDEXES i JOIN information_schema.INNODB_SYS_TABLES t ON i.TABLE_ID=t.TABLE_ID WHERE t.NAME='test/$tbl'` --enable_warnings --echo # indexes in .frm=$frm_n, in InnoDB=$inn_n --let $bad= `SELECT $frm_n != $inn_n` if ($bad) { --echo FAIL: $tbl ($phase): .frm and InnoDB dictionary disagree --inc $failures } --error 0,ER_GET_ERRNO --eval SELECT COUNT(*) FROM $tbl --echo errno: $mysql_errno if ($mysql_errno) { --echo FAIL: $tbl ($phase): COUNT(*) failed with errno $mysql_errno --inc $failures } --eval CHECK TABLE $tbl --eval CHECKSUM TABLE $tbl