diff --git a/sql/item.cc b/sql/item.cc index 05b6522..d568336 100644 --- a/sql/item.cc +++ b/sql/item.cc @@ -8927,6 +8927,17 @@ bool Item_direct_view_ref::send(Protocol *prot, String *tmp) } +void Item_direct_view_ref::save_in_result_field(bool no_conversions) { + + if (has_null_row()) { + set_field_to_null_with_conversions(result_field, no_conversions); + return; + } + + super::save_in_result_field(no_conversions); +} + + type_conversion_status Item_direct_view_ref::save_in_field_inner(Field *field, bool no_conversions) { diff --git a/sql/item.h b/sql/item.h index 7edbc7c..af690bd 100644 --- a/sql/item.h +++ b/sql/item.h @@ -4455,6 +4455,7 @@ public: virtual bool is_direct_view_ref(uchar *arg) { return true; } protected: + virtual void save_in_result_field(bool no_conversions); virtual type_conversion_status save_in_field_inner(Field *field, bool no_conversions);