Merge mysql.com:/home/ram/work/mysql-5.0-engines

into  mysql.com:/home/ram/work/b32676/b32676.5.0
parents 02e321d3 5adf16e2
...@@ -255,3 +255,8 @@ CREATE TABLE t2(c1 INT) ENGINE=MERGE UNION=(t1); ...@@ -255,3 +255,8 @@ CREATE TABLE t2(c1 INT) ENGINE=MERGE UNION=(t1);
INSERT DELAYED INTO t2 VALUES(1); INSERT DELAYED INTO t2 VALUES(1);
ERROR HY000: Table storage engine for 't2' doesn't have this option ERROR HY000: Table storage engine for 't2' doesn't have this option
DROP TABLE t1, t2; DROP TABLE t1, t2;
CREATE TABLE t1 (a INT);
INSERT DELAYED INTO t1 SET b= b();
ERROR 42S22: Unknown column 'b' in 'field list'
DROP TABLE t1;
End of 5.0 tests
...@@ -252,3 +252,12 @@ CREATE TABLE t2(c1 INT) ENGINE=MERGE UNION=(t1); ...@@ -252,3 +252,12 @@ CREATE TABLE t2(c1 INT) ENGINE=MERGE UNION=(t1);
INSERT DELAYED INTO t2 VALUES(1); INSERT DELAYED INTO t2 VALUES(1);
DROP TABLE t1, t2; DROP TABLE t1, t2;
#
# Bug #32676: insert delayed crash with wrong column and function specified
#
CREATE TABLE t1 (a INT);
--error ER_BAD_FIELD_ERROR
INSERT DELAYED INTO t1 SET b= b();
DROP TABLE t1;
--echo End of 5.0 tests
...@@ -585,7 +585,7 @@ bool mysql_insert(THD *thd,TABLE_LIST *table_list, ...@@ -585,7 +585,7 @@ bool mysql_insert(THD *thd,TABLE_LIST *table_list,
bool log_on= (thd->options & OPTION_BIN_LOG) || bool log_on= (thd->options & OPTION_BIN_LOG) ||
(!(thd->security_ctx->master_access & SUPER_ACL)); (!(thd->security_ctx->master_access & SUPER_ACL));
#endif #endif
thr_lock_type lock_type = table_list->lock_type; thr_lock_type lock_type;
Item *unused_conds= 0; Item *unused_conds= 0;
DBUG_ENTER("mysql_insert"); DBUG_ENTER("mysql_insert");
...@@ -620,6 +620,7 @@ bool mysql_insert(THD *thd,TABLE_LIST *table_list, ...@@ -620,6 +620,7 @@ bool mysql_insert(THD *thd,TABLE_LIST *table_list,
if (open_and_lock_tables(thd, table_list)) if (open_and_lock_tables(thd, table_list))
DBUG_RETURN(TRUE); DBUG_RETURN(TRUE);
} }
lock_type= table_list->lock_type;
thd->proc_info="init"; thd->proc_info="init";
thd->used_tables=0; thd->used_tables=0;
...@@ -637,7 +638,6 @@ bool mysql_insert(THD *thd,TABLE_LIST *table_list, ...@@ -637,7 +638,6 @@ bool mysql_insert(THD *thd,TABLE_LIST *table_list,
/* mysql_prepare_insert set table_list->table if it was not set */ /* mysql_prepare_insert set table_list->table if it was not set */
table= table_list->table; table= table_list->table;
lock_type= table_list->lock_type;
context= &thd->lex->select_lex.context; context= &thd->lex->select_lex.context;
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment