polardbxengine/mysql-test/t/opt_costmodel_upgrade.test

63 lines
2.5 KiB
Plaintext

--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