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)
```
"While loading part " + getFullPath() + ": calculated partition ID: " + calculated_partition_id
            + " differs from partition ID in part name: " + info.partition_id,
            ErrorCodes::CORRUPTED_DATA);
}
void IMergeTreeDataPart::appendFilesOfPartitionAndMinMaxIndex(Strings & files) const
{
    if (storage.format_version < MERGE_TREE_DATA_MIN_FORMAT_VERSION_WITH_CUSTOM_PARTITIONING && !parent_part)
        return;
    if (!parent_part)
        partition.appendFiles(storage, files);
    if (!isEmpty())
        if (!parent_part)
            minmax_idx->appendFiles(storage, files);
}
void IMergeTreeDataPart::loadChecksums(bool require)
{
    const String path = fs::path(getFullRelativePath()) / "checksums.txt";
    bool exists = metadata_manager->exists("checksums.txt");
    if (exists)
    {
        auto buf = metadata_manager->read("checksums.txt");
        if (checksums.read(*buf))
        {
            assertEOF(*buf);
            bytes_on_disk = checksums.getTotalSizeOnDisk();
        }
        else
            bytes_on_disk = calculateTotalSizeOnDisk(volume->getDisk(), getFullRelativePath());
    }
    else