diff --git a/sql/sql_insert.cc b/sql/sql_insert.cc index 0acb7e747ad..b764263265e 100644 --- a/sql/sql_insert.cc +++ b/sql/sql_insert.cc @@ -3555,7 +3555,8 @@ int select_insert::prepare2(void) { DBUG_ENTER("select_insert::prepare2"); if (thd->lex->current_select->options & OPTION_BUFFER_RESULT && - thd->locked_tables_mode <= LTM_LOCK_TABLES) + thd->locked_tables_mode <= LTM_LOCK_TABLES && + !thd->lex->describe) table->file->ha_start_bulk_insert((ha_rows) 0); DBUG_RETURN(0); } diff --git a/storage/tokudb/mysql-test/tokudb_mariadb/r/mdev5426.result b/storage/tokudb/mysql-test/tokudb_mariadb/r/mdev5426.result new file mode 100644 index 00000000000..086c4f4cc18 --- /dev/null +++ b/storage/tokudb/mysql-test/tokudb_mariadb/r/mdev5426.result @@ -0,0 +1,6 @@ +CREATE TABLE t1 (i INT) ENGINE=TokuDB; +EXPLAIN INSERT INTO t1 SELECT * FROM t1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 1 Using temporary +INSERT INTO t1 SELECT * FROM t1; +DROP TABLE t1; diff --git a/storage/tokudb/mysql-test/tokudb_mariadb/t/mdev5426.test b/storage/tokudb/mysql-test/tokudb_mariadb/t/mdev5426.test new file mode 100644 index 00000000000..b16e81353ff --- /dev/null +++ b/storage/tokudb/mysql-test/tokudb_mariadb/t/mdev5426.test @@ -0,0 +1,10 @@ + +CREATE TABLE t1 (i INT) ENGINE=TokuDB; +EXPLAIN INSERT INTO t1 SELECT * FROM t1; + +--connect con1,localhost,root,,test +INSERT INTO t1 SELECT * FROM t1; + +--connection default +--disconnect con1 +DROP TABLE t1;