**Use case**

```
CREATE TABLE t
(
    x UInt8,
    y UInt8,
)
```
}
    auto * table_id = table->as<ASTTableIdentifier>();
    
    bool short_attach = attach && !from_path;
    if (short_attach && (!pos.isValid() || pos.get().type == TokenType::Semicolon))
    {
        auto query = std::make_shared<ASTCreateQuery>();
        node = query;
        query->attach = attach;
        query->if_not_exists = if_not_exists;
        query->cluster = cluster_str;
        query->database = table_id->getDatabase();
        query->table = table_id->getTable();
        query->uuid = table_id->uuid;
        if (query->database)
            query->children.push_back(query->database);
        if (query->table)
            query->children.push_back(query->table);
        return true;
    }
    auto need_parse_as_select = [&is_create_empty, &pos, &expected]()
    {
        if (ParserKeyword{"EMPTY AS"}.ignore(pos, expected))
        {
            is_create_empty = true;
            return true;
        }
        return ParserKeyword{"AS"}.ignore(pos, expected);
    };