summaryrefslogtreecommitdiff
path: root/sql/sql_update.cc
diff options
context:
space:
mode:
authorgshchepa/uchum@host.loc <>2008-05-18 14:27:44 +0500
committergshchepa/uchum@host.loc <>2008-05-18 14:27:44 +0500
commitd044d9f00b90ad328d11dff7a971e5c4a2aec04f (patch)
tree5b858cc7cd92c5992d97fe4e3b58dc0eab964940 /sql/sql_update.cc
parentfaa1330836a4c1e42bcc65772f15c2e5f125be47 (diff)
parent80b16212c377c91bc306fc1f3a60edba630bb69b (diff)
downloadmariadb-git-d044d9f00b90ad328d11dff7a971e5c4a2aec04f.tar.gz
Merge host.loc:/work/bk/5.0-bugteam
into host.loc:/work/bk/5.1-bugteam
Diffstat (limited to 'sql/sql_update.cc')
-rw-r--r--sql/sql_update.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/sql/sql_update.cc b/sql/sql_update.cc
index 23ad5ce9385..9d6a2b1b8c8 100644
--- a/sql/sql_update.cc
+++ b/sql/sql_update.cc
@@ -1669,6 +1669,12 @@ bool multi_update::send_data(List<Item> &not_used_values)
tbl->file->position(tbl->record[0]);
memcpy((char*) tmp_table->field[field_num]->ptr,
(char*) tbl->file->ref, tbl->file->ref_length);
+ /*
+ For outer joins a rowid field may have no NOT_NULL_FLAG,
+ so we have to reset NULL bit for this field.
+ (set_notnull() resets NULL bit only if available).
+ */
+ tmp_table->field[field_num]->set_notnull();
field_num++;
} while ((tbl= tbl_it++));