--source include/big_test.inc --source include/no_valgrind_without_big.inc # mysql_upgrade currently fails with 4k pages --source include/have_innodb_min_8k.inc --source include/mysql_upgrade_preparation.inc --echo --echo WL#10128: Add defaults column to optimizer cost tables --echo # Fetch default values for current version --let $old_server_defaults= `(SELECT GROUP_CONCAT(default_value) FROM mysql.server_cost)` --let $old_engine_defaults= `(SELECT GROUP_CONCAT(default_value) FROM mysql.engine_cost)` # Drop columns and let upgrade script add them back ALTER TABLE mysql.server_cost DROP COLUMN default_value; ALTER TABLE mysql.engine_cost DROP COLUMN default_value; # Filter out ndb_binlog_index to mask differences due to running with # or without NDB. Always report check-for-upgrade status as OK, as it depends # on the order in which tests are run. --let $restart_parameters = restart:--upgrade=FORCE --let $wait_counter= 10000 --source include/restart_mysqld.inc # Mask out the content of the last_update column --replace_column 3 # SELECT * FROM mysql.server_cost; --replace_column 5 # SELECT * FROM mysql.engine_cost; --let $new_server_defaults= `(SELECT GROUP_CONCAT(default_value) FROM mysql.server_cost)` --let $new_engine_defaults= `(SELECT GROUP_CONCAT(default_value) FROM mysql.engine_cost)` --echo # Default values after upgrade should be equal to fresh server --let $assert_text= Default values after upgrade should be equal to fresh server. --let $assert_cond= "$new_server_defaults" = "$old_server_defaults" AND "$new_engine_defaults" = "$old_engine_defaults" --source include/assert.inc # Run upgrade script a second time to test upgrade when columns already exists # # Filter out ndb_binlog_index to mask differences due to running with # or without NDB. --let $restart_parameters = restart:--upgrade=FORCE --let $wait_counter= 10000 --source include/restart_mysqld.inc # Mask out the content of the last_update column --replace_column 3 # SELECT * FROM mysql.server_cost; --replace_column 5 # SELECT * FROM mysql.engine_cost; --let $new_server_defaults= `(SELECT GROUP_CONCAT(default_value) FROM mysql.server_cost)` --let $new_engine_defaults= `(SELECT GROUP_CONCAT(default_value) FROM mysql.engine_cost)` --echo # Default values after upgrade should be equal to fresh server --let $assert_text= Default values after upgrade should be equal to fresh server. --let $assert_cond= "$new_server_defaults" = "$old_server_defaults" AND "$new_engine_defaults" = "$old_engine_defaults" --source include/assert.inc --source include/mysql_upgrade_cleanup.inc