diff options
Diffstat (limited to 'sql/item.h')
-rw-r--r-- | sql/item.h | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/sql/item.h b/sql/item.h index 5ae3d7a3435..5a6c2723991 100644 --- a/sql/item.h +++ b/sql/item.h @@ -6286,6 +6286,9 @@ public: { return Type_handler_hybrid_field_type::type_handler(); } virtual void keep_array() {} +#ifndef DBUG_OFF + bool is_array_kept() { return TRUE; } +#endif virtual void print(String *str, enum_query_type query_type); bool eq_def(const Field *field) { @@ -6656,13 +6659,15 @@ public: bool null_inside(); void bring_value(); void keep_array() { save_array= 1; } +#ifndef DBUG_OFF + bool is_array_kept() { return save_array; } +#endif + void cleanup() { DBUG_ENTER("Item_cache_row::cleanup"); Item_cache::cleanup(); - if (save_array) - bzero(values, item_count*sizeof(Item**)); - else + if (!save_array) values= 0; DBUG_VOID_RETURN; } |