summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorunknown <gshchepa/uchum@host.loc>2008-05-18 14:27:17 +0500
committerunknown <gshchepa/uchum@host.loc>2008-05-18 14:27:17 +0500
commit8bc987ab5b5ba74a4b8879701a3313043a574f2e (patch)
tree939bda9617b11a7a48880c7c3c6e673d0d1b05b4 /sql
parentf197f3abb40c8af4687e7535e9dc53bf4621b939 (diff)
parent29e7fa258d7a20bb2bd5305c2e0fe6ae3b1c76af (diff)
downloadmariadb-git-8bc987ab5b5ba74a4b8879701a3313043a574f2e.tar.gz
Merge host.loc:/work/bugs/5.0-bugteam-36676
into host.loc:/work/bk/5.0-bugteam
Diffstat (limited to 'sql')
-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 a8238141f25..6830564111b 100644
--- a/sql/sql_update.cc
+++ b/sql/sql_update.cc
@@ -1440,6 +1440,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++));