Description:
There are some non-overridden member functions in Item subclasses that look like overridden ones but are not. These unused declarations should be removed.
Also some totally unused member functions should be removed.
Some member functions are never overridden and should not be declared as virtual.
How to repeat:
See below.
Suggested fix:
Remove the non-overridden member function Item_bool::func_name().
(Item_bool inherits Item_int, not Item_int_func and Item_func.
Item_func::func_name() is being called, but not Item_bool::func_name().)
Item::cleanup_processor(), Item::propagate_derived_used():
Define as non-virtual inline member function.
Remove Item_udf_sum::may_have_named_parameters().
(Item_udf_sum does not inherit Item_func, where the virtual
member function is defined, but its ancestor Item_result_field.
The only caller of may_have_named_parameters() is Item_func::itemize(),
invoking it as Item_func::may_have_named_parameters().)
Remove the unused member functions fix_length_and_dec().
Remove the unused member functions size_of().