polardbxengine/mysql-test/t/dd_upgrade_error_cs.test

187 lines
8.0 KiB
Plaintext

--source include/have_case_sensitive_file_system.inc
--echo # Stop DB server which was created by MTR default
--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--source include/shutdown_mysqld.inc
--echo # ------------------------------------------------------------------
--echo # Check upgrade from 8.0 when events/triggers/views/routines contain GROUP BY DESC.
--echo # ------------------------------------------------------------------
--echo # Set different path for --datadir
let $MYSQLD_DATADIR1 = $MYSQL_TMP_DIR/data80011_upgrade_groupby_desc_cs;
--echo # DB server which was started above is not running, no need for shutdown
--echo # Copy the remote tablespace & DB zip files from suite location to working location.
--copy_file $MYSQLTEST_VARDIR/std_data/data80011_upgrade_groupby_desc_cs.zip $MYSQL_TMP_DIR/data80011_upgrade_groupby_desc_cs.zip
--echo # Check that the file exists in the working folder.
--file_exists $MYSQL_TMP_DIR/data80011_upgrade_groupby_desc_cs.zip
--echo # Unzip the zip file.
--exec unzip -qo $MYSQL_TMP_DIR/data80011_upgrade_groupby_desc_cs.zip -d $MYSQL_TMP_DIR
--echo #
--echo # Upgrade tests for WL#8693
--echo #
--echo # Starting the DB server will fail since the data dir contains
--echo # events/triggers/views/routines contain GROUP BY DESC
let MYSQLD_LOG= $MYSQL_TMP_DIR/server.log;
--error 1
--exec $MYSQLD --no-defaults $extra_args --innodb_dedicated_server=OFF --secure-file-priv="" --log-error=$MYSQLD_LOG --datadir=$MYSQLD_DATADIR1
--let SEARCH_FILE= $MYSQLD_LOG
--let SEARCH_PATTERN= Trigger 'trigger_groupby_desc' has an error in its body
--source include/search_pattern.inc
--let SEARCH_FILE= $MYSQLD_LOG
--let SEARCH_PATTERN= Error in parsing Event 'test'.'event_groupby_desc' during upgrade
--source include/search_pattern.inc
--let SEARCH_FILE= $MYSQLD_LOG
--let SEARCH_PATTERN= Error in parsing Routine 'test'.'procedure_groupby_desc' during upgrade
--source include/search_pattern.inc
--let SEARCH_FILE= $MYSQLD_LOG
--let SEARCH_PATTERN= Error in parsing View 'test'.'view_groupby_desc' during upgrade
--source include/search_pattern.inc
--let SEARCH_FILE= $MYSQLD_LOG
--let SEARCH_PATTERN= Data Dictionary initialization failed.
--source include/search_pattern.inc
--echo # Remove copied files
--remove_file $MYSQLD_LOG
--remove_file $MYSQL_TMP_DIR/data80011_upgrade_groupby_desc_cs.zip
--force-rmdir $MYSQL_TMP_DIR/data80011_upgrade_groupby_desc_cs
--echo # Restart the server with default options.
--source include/start_mysqld.inc
--echo ########################################################################
--echo #
--echo # Bug#28204431: mysql upgrade from "version < 8.0.13" to "version >= 8.0.13"
--echo #
--echo # Verify that the server rejects upgrade if there are partitioned
--echo # InnoDB tables using shared tablespaces.
--echo #
--echo # Unzip a 8.0.12 datadir containing partitioned InnoDB tables using shared
--echo # tablespaces, start the server against it, verify that the server errs out
--echo # during upgrade.
--echo #
--echo ########################################################################
--echo ########################################################################
--echo # Copy and unzip the datadir.
--echo ########################################################################
# The datadir is created by buildling the appropriate server version and
# running the following SQL statements:
#
# CREATE TABLESPACE s1 ADD DATAFILE 's1.ibd';
# CREATE TABLESPACE s2 ADD DATAFILE 's2.ibd';
#
# CREATE TABLE t0 (i int PRIMARY KEY)
# PARTITION BY KEY(i) PARTITIONS 3
# (PARTITION p1, PARTITION p2, PARTITION p3);
#
# CREATE TABLE t1 (i int PRIMARY KEY) TABLESPACE innodb_file_per_table
# PARTITION BY KEY(i) PARTITIONS 3
# (PARTITION p1, PARTITION p2, PARTITION p3);
#
# CREATE TABLE t2 (i int PRIMARY KEY) TABLESPACE innodb_system
# PARTITION BY KEY(i) PARTITIONS 3
# (PARTITION p1, PARTITION p2, PARTITION p3);
#
# CREATE TABLE t3 (i int PRIMARY KEY) TABLESPACE s1
# PARTITION BY KEY(i) PARTITIONS 3
# (PARTITION p1, PARTITION p2, PARTITION p3);
#
# CREATE TABLE t4 (i int PRIMARY KEY)
# PARTITION BY KEY(i) PARTITIONS 3
# (PARTITION p1,
# PARTITION p2 TABLESPACE innodb_system,
# PARTITION p3 TABLESPACE s1);
#
# CREATE TABLE t5 (i int PRIMARY KEY)
# TABLESPACE s1
# PARTITION BY KEY(i) PARTITIONS 3
# (PARTITION p1,
# PARTITION p2 TABLESPACE innodb_file_per_table,
# PARTITION p3 TABLESPACE innodb_system);
#
# CREATE TABLE t6 (i int PRIMARY KEY)
# TABLESPACE s1
# PARTITION BY KEY(i) PARTITIONS 3
# (PARTITION p1 TABLESPACE innodb_file_per_table,
# PARTITION p2 TABLESPACE innodb_file_per_table,
# PARTITION p3 TABLESPACE innodb_system);
#
# CREATE TABLE t7 (i int PRIMARY KEY)
# TABLESPACE s1
# PARTITION BY KEY(i) PARTITIONS 3
# (PARTITION p1 TABLESPACE s2,
# PARTITION p2 TABLESPACE innodb_file_per_table,
# PARTITION p3 TABLESPACE innodb_system);
#
# CREATE TABLE t8 (i int PRIMARY KEY)
# TABLESPACE s1;
#
# then stopping the server, moving the data directory to 'data_80012_part', and zipping the
# entire data_80012_part directory (zip -r data_80012_part.zip data_80012).
--copy_file $MYSQLTEST_VARDIR/std_data/upgrade/data_80012_part.zip $MYSQL_TMP_DIR/data_80012_part.zip
--file_exists $MYSQL_TMP_DIR/data_80012_part.zip
--exec unzip -qo $MYSQL_TMP_DIR/data_80012_part.zip -d $MYSQL_TMP_DIR
--echo ########################################################################
--echo # Starting the DB server will fail since the data dir contains
--echo # tables with non native partitioning.
--echo ########################################################################
let $MYSQLD_DATADIR_80012_PART = $MYSQL_TMP_DIR/data_80012_part;
let $MYSQLD_LOG= $MYSQLTEST_VARDIR/log/save_dd_upgrade_800012_part.log;
--error 1
--exec $MYSQLD --no-defaults --innodb_dedicated_server=OFF --secure-file-priv="" --log-error=$MYSQLD_LOG --datadir=$MYSQLD_DATADIR_80012_PART
--echo ########################################################################
--echo # Look for errors.
--echo ########################################################################
let SEARCH_FILE= $MYSQLD_LOG;
--let SEARCH_PATTERN= Partitioned table 't2' is not allowed to use shared tablespace 'innodb_system'.
--source include/search_pattern.inc
--let SEARCH_PATTERN= Partitioned table 't3' is not allowed to use shared tablespace 's1'.
--source include/search_pattern.inc
--let SEARCH_PATTERN= Partitioned table 't4' is not allowed to use shared tablespace 'innodb_system'.
--source include/search_pattern.inc
--let SEARCH_PATTERN= Partitioned table 't4' is not allowed to use shared tablespace 's1'.
--source include/search_pattern.inc
--let SEARCH_PATTERN= Partitioned table 't5' is not allowed to use shared tablespace 'innodb_system'.
--source include/search_pattern.inc
--let SEARCH_PATTERN= Partitioned table 't5' is not allowed to use shared tablespace 's1'.
--source include/search_pattern.inc
--let SEARCH_PATTERN= Partitioned table 't6' is not allowed to use shared tablespace 'innodb_system'.
--source include/search_pattern.inc
--let SEARCH_PATTERN= Partitioned table 't6' is not allowed to use shared tablespace 's1'.
--source include/search_pattern.inc
--let SEARCH_PATTERN= Partitioned table 't7' is not allowed to use shared tablespace 'innodb_system'.
--source include/search_pattern.inc
--let SEARCH_PATTERN= Partitioned table 't7' is not allowed to use shared tablespace 's2'.
--source include/search_pattern.inc
--let SEARCH_PATTERN= Partitioned table 't7' is not allowed to use shared tablespace 's1'.
--source include/search_pattern.inc
--echo ########################################################################
--echo # Remove copied files.
--echo ########################################################################
--remove_file $MYSQL_TMP_DIR/data_80012_part.zip
--force-rmdir $MYSQL_TMP_DIR/data_80012_part
--echo ########################################################################
--echo # Cleanup: Restart with default options.
--echo ########################################################################
let $restart_parameters =;
--source include/start_mysqld.inc