summaryrefslogtreecommitdiff
path: root/mysql-test/include/mtr_check.sql
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/include/mtr_check.sql')
-rw-r--r--mysql-test/include/mtr_check.sql59
1 files changed, 59 insertions, 0 deletions
diff --git a/mysql-test/include/mtr_check.sql b/mysql-test/include/mtr_check.sql
new file mode 100644
index 00000000000..12cb2c870a2
--- /dev/null
+++ b/mysql-test/include/mtr_check.sql
@@ -0,0 +1,59 @@
+delimiter ||;
+
+use mtr||
+
+--
+-- Procedure used to check if server has been properly
+-- restored after testcase has been run
+--
+CREATE DEFINER=root@localhost PROCEDURE check_testcase()
+BEGIN
+
+ -- Dump all global variables except those
+ -- that are supposed to change
+ SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+ WHERE variable_name != 'timestamp' ORDER BY VARIABLE_NAME;
+
+ -- Dump all databases, there should be none
+ -- except those that was created during bootstrap
+ SELECT * FROM INFORMATION_SCHEMA.SCHEMATA;
+
+ -- The test database should not contain any tables
+ SELECT table_name AS tables_in_test FROM INFORMATION_SCHEMA.TABLES
+ WHERE table_schema='test';
+
+ -- Show "mysql" database, tables and columns
+ SELECT CONCAT(table_schema, '.', table_name) AS tables_in_mysql
+ FROM INFORMATION_SCHEMA.TABLES
+ WHERE table_schema='mysql' AND table_name != 'ndb_apply_status'
+ ORDER BY tables_in_mysql;
+ SELECT CONCAT(table_schema, '.', table_name) AS columns_in_mysql,
+ column_name, ordinal_position, column_default, is_nullable,
+ data_type, character_maximum_length, character_octet_length,
+ numeric_precision, numeric_scale, character_set_name,
+ collation_name, column_type, column_key, extra, column_comment
+ FROM INFORMATION_SCHEMA.COLUMNS
+ WHERE table_schema='mysql' AND table_name != 'ndb_apply_status'
+ ORDER BY columns_in_mysql;
+
+ -- Checksum system tables to make sure they have been properly
+ -- restored after test
+ checksum table
+ mysql.columns_priv,
+ mysql.db,
+ mysql.func,
+ mysql.help_category,
+ mysql.help_keyword,
+ mysql.help_relation,
+ mysql.host,
+ mysql.proc,
+ mysql.procs_priv,
+ mysql.tables_priv,
+ mysql.time_zone,
+ mysql.time_zone_leap_second,
+ mysql.time_zone_name,
+ mysql.time_zone_transition,
+ mysql.time_zone_transition_type,
+ mysql.user;
+
+END||