mirror of
https://github.com/MariaDB/server.git
synced 2025-11-30 05:23:50 +03:00
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`.
30 lines
1.2 KiB
Plaintext
30 lines
1.2 KiB
Plaintext
#
|
|
# MDEV-15333 MariaDB (still) slow start
|
|
#
|
|
# FIXME: Unlike MySQL, maybe MariaDB should not read the .ibd files
|
|
# of tables with .isl file or DATA DIRECTORY attribute.
|
|
# FIXME: This is much more noisy than MariaDB 10.1!
|
|
call mtr.add_suppression("\\[ERROR\\] InnoDB: Tablespace flags are invalid in datafile: .*test.t[rcd]\\.ibd");
|
|
call mtr.add_suppression("\\[ERROR\\] InnoDB: Operating system error number .* in a file operation\\.");
|
|
call mtr.add_suppression("\\[ERROR\\] InnoDB: The error means the system cannot find the path specified\\.");
|
|
call mtr.add_suppression("\\[Warning\\] InnoDB: Ignoring tablespace for test/td because it could not be opened\\.");
|
|
CREATE TABLE tr(a INT)ENGINE=InnoDB ROW_FORMAT=REDUNDANT;
|
|
CREATE TABLE tc(a INT)ENGINE=InnoDB ROW_FORMAT=COMPACT
|
|
PAGE_COMPRESSED=1 PAGE_COMPRESSION_LEVEL=9;
|
|
CREATE TABLE td(a INT)ENGINE=InnoDB ROW_FORMAT=DYNAMIC
|
|
STATS_PERSISTENT=0 DATA DIRECTORY='MYSQL_TMP_DIR';
|
|
# restart: --skip-innodb-buffer-pool-load-at-startup
|
|
SELECT COUNT(*) FROM INFORMATION_SCHEMA.ENGINES
|
|
WHERE engine = 'innodb'
|
|
AND support IN ('YES', 'DEFAULT', 'ENABLED');
|
|
COUNT(*)
|
|
1
|
|
# restart
|
|
SELECT * FROM tr;
|
|
a
|
|
SELECT * FROM tc;
|
|
a
|
|
SELECT * FROM td;
|
|
a
|
|
DROP TABLE tr,tc,td;
|