**Use case**

```
CREATE TABLE t
(
    x UInt8,
    y UInt8,
)
```
bool attach = false;
    bool if_not_exists = false;
    if (!s_create.ignore(pos, expected))
    {
        if (s_attach.ignore(pos, expected))
            attach = true;
        else
            return false;
    }
    if (!s_database.ignore(pos, expected))
        return false;
    if (s_if_not_exists.ignore(pos, expected))
        if_not_exists = true;
    if (!name_p.parse(pos, database, expected))
        return false;
    if (ParserKeyword("UUID").ignore(pos, expected))
    {
        ParserStringLiteral uuid_p;
        ASTPtr ast_uuid;
        if (!uuid_p.parse(pos, ast_uuid, expected))
            return false;
        uuid = parseFromString<UUID>(ast_uuid->as<ASTLiteral>()->value.get<String>());
    }
    if (ParserKeyword{"ON"}.ignore(pos, expected))
    {
        if (!ASTQueryWithOnCluster::parse(pos, cluster_str, expected))
            return false;
    }
    storage_p.parse(pos, storage, expected);
    auto comment = parseComment(pos, expected);