Commit f90429ed authored by Mattias Jonsson's avatar Mattias Jonsson

Manual merge of bug#49161 into mysql-trunk-merge

(Added a real error message instead of ER_UNKNOWN_ERROR)
parents eb830c3d 9731b385
drop table if exists t1; 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 # Bug#49477: Assertion `0' failed in ha_partition.cc:5530
# with temporary table and partitions # with temporary table and partitions
# #
......
...@@ -7,7 +7,26 @@ ...@@ -7,7 +7,26 @@
--disable_warnings --disable_warnings
drop table if exists t1; drop table if exists t1;
--enable_warnings --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_FAILED_READ_FROM_PAR_FILE
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 #
--echo # Bug#49477: Assertion `0' failed in ha_partition.cc:5530 --echo # Bug#49477: Assertion `0' failed in ha_partition.cc:5530
--echo # with temporary table and partitions --echo # with temporary table and partitions
...@@ -167,7 +186,6 @@ partitions 3 ...@@ -167,7 +186,6 @@ partitions 3
partition x2 tablespace ts2, partition x2 tablespace ts2,
partition x3 tablespace ts3); partition x3 tablespace ts3);
let $MYSQLD_DATADIR= `select @@datadir`;
select load_file('$MYSQLD_DATADIR/test/t1.par'); select load_file('$MYSQLD_DATADIR/test/t1.par');
# #
# Partition by hash, invalid field in function # Partition by hash, invalid field in function
......
...@@ -361,7 +361,7 @@ bool ha_partition::initialize_partition(MEM_ROOT *mem_root) ...@@ -361,7 +361,7 @@ bool ha_partition::initialize_partition(MEM_ROOT *mem_root)
} }
else if (get_from_handler_file(table_share->normalized_path.str, mem_root)) else if (get_from_handler_file(table_share->normalized_path.str, mem_root))
{ {
mem_alloc_error(2); my_error(ER_FAILED_READ_FROM_PAR_FILE, MYF(0));
DBUG_RETURN(1); DBUG_RETURN(1);
} }
/* /*
......
...@@ -6336,3 +6336,7 @@ ER_BINLOG_UNSAFE_MULTIPLE_ENGINES_AND_SELF_LOGGING_ENGINE ...@@ -6336,3 +6336,7 @@ ER_BINLOG_UNSAFE_MULTIPLE_ENGINES_AND_SELF_LOGGING_ENGINE
ER_BINLOG_UNSAFE_MIXED_STATEMENT ER_BINLOG_UNSAFE_MIXED_STATEMENT
eng "Statements that read from both transactional (or a temporary table of any engine type) and non-transactional tables and write to any of them are unsafe." eng "Statements that read from both transactional (or a temporary table of any engine type) and non-transactional tables and write to any of them are unsafe."
ER_FAILED_READ_FROM_PAR_FILE
eng "Failed to read from the .par file"
swe "Misslyckades läsa från .par filen"
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment