| 21631 | |
| 21632 | |
| 21633 | Field *Item_sum::create_tmp_field(MEM_ROOT *root, bool group, TABLE *table) |
| 21634 | { |
| 21635 | Field *UNINIT_VAR(new_field); |
| 21636 | |
| 21637 | switch (cmp_type()) { |
| 21638 | case REAL_RESULT: |
| 21639 | { |
| 21640 | new_field= new (root) |
| 21641 | Field_double(max_char_length(), maybe_null(), &name, decimals, TRUE); |
| 21642 | break; |
| 21643 | } |
| 21644 | case INT_RESULT: |
| 21645 | case TIME_RESULT: |
| 21646 | case DECIMAL_RESULT: |
| 21647 | case STRING_RESULT: |
| 21648 | new_field= tmp_table_field_from_field_type(root, table); |
| 21649 | break; |
| 21650 | case ROW_RESULT: |
| 21651 | // This case should never be chosen |
| 21652 | DBUG_ASSERT(0); |
| 21653 | new_field= 0; |
| 21654 | break; |
| 21655 | } |
| 21656 | if (new_field) |
| 21657 | new_field->init(table); |
| 21658 | return new_field; |
| 21659 | } |
| 21660 | |
| 21661 | |
| 21662 | /** |
no test coverage detected