mirror of
https://github.com/MariaDB/server.git
synced 2025-02-10 15:35:34 +01:00
![Marko Mäkelä](/assets/img/avatar_default.png)
As part of MDEV-23855, we eliminated fil_system.LRU and changed the way how InnoDB data files are opened. We are also enforcing the innodb_open_files limit when new data files are created. The function fil_space_t::flush() would be invoked by row_quiesce_table_start(). If the table was already in clean state, it is possible that the data file is not open. fil_space_t::flush_low(): If the data file is not open, check with a debug assertion that there are no unflushed changes, and carry on. Reviewed by: Eugene Kosov and Thirunarayanan Balathandayuthapani
19 lines
618 B
Text
19 lines
618 B
Text
--source include/have_innodb.inc
|
|
|
|
SELECT @@GLOBAL.innodb_open_files;
|
|
|
|
CREATE TABLE t0 (a INT) ENGINE=InnoDB;
|
|
# Ensure that the created table t0 is clean.
|
|
FLUSH TABLE t0 WITH READ LOCK;
|
|
UNLOCK TABLES;
|
|
CREATE TABLE t1 (a INT) ENGINE=InnoDB;
|
|
CREATE TABLE t2 (a INT) ENGINE=InnoDB;
|
|
CREATE TABLE t3 (a INT) ENGINE=InnoDB;
|
|
CREATE TABLE t4 (a INT) ENGINE=InnoDB;
|
|
CREATE TABLE t5 (a INT) ENGINE=InnoDB;
|
|
CREATE TABLE t6 (a INT) ENGINE=InnoDB;
|
|
CREATE TABLE t7 (a INT) ENGINE=InnoDB;
|
|
# Now, the data file for t0 should not be open anymore.
|
|
FLUSH TABLE t0 WITH READ LOCK;
|
|
UNLOCK TABLES;
|
|
DROP TABLE t0, t1, t2, t3, t4, t5, t6, t7;
|