mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +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
|
Table Op Msg_type Msg_text
|
||||||
test.t check status OK
|
test.t check status OK
|
||||||
DROP TEMPORARY TABLE t;
|
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
|
# End of 10.6 tests
|
||||||
|
@ -635,4 +635,23 @@ CHECK TABLE t;
|
|||||||
CHECK TABLE t EXTENDED;
|
CHECK TABLE t EXTENDED;
|
||||||
DROP TEMPORARY TABLE t;
|
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
|
--echo # End of 10.6 tests
|
||||||
|
@ -967,6 +967,7 @@ corrupted:
|
|||||||
first = flst_get_first(FSP_HEADER_OFFSET + FSP_FREE
|
first = flst_get_first(FSP_HEADER_OFFSET + FSP_FREE
|
||||||
+ header->page.frame);
|
+ header->page.frame);
|
||||||
if (first.page == FIL_NULL) {
|
if (first.page == FIL_NULL) {
|
||||||
|
*err = DB_OUT_OF_FILE_SPACE;
|
||||||
return nullptr; /* No free extents left */
|
return nullptr; /* No free extents left */
|
||||||
}
|
}
|
||||||
if (first.page >= space->free_limit) {
|
if (first.page >= space->free_limit) {
|
||||||
|
Reference in New Issue
Block a user