22.2.1.4422.

```
create table test_alias (K Int64, D Date, S String, B Int64 Alias length(S)) Engine=MergeTree order by K;
insert into test_alias select number, today(), 'sdfsdfsdfsdfsdfds' from numbers(10000000);

session1: 
clickhouse-benchmark -c 10 <<< "insert into test_alias select number, today(), 'sdfsdfsdfsdfsdfds' from numbers(10000)"

session2: 
alter table test_alias drop column B;
0 rows in set. Elapsed: 251.043 sec.
```

especially it can be a problem with S3 disks

Alias columns do not persist in parts even in columns.txt
ErrorCodes::BAD_ARGUMENTS);
        }
        constraints.erase(erase_it);
        metadata.constraints = ConstraintsDescription(constraints);
    }
    else if (type == ADD_PROJECTION)
    {
        auto projection = ProjectionDescription::getProjectionFromAST(projection_decl, metadata.columns, context);
        metadata.projections.add(std::move(projection), after_projection_name, first, if_not_exists);
    }
    else if (type == DROP_PROJECTION)
    {
        if (!partition && !clear)
            metadata.projections.remove(projection_name, if_exists);
    }
    else if (type == MODIFY_TTL)
    {
        metadata.table_ttl = TTLTableDescription::getTTLForTableFromAST(ttl, metadata.columns, context, metadata.primary_key);
    }
    else if (type == REMOVE_TTL)
    {
        metadata.table_ttl = TTLTableDescription{};
    }
    else if (type == MODIFY_QUERY)
    {
        metadata.select = SelectQueryDescription::getSelectQueryFromASTForMatView(select, context);
    }
    else if (type == MODIFY_SETTING)
    {
        auto & settings_from_storage = metadata.settings_changes->as<ASTSetQuery &>().changes;