diff options
author | Georgi Kodinov <joro@sun.com> | 2009-07-13 20:36:54 +0300 |
---|---|---|
committer | Georgi Kodinov <joro@sun.com> | 2009-07-13 20:36:54 +0300 |
commit | bef74a2335bcd99699579d4db2b80692aa5fb1da (patch) | |
tree | b51de7ece35f1ee2f89556f42ea5a616174cdbf7 /sql/sql_update.cc | |
parent | 68228070f80eded56049f4b300583b9e3309fe33 (diff) | |
parent | 410e1a72b957b72e0fb2a50930e7e82847c4486c (diff) | |
download | mariadb-git-bef74a2335bcd99699579d4db2b80692aa5fb1da.tar.gz |
Merge of the fix for bug #40113 to 5.1.
Diffstat (limited to 'sql/sql_update.cc')
-rw-r--r-- | sql/sql_update.cc | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/sql/sql_update.cc b/sql/sql_update.cc index 17cc683e14a..6884f863326 100644 --- a/sql/sql_update.cc +++ b/sql/sql_update.cc @@ -292,7 +292,7 @@ int mysql_update(THD *thd, if (select_lex->inner_refs_list.elements && fix_inner_refs(thd, all_fields, select_lex, select_lex->ref_pointer_array)) - DBUG_RETURN(-1); + DBUG_RETURN(1); if (conds) { @@ -332,7 +332,14 @@ int mysql_update(THD *thd, { delete select; free_underlaid_joins(thd, select_lex); - if (error) + /* + There was an error or the error was already sent by + the quick select evaluation. + TODO: Add error code output parameter to Item::val_xxx() methods. + Currently they rely on the user checking DA for + errors when unwinding the stack after calling Item::val_xxx(). + */ + if (error || thd->is_error()) { DBUG_RETURN(1); // Error in where } |