@@ -4719,6 +4719,9 @@ class Item_string_sys :public Item_string
4719
4719
Item_string_sys (THD *thd, const char *str):
4720
4720
Item_string (thd, str, (uint) strlen(str), system_charset_info)
4721
4721
{ }
4722
+ Item *do_get_copy (THD *thd) const override
4723
+ { return get_item_copy<Item_string_sys>(thd, this ); }
4724
+ Item *do_build_clone (THD *thd) const override { return get_copy (thd); }
4722
4725
};
4723
4726
4724
4727
@@ -4733,6 +4736,9 @@ class Item_string_ascii :public Item_string
4733
4736
Item_string (thd, str, (uint) strlen(str), &my_charset_latin1,
4734
4737
DERIVATION_COERCIBLE, MY_REPERTOIRE_ASCII)
4735
4738
{ }
4739
+ Item *do_get_copy (THD *thd) const override
4740
+ { return get_item_copy<Item_string_ascii>(thd, this ); }
4741
+ Item *do_build_clone (THD *thd) const override { return get_copy (thd); }
4736
4742
};
4737
4743
4738
4744
@@ -4769,6 +4775,9 @@ class Item_static_string_func :public Item_string
4769
4775
// require fix_fields() to be re-run for every statement.
4770
4776
return mark_unsupported_function (func_name.str , arg, VCOL_TIME_FUNC);
4771
4777
}
4778
+ Item *do_get_copy (THD *thd) const override
4779
+ { return get_item_copy<Item_static_string_func>(thd, this ); }
4780
+ Item *do_build_clone (THD *thd) const override { return get_copy (thd); }
4772
4781
};
4773
4782
4774
4783
@@ -4786,6 +4795,9 @@ class Item_partition_func_safe_string: public Item_string
4786
4795
{
4787
4796
return mark_unsupported_function (" safe_string" , arg, VCOL_IMPOSSIBLE);
4788
4797
}
4798
+ Item *do_get_copy (THD *thd) const override
4799
+ { return get_item_copy<Item_partition_func_safe_string>(thd, this ); }
4800
+ Item *do_build_clone (THD *thd) const override { return get_copy (thd); }
4789
4801
};
4790
4802
4791
4803
0 commit comments