**Describe the bug**
`CODEC` is allowed for `ALIAS` column

**How to reproduce**
``` sql
CREATE TABLE t102
(
    `c0` ALIAS c1 CODEC(ZSTD),
    `c1` String
)
ENGINE = Memory()

Ok.

DESCRIBE TABLE t102

┌─name─┬─type───┬─default_type─┬─default_expression─┬─comment─┬─codec_expression─┬─ttl_expression─┐
│ c0   │ String │ ALIAS        │ c1                 │         │ ZSTD(1)          │                │
│ c1   │ String │              │                    │         │                  │                │
└──────┴────────┴──────────────┴────────────────────┴─────────┴──────────────────┴────────────────┘

```
**Expected behavior**
Error
create.attach = true;
        create.if_not_exists = false;
        std::ostringstream statement_stream;
        formatAST(create, statement_stream, false);
        statement_stream << '\n';
        String statement = statement_stream.str();
        
        WriteBufferFromFile out(metadata_file_tmp_path, statement.size(), O_WRONLY | O_CREAT | O_EXCL);
        writeString(statement, out);
        out.next();
        if (context.getSettingsRef().fsync_metadata)
            out.sync();
        out.close();
    }
    
    auto db_guard = DatabaseCatalog::instance().getExclusiveDDLGuardForDatabase(database_name);
    bool added = false;
    bool renamed = false;
    try
    {
        
        DatabaseCatalog::instance().attachDatabase(database_name, database);
        added = true;
        if (need_write_metadata)
        {
            fs::rename(metadata_file_tmp_path, metadata_file_path);
            renamed = true;
        }
        database->loadStoredObjects(context, has_force_restore_data_flag, create.attach && force_attach);
    }