summaryrefslogtreecommitdiff
path: root/sql/field_conv.cc
diff options
context:
space:
mode:
authorIgor Babaev <igor@askmonty.org>2012-03-01 14:22:22 -0800
committerIgor Babaev <igor@askmonty.org>2012-03-01 14:22:22 -0800
commit8b469eb5151cb1b7da00cee3a7b42c10bd7ff51e (patch)
treea2dd09bd1fd3ba15b098eebf8b581bef7664b212 /sql/field_conv.cc
parent29b0b0b5de46c6950b8b53314c74f6f458ba1a98 (diff)
parent000deedf3b708681951af6a0629af89c1f5ee85a (diff)
downloadmariadb-git-8b469eb5151cb1b7da00cee3a7b42c10bd7ff51e.tar.gz
Merge 5.3->5.5.
Diffstat (limited to 'sql/field_conv.cc')
-rw-r--r--sql/field_conv.cc10
1 files changed, 10 insertions, 0 deletions
diff --git a/sql/field_conv.cc b/sql/field_conv.cc
index 89ac499b6c0..37aee93fe82 100644
--- a/sql/field_conv.cc
+++ b/sql/field_conv.cc
@@ -117,6 +117,11 @@ static void do_outer_field_to_null_str(Copy_field *copy)
int
set_field_to_null(Field *field)
{
+ if (field->table->null_catch_flags & CHECK_ROW_FOR_NULLS_TO_REJECT)
+ {
+ field->table->null_catch_flags|= REJECT_ROW_DUE_TO_NULL_FIELDS;
+ return -1;
+ }
if (field->real_maybe_null())
{
field->set_null();
@@ -160,6 +165,11 @@ set_field_to_null(Field *field)
int
set_field_to_null_with_conversions(Field *field, bool no_conversions)
{
+ if (field->table->null_catch_flags & CHECK_ROW_FOR_NULLS_TO_REJECT)
+ {
+ field->table->null_catch_flags|= REJECT_ROW_DUE_TO_NULL_FIELDS;
+ return -1;
+ }
if (field->real_maybe_null())
{
field->set_null();