Vertical merges of wide parts fail if there is an array in the table and not all columns are present in parts.
```sql
CREATE TABLE aaa 
(
  a   Array(Int16),
  b   Int8
)
ENGINE = MergeTree
ORDER BY tuple() 
settings
    vertical_merge_algorithm_min_columns_to_activate=1,
    vertical_merge_algorithm_min_rows_to_activate=1,
    min_bytes_for_wide_part=0;

insert into aaa select [], 0;
alter table aaa clear column b;

optimize table aaa final;

Received exception from server (version 22.4.2):
Code: 16. DB::Exception: Received from localhost:9000. 
DB::Exception: There is no column a.size0 in table. (NO_SUCH_COLUMN_IN_TABLE)
```
const String & column_name,
    const StorageSnapshotPtr & storage_snapshot,
    const MergeTreeData::AlterConversions & alter_conversions,
    const MergeTreeData::DataPartPtr & part,
    Names & columns,
    NameSet & required_columns,
    NameSet & injected_columns)
{
    
    
    
    checkStackSize();
    auto options = GetColumnsOptions(GetColumnsOptions::AllPhysical).withSubcolumns().withExtendedObjects();
    auto column_in_storage = storage_snapshot->tryGetColumn(options, column_name);
    if (column_in_storage)
    {
        auto column_name_in_part = column_in_storage->getNameInStorage();
        if (alter_conversions.isColumnRenamed(column_name_in_part))
            column_name_in_part = alter_conversions.getColumnOldName(column_name_in_part);
        auto column_in_part = part->getColumns().tryGetByName(column_name_in_part);