diff options
author | Sergey Petrunya <psergey@askmonty.org> | 2011-07-09 13:47:41 +0400 |
---|---|---|
committer | Sergey Petrunya <psergey@askmonty.org> | 2011-07-09 13:47:41 +0400 |
commit | 0ce603ab5e4db19c961404489efe6604a28341e1 (patch) | |
tree | 60bd948a2711a243bcf55d280639ed96c5a05527 /sql/item.cc | |
parent | a4f5e01475e90019230dfefa45bf61f1b4b74bc7 (diff) | |
download | mariadb-git-0ce603ab5e4db19c961404489efe6604a28341e1.tar.gz |
[No BUG#] Fixes for problems discovered when running mysql-trunk's subquery testsuite
Diffstat (limited to 'sql/item.cc')
-rw-r--r-- | sql/item.cc | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/sql/item.cc b/sql/item.cc index d3a43818d23..ca49cf20cd9 100644 --- a/sql/item.cc +++ b/sql/item.cc @@ -6768,7 +6768,19 @@ my_decimal *Item_ref::val_decimal(my_decimal *decimal_value) int Item_ref::save_in_field(Field *to, bool no_conversions) { int res; - DBUG_ASSERT(!result_field); + if (result_field) + { + if (result_field->is_null()) + { + null_value= 1; + res= set_field_to_null_with_conversions(to, no_conversions); + return res; + } + to->set_notnull(); + res= field_conv(to, result_field); + null_value= 0; + return res; + } res= (*ref)->save_in_field(to, no_conversions); null_value= (*ref)->null_value; return res; |