Details
Description
I've hit this while merging this testcase from mysql-5.1/mysql-test/insert_select.test:
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;
The problems are that
- Aria engine doesn't have an analog of myisam_data_pointer_size, consequently the insert will not fail and we can't run the testcase.
- Albeit there is a #define USE_MARIA_FOR_TMP_TABLES, once you have a binary there is no straightforward way to tell from SQL whether it will use maria or myisam for temporary tables.
Gliffy Diagrams
Attachments
Activity
- All
- Comments
- Work Log
- History
- Activity
- Transitions
Re: No way to limit temporary table size when maria tables are in use
Will add a server variable.