MDEV-13864 (partial) Change Item_func_case to store the predicant in args[0]
This is a preparatory step for MDEV-13864. It does not change behavior in any ways. It simply splits methods into smaller peaces. The intent of this separate patch is to make more readable the main patch for MDEV-13864 (which will actually move the predicant to args[0]). 1. Splitting fix_length_and_dec() into smaller pieces, adding: - bool aggregate_then_and_else_arguments(THD *thd); - bool aggregate_switch_and_when_arguments(THD *thd); 2. Splitting find_item() into smaller pieces, adding: - Item *find_item_searched(); - Item *find_item_simple(); 3. Splitting print() into smaller pieces, adding: - void print_when_then_arguments(String *str, enum_query_type query_type, Item **items, uint count); - void print_else_argument(String *str, enum_query_type query_type, Item *item) 4. Moving the maybe_null handling part related to ELSE from fix_length_and_dec() to fix_fields(), as in all other Item_func's. 5. Removing the unused String* argument from find_item(). 6. Moving find_item() from public to private, as it's not needed outside.
Showing
This diff is collapsed.
Please register or sign in to comment