root@percona-ubuntuvm:/opt/mysql/server-5.6/bin# ./mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.15 MySQL Community Server (GPL)
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> use test;
Database changed
mysql> show tables;
Empty set (0.00 sec)
mysql> CREATE PROCEDURE load_test() begin declare v_iterations int default 0; truncate table test; while v_iterations < 2100 do insert into test (inmem) values ("a"*8192); set v_iterations=v_iterations+1; end while; end//
Query OK, 0 rows affected (0.00 sec)
mysql> delimiter ;
mysql> call load_test;
ERROR 1114 (HY000): The table 'test' is full
mysql> select count(*) from test;
+----------+
| count(*) |
+----------+
| 2032 |
+----------+
1 row in set (0.00 sec)
mysql> DELETE FROM test LIMIT 100;
Query OK, 100 rows affected (0.01 sec)
mysql> select count(*) from test;
+----------+
| count(*) |
+----------+
| 1932 |
+----------+
1 row in set (0.00 sec)
mysql> INSERT INTO test VALUES ("a"*8192);
Query OK, 1 row affected, 1 warning (0.00 sec)
mysql> select count(*) from test;
+----------+
| count(*) |
+----------+
| 1933 |
+----------+
1 row in set (0.00 sec)
Was not able to reproduce on Oracle MySQL 5.6.15
root@percona- ubuntuvm: /opt/mysql/ server- 5.6/bin# ./mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.15 MySQL Community Server (GPL)
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> use test;
Database changed
mysql> show tables;
Empty set (0.00 sec)
mysql> create table test (inmem varchar(8192)) ENGINE=MEMORY;
Query OK, 0 rows affected (0.02 sec)
mysql> delimiter //
mysql> CREATE PROCEDURE load_test() begin declare v_iterations int default 0; truncate table test; while v_iterations < 2100 do insert into test (inmem) values ("a"*8192); set v_iterations= v_iterations+ 1; end while; end//
Query OK, 0 rows affected (0.00 sec)
mysql> delimiter ;
mysql> call load_test;
ERROR 1114 (HY000): The table 'test' is full
mysql> select count(*) from test;
+----------+
| count(*) |
+----------+
| 2032 |
+----------+
1 row in set (0.00 sec)
mysql> DELETE FROM test LIMIT 100;
Query OK, 100 rows affected (0.01 sec)
mysql> select count(*) from test;
+----------+
| count(*) |
+----------+
| 1932 |
+----------+
1 row in set (0.00 sec)
mysql> INSERT INTO test VALUES ("a"*8192);
Query OK, 1 row affected, 1 warning (0.00 sec)
mysql> select count(*) from test;
+----------+
| count(*) |
+----------+
| 1933 |
+----------+
1 row in set (0.00 sec)