|
| 1 | +# This test scripts covers upgrade of tables, views, tablespaces, |
| 2 | +# events, stored routines and triggers from 5.7 to 8.0. |
| 3 | + |
| 4 | +--source include/not_embedded.inc |
| 5 | + |
| 6 | +call mtr.add_suppression("Plugin * after shutdown"); |
| 7 | +call mtr.add_suppression(".* Native table .* has the wrong structure"); |
| 8 | +call mtr.add_suppression("Resizing redo log from"); |
| 9 | +call mtr.add_suppression("Starting to delete and rewrite log files"); |
| 10 | +call mtr.add_suppression("New log files created"); |
| 11 | +call mtr.add_suppression("Info table is not ready to be used."); |
| 12 | +call mtr.add_suppression("must use supported storage engine"); |
| 13 | +call mtr.add_suppression("after shutdown"); |
| 14 | +call mtr.add_suppression("will be forced to shutdown"); |
| 15 | +call mtr.add_suppression("Table 'mysql.component' doesn't exist"); |
| 16 | +call mtr.add_suppression("ACL DDLs will not work unless mysql_upgrade is executed"); |
| 17 | +call mtr.add_suppression("table is missing or has an incorrect definition"); |
| 18 | +call mtr.add_suppression("is expected to be transactional"); |
| 19 | +call mtr.add_suppression("Upgrading redo log"); |
| 20 | + |
| 21 | +# Set different paths for --datadir |
| 22 | +let $MYSQLD_DATADIR1 = $MYSQL_TMP_DIR/data57; |
| 23 | + |
| 24 | +--echo # Stop DB server which was created by MTR default |
| 25 | +--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect |
| 26 | +--shutdown_server |
| 27 | +--source include/wait_until_disconnected.inc |
| 28 | + |
| 29 | +--echo # Copy the remote tablespace & DB zip files from suite location to working location. |
| 30 | +--copy_file $MYSQLTEST_VARDIR/std_data/data57.zip $MYSQL_TMP_DIR/data57.zip |
| 31 | + |
| 32 | +--echo # Check that the file exists in the working folder. |
| 33 | +--file_exists $MYSQL_TMP_DIR/data57.zip |
| 34 | + |
| 35 | +--echo # Unzip the zip file. |
| 36 | +--exec unzip -qo $MYSQL_TMP_DIR/data57.zip -d $MYSQL_TMP_DIR |
| 37 | + |
| 38 | +# These files are added to test error scenario, delete from for upgrade testing. |
| 39 | +--remove_file $MYSQL_TMP_DIR/data57/test/55_temporal.frm |
| 40 | +--remove_file $MYSQL_TMP_DIR/data57/test/55_temporal.MYD |
| 41 | +--remove_file $MYSQL_TMP_DIR/data57/test/55_temporal.MYI |
| 42 | +# Remove myisam partitioned tables. There are used for negative testing. |
| 43 | +--remove_files_wildcard $MYSQL_TMP_DIR/data57/partitions * |
| 44 | +--rmdir $MYSQL_TMP_DIR/data57/partitions |
| 45 | + |
| 46 | +--echo #Files in 'test' dir |
| 47 | +--list_files $MYSQL_TMP_DIR/data57/ |
| 48 | + |
| 49 | +# Create a bootstrap file in temp location |
| 50 | +--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR |
| 51 | +--exec echo $MYSQL_TMP_DIR/bootstrap.log |
| 52 | + |
| 53 | + |
| 54 | +--echo # Start the DB server. |
| 55 | +--exec echo "restart: --show_compatibility_56=1 --innodb_undo_tablespaces=0 --datadir=$MYSQLD_DATADIR1" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect |
| 56 | +--enable_reconnect |
| 57 | +--source include/wait_until_connected_again.inc |
| 58 | + |
| 59 | + |
| 60 | +--echo # Sanity Testing after Server start |
| 61 | +CREATE SCHEMA test123; |
| 62 | +CREATE TABLE test123.t1(a int); |
| 63 | +INSERT INTO test123.t1 values(1); |
| 64 | +SELECT * FROM test123.t1; |
| 65 | +DROP SCHEMA test123; |
| 66 | + |
| 67 | +--echo # Execute mysql_upgrade |
| 68 | + |
| 69 | +--source include/mysql_upgrade_preparation.inc |
| 70 | +--exec $MYSQL_UPGRADE --skip-verbose --force 2>&1 |
| 71 | +--source include/mysql_upgrade_cleanup.inc |
| 72 | + |
| 73 | +SHOW DATABASES; |
| 74 | +#Check for table |
| 75 | +SHOW CREATE TABLE mysql.user; |
| 76 | + |
| 77 | +SHOW CREATE TABLE mysql.innodb_table_stats; |
| 78 | +SHOW CREATE TABLE mysql.innodb_index_stats; |
| 79 | + |
| 80 | +SELECT NAME,LEN FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS WHERE TABLE_ID IN |
| 81 | + (SELECT TABLE_ID FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE '%innodb_%_stats') |
| 82 | + AND NAME LIKE 'table_name'; |
| 83 | + |
| 84 | +SHOW CREATE TABLE test.t_compressed; |
| 85 | +SHOW CREATE TABLE test.t_compressed2; |
| 86 | +SHOW CREATE TABLE test.t_compressed3; |
| 87 | +SHOW CREATE TABLE test.t_dynamic; |
| 88 | +SHOW CREATE TABLE test.t_index; |
| 89 | + |
| 90 | +SHOW CREATE TABLE test.vt2; |
| 91 | +SELECT * FROM test.vt2; |
| 92 | +SHOW CREATE TABLE test.t_gen_stored; |
| 93 | +SHOW CREATE TABLE test.jemp; |
| 94 | +SHOW CREATE TABLE test.t_gen_stored_myisam; |
| 95 | +SHOW CREATE TABLE test.t_gen_stored_myisam2; |
| 96 | +SHOW CREATE TABLE test.jemp_myisam; |
| 97 | + |
| 98 | + |
| 99 | +SELECT TABLE_SCHEMA, TABLE_NAME, TABLE_TYPE, ENGINE, VERSION, ROW_FORMAT |
| 100 | + FROM INFORMATION_SCHEMA.tables WHERE table_schema='test'; |
| 101 | +# Check for views |
| 102 | +#Invalid view |
| 103 | +SHOW CREATE VIEW aview.view_invalid; |
| 104 | +#Valid views |
| 105 | +SHOW CREATE VIEW aview.view_2; |
| 106 | +SHOW CREATE VIEW aview.second_view; |
| 107 | +SELECT * FROM aview.view_2; |
| 108 | +SELECT * FROM aview.second_view; |
| 109 | + |
| 110 | +SHOW CREATE VIEW aview.mixed_view; |
| 111 | +SHOW CREATE VIEW aview.mixed_view2; |
| 112 | +SELECT * FROM aview.mixed_view2; |
| 113 | + |
| 114 | +#view with different definer |
| 115 | +SHOW CREATE VIEW aview.view_user; |
| 116 | +SHOW CREATE VIEW aview.view_user2; |
| 117 | +#view with different character_set and connection collation |
| 118 | +SHOW CREATE VIEW aview.view_character_set; |
| 119 | + |
| 120 | + |
| 121 | +#Check for SP/SF |
| 122 | +SHOW CREATE PROCEDURE sp.simpleproc; |
| 123 | +SHOW CREATE PROCEDURE sp.proc_123; |
| 124 | +SHOW CREATE PROCEDURE sp.proc_456; |
| 125 | +SHOW CREATE FUNCTION sp.hello; |
| 126 | +#Check for events |
| 127 | +SHOW CREATE EVENT events.e_totals; |
| 128 | +#Check for fulltext index |
| 129 | +SHOW CREATE TABLE test.opening_lines; |
| 130 | + |
| 131 | +# Check for General tablespace |
| 132 | +SHOW CREATE TABLE tablespace.t2; |
| 133 | +SHOW CREATE TABLE tablespace.t3; |
| 134 | +SELECT * FROM tablespace.t3; |
| 135 | +SHOW CREATE TABLE tablespace.t4; |
| 136 | + |
| 137 | +#Check for table with blackhole engine |
| 138 | +SHOW CREATE TABLE test.t_blackhole; |
| 139 | + |
| 140 | +#Check for table with special character in name |
| 141 | +SHOW CREATE TABLE `test`.`t_sc~!@#$%^&*(`; |
| 142 | + |
| 143 | +#Check for JSON types |
| 144 | +SHOW CREATE TABLE test.t_json; |
| 145 | + |
| 146 | +#Check for geometry data types |
| 147 | +SHOW CREATE TABLE test.geom; |
| 148 | + |
| 149 | +#Check for Triggers. Operations on t1 inserts data in t2. |
| 150 | +INSERT INTO triggers.t1 VALUES(1); |
| 151 | +UPDATE triggers.t1 SET a=2 WHERE a=1; |
| 152 | +SELECT * FROM triggers.t2; |
| 153 | + |
| 154 | +SELECT TRIGGER_SCHEMA, TRIGGER_NAME, EVENT_MANIPULATION, ACTION_TIMING, |
| 155 | + ACTION_ORDER FROM INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_SCHEMA='triggers'; |
| 156 | + |
| 157 | +--replace_column 7 # |
| 158 | +SHOW CREATE TRIGGER triggers.trg_t1_after_insert_3; |
| 159 | +--replace_column 7 # |
| 160 | +SHOW CREATE TRIGGER triggers.trg1; |
| 161 | + |
| 162 | +--replace_column 7 # |
| 163 | +SHOW CREATE TRIGGER triggers.t1_bi; |
| 164 | + |
| 165 | +#I_S query to check Foreign_keys |
| 166 | +SELECT * FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS WHERE |
| 167 | + CONSTRAINT_SCHEMA='foreign_keys' ORDER BY CONSTRAINT_SCHEMA,CONSTRAINT_NAME; |
| 168 | +--echo # Stop the server |
| 169 | +--source include/shutdown_mysqld.inc |
| 170 | + |
| 171 | +#Remove copied files |
| 172 | +--remove_file $MYSQL_TMP_DIR/data57.zip |
| 173 | + |
| 174 | +--force-rmdir $MYSQL_TMP_DIR/data57 |
| 175 | + |
| 176 | +--echo # Restart the server with default options. |
| 177 | +--source include/start_mysqld.inc |
0 commit comments