| 513 | } |
| 514 | |
| 515 | void updateObjectColumns( |
| 516 | ColumnsDescription & object_columns, |
| 517 | const ColumnsDescription & storage_columns, |
| 518 | const NamesAndTypesList & new_columns) |
| 519 | { |
| 520 | for (const auto & new_column : new_columns) |
| 521 | { |
| 522 | auto object_column = object_columns.tryGetColumn(GetColumnsOptions::All, new_column.name); |
| 523 | if (object_column && !object_column->type->equals(*new_column.type)) |
| 524 | { |
| 525 | auto storage_column = storage_columns.getColumn(GetColumnsOptions::All, new_column.name); |
| 526 | object_columns.modify(new_column.name, [&](auto & column) |
| 527 | { |
| 528 | column.type = getLeastCommonTypeForDynamicColumns(storage_column.type, {object_column->type, new_column.type}); |
| 529 | }); |
| 530 | } |
| 531 | } |
| 532 | } |
| 533 | |
| 534 | namespace |
| 535 | { |
no test coverage detected