mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
MDEV-34118 fsp_alloc_free_extent() fails to flag DB_OUT_OF_FILE_SPACE
fsp_alloc_free_extent(): When applicable, set *err = DB_OUT_OF_FILE_SPACE.
This commit is contained in:
@ -801,4 +801,14 @@ CHECK TABLE t EXTENDED;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t check status OK
|
||||
DROP TEMPORARY TABLE t;
|
||||
#
|
||||
# MDEV-34118 fsp_alloc_free_extent() fails to flag DB_OUT_OF_FILE_SPACE
|
||||
#
|
||||
SET @save_increment = @@GLOBAL.innodb_autoextend_increment;
|
||||
SET GLOBAL innodb_autoextend_increment=1;
|
||||
CREATE TEMPORARY TABLE t (c LONGTEXT) ENGINE=INNODB;
|
||||
INSERT INTO t VALUES (REPEAT ('1',16777216));
|
||||
ERROR HY000: The table 't' is full
|
||||
DROP TEMPORARY TABLE t;
|
||||
SET GLOBAL innodb_autoextend_increment=@save_increment;
|
||||
# End of 10.6 tests
|
||||
|
@ -635,4 +635,23 @@ CHECK TABLE t;
|
||||
CHECK TABLE t EXTENDED;
|
||||
DROP TEMPORARY TABLE t;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-34118 fsp_alloc_free_extent() fails to flag DB_OUT_OF_FILE_SPACE
|
||||
--echo #
|
||||
SET @save_increment = @@GLOBAL.innodb_autoextend_increment;
|
||||
SET GLOBAL innodb_autoextend_increment=1;
|
||||
CREATE TEMPORARY TABLE t (c LONGTEXT) ENGINE=INNODB;
|
||||
if ($MTR_COMBINATION_4K)
|
||||
{
|
||||
--error ER_RECORD_FILE_FULL
|
||||
INSERT INTO t VALUES (REPEAT ('1',16777216));
|
||||
}
|
||||
if (!$MTR_COMBINATION_4K)
|
||||
{
|
||||
INSERT INTO t VALUES (REPEAT ('1',16777216));
|
||||
--echo ERROR HY000: The table 't' is full
|
||||
}
|
||||
DROP TEMPORARY TABLE t;
|
||||
SET GLOBAL innodb_autoextend_increment=@save_increment;
|
||||
|
||||
--echo # End of 10.6 tests
|
||||
|
@ -967,6 +967,7 @@ corrupted:
|
||||
first = flst_get_first(FSP_HEADER_OFFSET + FSP_FREE
|
||||
+ header->page.frame);
|
||||
if (first.page == FIL_NULL) {
|
||||
*err = DB_OUT_OF_FILE_SPACE;
|
||||
return nullptr; /* No free extents left */
|
||||
}
|
||||
if (first.page >= space->free_limit) {
|
||||
|
Reference in New Issue
Block a user