mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-29 09:56:12 +01:00 
			
		
		
		
	 49e2c8f0a6
			
		
	
	
	49e2c8f0a6
	
	
	
		
			
			Many InnoDB data dictionary cache operations require that the table name be copied so that it will be NUL terminated. (For example, SYS_TABLES.NAME is not guaranteed to be NUL-terminated.) dict_table_t::is_garbage_name(): Check if a name belongs to the background drop table queue. dict_check_if_system_table_exists(): Remove. dict_sys_t::load_sys_tables(): Load the non-hard-coded system tables SYS_FOREIGN, SYS_FOREIGN_COLS, SYS_VIRTUAL on startup. dict_sys_t::create_or_check_sys_tables(): Replaces dict_create_or_check_foreign_constraint_tables() and dict_create_or_check_sys_virtual(). dict_sys_t::load_table(): Replaces dict_table_get_low() and dict_load_table(). dict_sys_t::find_table(): Renamed from get_table(). dict_sys_t::sys_tables_exist(): Check whether all the non-hard-coded tables SYS_FOREIGN, SYS_FOREIGN_COLS, SYS_VIRTUAL exist. trx_t::has_stats_table_lock(): Moved to dict0stats.cc. Some error messages will now report table names in the internal databasename/tablename format, instead of `databasename`.`tablename`.
		
			
				
	
	
		
			34 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| --source include/have_innodb.inc
 | |
| 
 | |
| #
 | |
| # MDEV-13499: Backing up table that "doesn't exist in engine" cause crash in mariabackup when using encryption
 | |
| #
 | |
| create table t1(c1 int) engine=InnoDB;
 | |
| INSERT INTO t1 VALUES(1);
 | |
| let MYSQLD_DATADIR=`select @@datadir`;
 | |
| 
 | |
| --disable_query_log
 | |
| call mtr.add_suppression("InnoDB: Cannot open datafile for read-only: '.*test.t1\.ibd'");
 | |
| call mtr.add_suppression('InnoDB: Operating system error number');
 | |
| call mtr.add_suppression('InnoDB: The error means the system cannot find the path specified\.');
 | |
| call mtr.add_suppression('InnoDB: Table test/t1 in the InnoDB data dictionary has tablespace id .*, but tablespace with that id or name does not exist');
 | |
| call mtr.add_suppression('InnoDB: Ignoring tablespace for test/t1 because it could not be opened\.');
 | |
| --enable_query_log
 | |
| 
 | |
| --source include/shutdown_mysqld.inc
 | |
| 
 | |
| --remove_file $MYSQLD_DATADIR/test/t1.ibd
 | |
| 
 | |
| --source include/start_mysqld.inc
 | |
| 
 | |
| echo # xtrabackup backup;
 | |
| let $targetdir=$MYSQLTEST_VARDIR/tmp/backup;
 | |
| --disable_result_log
 | |
| exec  $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir;
 | |
| --enable_result_log
 | |
| 
 | |
| rmdir $targetdir;
 | |
| 
 | |
| --error ER_GET_ERRNO
 | |
| select * from t1;
 | |
| drop table t1;
 |