diff options
Diffstat (limited to 'sql/item.h')
| -rw-r--r-- | sql/item.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sql/item.h b/sql/item.h index 3073a4d240d..c5fd5d074f6 100644 --- a/sql/item.h +++ b/sql/item.h @@ -1602,6 +1602,7 @@ public: virtual bool is_order_clause_position() const { return false; } /* cloning of constant items (0 if it is not const) */ virtual Item *clone_item(THD *thd) { return 0; } + /* deep copy item */ virtual Item* build_clone(THD *thd) { return get_copy(thd); } virtual cond_result eq_cmp_result() const { return COND_OK; } inline uint float_length(uint decimals_par) const @@ -2094,6 +2095,10 @@ public: */ virtual bool find_not_null_fields(table_map allowed) { return false; } + /* + Does not guarantee deep copy (depends on copy ctor). + See build_clone() for deep copy. + */ virtual Item *get_copy(THD *thd)=0; bool cache_const_expr_analyzer(uchar **arg); |
