After you create table with fields with dots and after alter table clickhouse throw exception about bad cast
version 20.12.3

How to reproduce

```
CREATE TABLE test_nested
(
    `id` String,
    `with_dot.str` String,
    `with_dot.array` Array(Int32)
)
ENGINE = MergeTree()
ORDER BY id


Insert Into test_nested (id,`with_dot.str`, `with_dot.array`) VALUES('123','asd',[1,2])

select * FROM test_nested


SELECT *
FROM test_nested

Query id: 42f26a6e-7573-4169-a4a1-9fe7022ba656

┌─id──┬─with_dot.str─┬─with_dot.array─┐
│ 123 │ asd          │ [1,2]          │
└─────┴──────────────┴────────────────┘

alter table test_nested ADD COLUMN `with_dot.bool` UInt8


SELECT *
FROM test_nested

Query id: 3ea8ae6b-1e0a-4ae5-b4d0-dcdcb6b7b8f8


Received exception from server (version 20.12.3):
Code: 49. DB::Exception: Received from localhost:9000. DB::Exception: Bad cast from type DB::DataTypeNumber<char8_t> to DB::DataTypeArray: (while reading from part /var/lib/clickhouse/store...
```

I think that happend because clickhouse after altert think that field `with_dot.bool` is nested and trying to cast to array, but i'm not creating nested field, i'm only use field name with `.`

const MergeTreeData::DataPartPtr & data_part_,
    const NamesAndTypesList & columns_,
    const StorageMetadataPtr & metadata_snapshot_,
    UncompressedCache * uncompressed_cache_,
    MarkCache * mark_cache_,
    const MarkRanges & all_mark_ranges_,
    const MergeTreeReaderSettings & settings_,
    const ValueSizeMap & avg_value_size_hints_)
    : data_part(data_part_)
    , avg_value_size_hints(avg_value_size_hints_)
    , columns(columns_)
    , part_columns(data_part->getColumns())
    , uncompressed_cache(uncompressed_cache_)
    , mark_cache(mark_cache_)
    , settings(settings_)
    , storage(data_part_->storage)
    , metadata_snapshot(metadata_snapshot_)
    , all_mark_ranges(all_mark_ranges_)
    , alter_conversions(storage.getAlterConversionsForPart(data_part))
{
    if (settings.convert_nested_to_subcolumns)
    {
        columns = Nested::convertToSubcolumns(columns);
        part_columns = Nested::collect(part_columns);
    }
    for (const auto & column_from_part : part_columns)
        columns_from_part[column_from_part.name] = &column_from_part.type;
}
IMergeTreeReader::~IMergeTreeReader() = default;