@@ -1935,7 +1935,7 @@ class Item :public Value_source,
19351935 For real clones look at deep_copy_with_checks()/shallow_copy_with_checks()
19361936 methods
19371937 */
1938- virtual Item *clone_item (THD *thd) const { return nullptr ; }
1938+ virtual Item *clone_constant (THD *thd) const { return nullptr ; }
19391939
19401940 virtual cond_result eq_cmp_result () const { return COND_OK; }
19411941 inline uint float_length (uint decimals_par) const
@@ -4011,7 +4011,7 @@ class Item_null :public Item_basic_constant
40114011 const Type_handler *type_handler () const override
40124012 { return &type_handler_null; }
40134013 bool basic_const_item () const override { return true ; }
4014- Item *clone_item (THD *thd) const override ;
4014+ Item *clone_constant (THD *thd) const override ;
40154015 bool const_is_null () const override { return true ; }
40164016 bool is_null () override { return true ; }
40174017
@@ -4465,7 +4465,7 @@ class Item_param :public Item_basic_value,
44654465 basic_const_item returned TRUE.
44664466 */
44674467 Item *safe_charset_converter (THD *thd, CHARSET_INFO *tocs) override ;
4468- Item *clone_item (THD *thd) const override ;
4468+ Item *clone_constant (THD *thd) const override ;
44694469 void set_param_type_and_swap_value (Item_param *from);
44704470
44714471 Rewritable_query_parameter *get_rewritable_query_parameter () override
@@ -4575,7 +4575,7 @@ class Item_int :public Item_num
45754575 String *val_str (String*) override ;
45764576 int save_in_field (Field *field, bool no_conversions) override ;
45774577 bool is_order_clause_position () const override { return true ; }
4578- Item *clone_item (THD *thd) const override ;
4578+ Item *clone_constant (THD *thd) const override ;
45794579 void print (String *str, enum_query_type query_type) override ;
45804580 Item *neg (THD *thd) override ;
45814581 decimal_digits_t decimal_precision () const override
@@ -4647,7 +4647,7 @@ class Item_uint :public Item_int
46474647 Item_uint (THD *thd, ulonglong i): Item_int(thd, i, 10 ) {}
46484648 Item_uint (THD *thd, const char *str_arg, longlong i, uint length);
46494649 double val_real () override { return ulonglong2double ((ulonglong)value); }
4650- Item *clone_item (THD *thd) const override ;
4650+ Item *clone_constant (THD *thd) const override ;
46514651 Item *neg (THD *thd) override ;
46524652 decimal_digits_t decimal_precision () const override
46534653 { return decimal_digits_t (max_length); }
@@ -4709,7 +4709,7 @@ class Item_decimal :public Item_num
47094709 const my_decimal *const_ptr_my_decimal () const override
47104710 { return &decimal_value; }
47114711 int save_in_field (Field *field, bool no_conversions) override ;
4712- Item *clone_item (THD *thd) const override ;
4712+ Item *clone_constant (THD *thd) const override ;
47134713 void print (String *str, enum_query_type query_type) override
47144714 {
47154715 decimal_value.to_string (&str_value);
@@ -4768,7 +4768,7 @@ class Item_float :public Item_num
47684768 }
47694769 String *val_str (String*) override ;
47704770 my_decimal *val_decimal (my_decimal *) override ;
4771- Item *clone_item (THD *thd) const override ;
4771+ Item *clone_constant (THD *thd) const override ;
47724772 Item *neg (THD *thd) override ;
47734773 void print (String *str, enum_query_type query_type) override ;
47744774
@@ -4897,7 +4897,7 @@ class Item_string :public Item_literal
48974897 int save_in_field (Field *field, bool no_conversions) override ;
48984898 const Type_handler *type_handler () const override
48994899 { return &type_handler_varchar; }
4900- Item *clone_item (THD *thd) const override ;
4900+ Item *clone_constant (THD *thd) const override ;
49014901 Item *safe_charset_converter (THD *thd, CHARSET_INFO *tocs) override
49024902 {
49034903 return const_charset_converter (thd, tocs, true );
@@ -5367,7 +5367,7 @@ class Item_date_literal: public Item_temporal_literal
53675367 {
53685368 return cached_time.get_mysql_time ();
53695369 }
5370- Item *clone_item (THD *thd) const override ;
5370+ Item *clone_constant (THD *thd) const override ;
53715371 bool val_bool () override
53725372 {
53735373 return update_null () ? false : cached_time.to_bool ();
@@ -5425,7 +5425,7 @@ class Item_time_literal final: public Item_temporal_literal
54255425 {
54265426 return cached_time.get_mysql_time ();
54275427 }
5428- Item *clone_item (THD *thd) const override ;
5428+ Item *clone_constant (THD *thd) const override ;
54295429 bool val_bool () override
54305430 {
54315431 return cached_time.to_bool ();
@@ -5490,7 +5490,7 @@ class Item_datetime_literal: public Item_temporal_literal
54905490 {
54915491 return cached_time.get_mysql_time ();
54925492 }
5493- Item *clone_item (THD *thd) const override ;
5493+ Item *clone_constant (THD *thd) const override ;
54945494 bool val_bool () override
54955495 {
54965496 return update_null () ? false : cached_time.to_bool ();
@@ -6671,7 +6671,7 @@ class Item_int_with_ref :public Item_int
66716671 {
66726672 return ref->save_in_field (field, no_conversions);
66736673 }
6674- Item *clone_item (THD *thd) const override ;
6674+ Item *clone_constant (THD *thd) const override ;
66756675 Item *real_item () override { return ref; }
66766676protected:
66776677 Item *shallow_copy (THD *thd) const override
@@ -7668,11 +7668,11 @@ class Item_cache_temporal: public Item_cache_int
76687668 }
76697669 void store_packed (longlong val_arg, Item *example);
76707670 /*
7671- Having a clone_item method tells optimizer that this object
7671+ Having a clone_constant method tells optimizer that this object
76727672 is a constant and need not be optimized further.
76737673 Important when storing packed datetime values.
76747674 */
7675- Item *clone_item (THD *thd) const override ;
7675+ Item *clone_constant (THD *thd) const override ;
76767676 Item *convert_to_basic_const_item (THD *thd) override ;
76777677 virtual Item *make_literal (THD *) =0;
76787678};
0 commit comments