Looks like https://github.com/ClickHouse/ClickHouse/pull/21303 is broke also "clear column" for such columns.

How to reproduce:

```
CREATE TABLE test.TTAdmLog
(
    `ts` DateTime,
    `event_date` Date DEFAULT toDate(ts),
    `impression_id` String DEFAULT '',
    `creative_id` String DEFAULT '',
    `creative_adm` String DEFAULT '',
    `impression_id_compressed` FixedString(16) DEFAULT UUIDStringToNum(impression_id),
    `impression_id_hashed` UInt16 DEFAULT reinterpretAsUInt16(impression_id_compressed),
)
ENGINE = ReplicatedMergeTree('/clickhouse/tables/{shard}/TTAdmLogTest', '{replica}')
PARTITION BY toMonday(event_date)
ORDER BY (event_date, impression_id_hashed)
SAMPLE BY impression_id_hashed
SETTINGS replicated_deduplication_window = 1000, replicated_deduplication_window_seconds = 864000, index_granularity = 8192

CREATE MATERIALIZED VIEW test.TTView
(
    `event_date` Date,
    `creative_id` String,
    `creative_adm` AggregateFunction(anyLast, String),
)
ENGINE = ReplicatedAggregatingMergeTree('/clickhouse/tables/{shard}/TTViewTest', '{replica}', event_date, (event_date, creative_id), 8192) AS
SELECT 
    toStartOfMonth(event_date) AS event_date,
    arrayJoin(splitByChar(',', creative_id)) AS creative_id,
    anyLastState(creative_adm) AS creative_adm,
FROM test.TTAdmLog
GROUP BY 
    event_date,
    creative_id,

```


ClickHouse server version 20.9.3 revision 54439.

```
alter table test.TTAdmLog clear column creative_adm in partition '2021-03-22'

OK

```
ClickHouse server version 21.4.3 revision 54447.

```
alter table test.TTAdmLog  clear column creative_adm in partition '2021-03-22'

DB::Exception: Trying to ALTER DROP column creative_adm which is referenced by materialized view ['TTView'].

```

std::map<String, std::vector<String>> disk_parts_for_logging;
        for (const auto & disk : disks)
            disk_occupation.emplace(disk->getName(), 0);
        std::set<String> committed_big_parts_from_partition;
        std::set<String> submerging_big_parts_from_partition;
        std::lock_guard lock(currently_submerging_emerging_mutex);
        for (const auto & part : currently_submerging_big_parts)
        {
            if (part_info.partition_id == part->info.partition_id)
                submerging_big_parts_from_partition.insert(part->name);
        }
        {
            auto lock_parts = lockParts();
            if (covered_parts.empty())
            {
                /
                MergeTreeData::DataPartPtr covering_part;
                covered_parts = getActivePartsToReplace(part_info, part_name, covering_part, lock_parts);
            }
            /
            covered_parts.erase(
                std::remove_if(
                    covered_parts.begin(),
                    covered_parts.end(),
                    [min_bytes_to_rebalance_partition_over_jbod](const auto & part)
                    {
                        return !(part->isStoredOnDisk() && part->getBytesOnDisk() >= min_bytes_to_rebalance_partition_over_jbod);
                    }),
                covered_parts.end());
            /