mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 12:02:42 +01:00
Bug#49161: Out of memory; restart server and try again (needed 2 bytes)
Problem was reporting wrong error Fixed by adding a new error which better explain the problem. mysql-test/r/partition_error.result: Bug#49161: Out of memory; restart server and try again (needed 2 bytes) Updated test result mysql-test/t/partition_error.test: Bug#49161: Out of memory; restart server and try again (needed 2 bytes) Added test case sql/ha_partition.cc: Bug#49161: Out of memory; restart server and try again (needed 2 bytes) Better error message. (used ER_UNKNOWN_ERROR to avoid merge problems in mysql-trunk+)
This commit is contained in:
parent
8f8e1d6fb8
commit
0fdd97af48
3 changed files with 37 additions and 3 deletions
|
@ -1,5 +1,21 @@
|
|||
drop table if exists t1;
|
||||
#
|
||||
# Bug#49161: Out of memory; restart server and try again (needed 2 bytes)
|
||||
#
|
||||
CREATE TABLE t1 (a INT) PARTITION BY HASH (a);
|
||||
FLUSH TABLES;
|
||||
CHECK TABLE t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check Error Failed to read from the .par file
|
||||
test.t1 check Error Incorrect information in file: './test/t1.frm'
|
||||
test.t1 check error Corrupt
|
||||
SELECT * FROM t1;
|
||||
ERROR HY000: Failed to read from the .par file
|
||||
# Note that it is currently impossible to drop a partitioned table
|
||||
# without the .par file
|
||||
DROP TABLE t1;
|
||||
ERROR 42S02: Unknown table 't1'
|
||||
#
|
||||
# Bug#49477: Assertion `0' failed in ha_partition.cc:5530
|
||||
# with temporary table and partitions
|
||||
#
|
||||
|
|
|
@ -7,7 +7,26 @@
|
|||
--disable_warnings
|
||||
drop table if exists t1;
|
||||
--enable_warnings
|
||||
|
||||
|
||||
let $MYSQLD_DATADIR= `SELECT @@datadir`;
|
||||
|
||||
--echo #
|
||||
--echo # Bug#49161: Out of memory; restart server and try again (needed 2 bytes)
|
||||
--echo #
|
||||
CREATE TABLE t1 (a INT) PARTITION BY HASH (a);
|
||||
FLUSH TABLES;
|
||||
--remove_file $MYSQLD_DATADIR/test/t1.par
|
||||
CHECK TABLE t1;
|
||||
--error ER_UNKNOWN_ERROR
|
||||
SELECT * FROM t1;
|
||||
--echo # Note that it is currently impossible to drop a partitioned table
|
||||
--echo # without the .par file
|
||||
--error ER_BAD_TABLE_ERROR
|
||||
DROP TABLE t1;
|
||||
--remove_file $MYSQLD_DATADIR/test/t1.frm
|
||||
--remove_file $MYSQLD_DATADIR/test/t1#P#p0.MYI
|
||||
--remove_file $MYSQLD_DATADIR/test/t1#P#p0.MYD
|
||||
|
||||
--echo #
|
||||
--echo # Bug#49477: Assertion `0' failed in ha_partition.cc:5530
|
||||
--echo # with temporary table and partitions
|
||||
|
@ -167,7 +186,6 @@ partitions 3
|
|||
partition x2 tablespace ts2,
|
||||
partition x3 tablespace ts3);
|
||||
|
||||
let $MYSQLD_DATADIR= `select @@datadir`;
|
||||
select load_file('$MYSQLD_DATADIR/test/t1.par');
|
||||
#
|
||||
# Partition by hash, invalid field in function
|
||||
|
|
|
@ -359,7 +359,7 @@ bool ha_partition::initialize_partition(MEM_ROOT *mem_root)
|
|||
}
|
||||
else if (get_from_handler_file(table_share->normalized_path.str, mem_root))
|
||||
{
|
||||
mem_alloc_error(2);
|
||||
my_message(ER_UNKNOWN_ERROR, "Failed to read from the .par file", MYF(0));
|
||||
DBUG_RETURN(1);
|
||||
}
|
||||
/*
|
||||
|
|
Loading…
Reference in a new issue