| Bug #80149 | 32-bit win, internal_tmp_disk_storage_engine=innodb, The table is full, >=4GB | ||
|---|---|---|---|
| Submitted: | 26 Jan 2016 8:10 | Modified: | 26 Jan 2016 10:22 |
| Reporter: | Shane Bester (Platinum Quality Contributor) | Email Updates: | |
| Status: | Verified | Impact on me: | |
| Category: | MySQL Server: DML | Severity: | S3 (Non-critical) |
| Version: | 5.7.10 | OS: | Windows |
| Assigned to: | CPU Architecture: | Any | |
[26 Jan 2016 8:10]
MySQL Verification Team
Need somebody to do two additional tests: o) 32-bit linux. o) 32-bit mysql-trunk on Windows.
[26 Jan 2016 10:22]
MySQL Verification Team
Thank you for the bug report.
mysql> insert into t select * from t;
Query OK, 98304 rows affected (8 min 25.59 sec)
Records: 98304 Duplicates: 0 Warnings: 0
mysql> insert into t select * from t;
ERROR 1114 (HY000): The table 'C:\Users\miguel\AppData\Local\Temp\#sql3a1c_3_10' is full
mysql> show table status like 't';
+------+--------+---------+------------+--------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------
------+------------+-------------------+----------+----------------+---------+
| Name | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time | Update_time
| Check_time | Collation | Checksum | Create_options | Comment |
+------+--------+---------+------------+--------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------
------+------------+-------------------+----------+----------------+---------+
| t | MyISAM | 10 | Dynamic | 196608 | 16392 | 3222798336 | 281474976710655 | 1024 | 0 | NULL | 2016-01-26 07:59:06 | 2016-01-26 08:
17:03 | NULL | latin1_swedish_ci | NULL | | |
+------+--------+---------+------------+--------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------
------+------------+-------------------+----------+----------------+---------+
1 row in set (0.00 sec)
mysql> show variables like "%version%";
+-------------------------+---------------------+
| Variable_name | Value |
+-------------------------+---------------------+
| innodb_version | 5.7.10 |
| protocol_version | 10 |
| slave_type_conversions | |
| tls_version | TLSv1,TLSv1.1 |
| version | 5.7.10 |
| version_comment | Source distribution |
| version_compile_machine | AMD64 |
| version_compile_os | Win32 |
+-------------------------+---------------------+
8 rows in set (0.00 sec)
[25 Apr 2016 12:27]
MySQL Verification Team
http://bugs.mysql.com/bug.php?id=81191 marked as duplicate of this one.
[15 Aug 2018 8:58]
MySQL Verification Team
https://bugs.mysql.com/bug.php?id=92014 marked as duplicate of this one.

Description: Seen with 32-bit builds of 5.7, on windows. When the temporary table reaches 4GB in size, the testcase fails like this: mysql> insert into t select * from t; Query OK, 98304 rows affected (6 min 54.49 sec) Records: 98304 Duplicates: 0 Warnings: 0 mysql> insert into t select * from t; ERROR 1114 (HY000): The table 'c:\tmp\#sql2cc04_17_10' is full o) Works on Linux 64-bit and Windows 64-bit works okay. o) tmpdir and datadir has plenty of free space. How to repeat: # With 32-bit build on windows, try this: set global internal_tmp_disk_storage_engine=InnoDB; -- fails #set global internal_tmp_disk_storage_engine=MyISAM; -- works drop table if exists t; create table t(a blob)engine=myisam; insert into t values(repeat('a',16384)),(repeat('a',16384)),(repeat('a',16384)); insert into t select * from t; insert into t select * from t; insert into t select * from t; insert into t select * from t; insert into t select * from t; insert into t select * from t; insert into t select * from t; insert into t select * from t; insert into t select * from t; insert into t select * from t; insert into t select * from t; insert into t select * from t; insert into t select * from t; insert into t select * from t; insert into t select * from t; insert into t select * from t; insert into t select * from t; show table status like 't';