diff options
-rw-r--r-- | mysql-test/t/init_file-master.opt | 1 | ||||
-rw-r--r-- | mysql-test/t/init_file.sql | 1 | ||||
-rw-r--r-- | mysql-test/t/init_file.test | 4 | ||||
-rw-r--r-- | sql/sql_class.cc | 2 |
4 files changed, 8 insertions, 0 deletions
diff --git a/mysql-test/t/init_file-master.opt b/mysql-test/t/init_file-master.opt new file mode 100644 index 00000000000..1542f1f034e --- /dev/null +++ b/mysql-test/t/init_file-master.opt @@ -0,0 +1 @@ +--init-file=$MYSQL_TEST_DIR/t/init_file.sql
\ No newline at end of file diff --git a/mysql-test/t/init_file.sql b/mysql-test/t/init_file.sql new file mode 100644 index 00000000000..4236ada1142 --- /dev/null +++ b/mysql-test/t/init_file.sql @@ -0,0 +1 @@ +select * from mysql.user as t1, mysql.user as t2, mysql.user as t3, mysql.user as t4, mysql.user as t5, mysql.user as t6, mysql.user as t7, mysql.user as t8;
\ No newline at end of file diff --git a/mysql-test/t/init_file.test b/mysql-test/t/init_file.test new file mode 100644 index 00000000000..eb4c24871db --- /dev/null +++ b/mysql-test/t/init_file.test @@ -0,0 +1,4 @@ +# +# This test is for bug #2526 "--init-file crashes MySQL if contains large select" +# Have a look at code in init_file.sql +# diff --git a/sql/sql_class.cc b/sql/sql_class.cc index fc83131e98a..44faa3d6963 100644 --- a/sql/sql_class.cc +++ b/sql/sql_class.cc @@ -495,6 +495,8 @@ bool select_send::send_data(List<Item> &items) } } thd->sent_row_count++; + if (!thd->net.vio) + DBUG_RETURN(0); bool error=my_net_write(&thd->net,(char*) packet->ptr(),packet->length()); DBUG_RETURN(error); } |