Commit 498dc4d3 authored by Alexey Kopytov's avatar Alexey Kopytov

Manual merge.

parents 5398b3ef 885292e4
...@@ -833,3 +833,16 @@ Table Op Msg_type Msg_text ...@@ -833,3 +833,16 @@ Table Op Msg_type Msg_text
test.t2 check status OK test.t2 check status OK
drop table t1,t2; drop table t1,t2;
################################################################## ##################################################################
#
# Bug #46075: Assertion failed: 0, file .\protocol.cc, line 416
#
CREATE TABLE t1(a INT);
SET max_heap_table_size = 16384;
SET @old_myisam_data_pointer_size = @@myisam_data_pointer_size;
SET GLOBAL myisam_data_pointer_size = 2;
INSERT INTO t1 VALUES (1), (2), (3), (4), (5);
INSERT IGNORE INTO t1 SELECT t1.a FROM t1,t1 t2,t1 t3,t1 t4,t1 t5,t1 t6,t1 t7;
Got one of the listed errors
SET GLOBAL myisam_data_pointer_size = @old_myisam_data_pointer_size;
DROP TABLE t1;
End of 5.0 tests
...@@ -394,3 +394,24 @@ check table t2 extended; ...@@ -394,3 +394,24 @@ check table t2 extended;
drop table t1,t2; drop table t1,t2;
--echo ################################################################## --echo ##################################################################
--echo #
--echo # Bug #46075: Assertion failed: 0, file .\protocol.cc, line 416
--echo #
CREATE TABLE t1(a INT);
# To force MyISAM temp. table in the following INSERT ... SELECT.
SET max_heap_table_size = 16384;
# To overflow the temp. table.
SET @old_myisam_data_pointer_size = @@myisam_data_pointer_size;
SET GLOBAL myisam_data_pointer_size = 2;
INSERT INTO t1 VALUES (1), (2), (3), (4), (5);
--error ER_RECORD_FILE_FULL,ER_RECORD_FILE_FULL
INSERT IGNORE INTO t1 SELECT t1.a FROM t1,t1 t2,t1 t3,t1 t4,t1 t5,t1 t6,t1 t7;
# Cleanup
SET GLOBAL myisam_data_pointer_size = @old_myisam_data_pointer_size;
DROP TABLE t1;
--echo End of 5.0 tests
...@@ -10652,6 +10652,11 @@ bool create_myisam_from_heap(THD *thd, TABLE *table, TMP_TABLE_PARAM *param, ...@@ -10652,6 +10652,11 @@ bool create_myisam_from_heap(THD *thd, TABLE *table, TMP_TABLE_PARAM *param,
if (table->s->db_type() != heap_hton || if (table->s->db_type() != heap_hton ||
error != HA_ERR_RECORD_FILE_FULL) error != HA_ERR_RECORD_FILE_FULL)
{ {
/*
We don't want this error to be converted to a warning, e.g. in case of
INSERT IGNORE ... SELECT.
*/
thd->fatal_error();
table->file->print_error(error,MYF(0)); table->file->print_error(error,MYF(0));
DBUG_RETURN(1); DBUG_RETURN(1);
} }
......
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