Manual merge.
This commit is contained in:
commit
64f6fb7c8f
@ -833,3 +833,16 @@ Table Op Msg_type Msg_text
|
||||
test.t2 check status OK
|
||||
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;
|
||||
drop table t1,t2;
|
||||
--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,
|
||||
if (table->s->db_type() != heap_hton ||
|
||||
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));
|
||||
DBUG_RETURN(1);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user