summaryrefslogtreecommitdiff
path: root/sql/item.h
diff options
context:
space:
mode:
Diffstat (limited to 'sql/item.h')
-rw-r--r--sql/item.h11
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;
}