From ea195d372bfa8f695ee2189f909c9c22b39df0c4 Mon Sep 17 00:00:00 2001 From: Sergei Golubchik Date: Sun, 1 May 2016 19:33:25 +0200 Subject: MDEV-9949 Connect Engine: long SRCDEF leads to broken table Two bugs here: * the server could create an frm (with a long attribute value) that it could not read back * Connect engine opened files from inside DROP TABLE and was ignoring the error (correctly) but was not hiding it from the server (incorrectly). This caused a crash later when DROP TABLE was finishing successfully while stmt_da already have seen an error. Also added a text case for MDEV-7935 CREATE TABLE ... AS SELECT ... can cause a Server crash (Assertion `0' in Protocol::end_statement) because Connect stopped clearing the error status in stmt_da as a fix for MDEV-7935 --- sql/create_options.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'sql/create_options.h') diff --git a/sql/create_options.h b/sql/create_options.h index f7b04f0484f..3e7f9ecfabf 100644 --- a/sql/create_options.h +++ b/sql/create_options.h @@ -23,7 +23,8 @@ #define SQL_CREATE_OPTIONS_INCLUDED #include "sql_class.h" -//#include "handler.h" + +enum { ENGINE_OPTION_MAX_LENGTH=32767 }; class engine_option_value: public Sql_alloc { -- cgit v1.2.1