MCPcopy Create free account
hub / github.com/ByConity/ByConity / updateObjectColumns

Function updateObjectColumns

src/DataTypes/ObjectUtils.cpp:515–532  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

513}
514
515void 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
534namespace
535{

Callers 2

updateObjectColumnsMethod · 0.85

Calls 5

modifyMethod · 0.80
tryGetColumnMethod · 0.45
equalsMethod · 0.45
getColumnMethod · 0.45

Tested by

no test coverage detected