**Use case**

```
CREATE TABLE t
(
    x UInt8,
    y UInt8,
)
```
{
        if (s_or_replace.ignore(pos, expected))
            replace = or_replace = true;
    }
    else if (s_attach.ignore(pos, expected))
        attach = true;
    else if (s_replace.ignore(pos, expected))
        replace = true;
    else
        return false;
    if (!replace && !or_replace && s_temporary.ignore(pos, expected))
    {
        is_temporary = true;
    }
    if (!s_table.ignore(pos, expected))
        return false;
    if (!replace && !or_replace && s_if_not_exists.ignore(pos, expected))
        if_not_exists = true;
    if (!table_name_p.parse(pos, table, expected))
        return false;
    if (attach && s_from.ignore(pos, expected))
    {
        ParserStringLiteral from_path_p;
        if (!from_path_p.parse(pos, from_path, expected))
            return false;
    }
    if (s_on.ignore(pos, expected))
    {
        if (!ASTQueryWithOnCluster::parse(pos, cluster_str, expected))
            return false;