**Use case**

```
CREATE TABLE t
(
    x UInt8,
    y UInt8,
)
```
constraints->children.push_back(elem);
        else if (elem->as<ASTProjectionDeclaration>())
            projections->children.push_back(elem);
        else if (elem->as<ASTIdentifier>() || elem->as<ASTFunction>())
        {
            if (primary_key)
            {
                
                return false;
            }
            primary_key = elem;
        }
        else
            return false;
    }
    auto res = std::make_shared<ASTColumns>();
    if (!columns->children.empty())
        res->set(res->columns, columns);
    if (!indices->children.empty())
        res->set(res->indices, indices);
    if (!constraints->children.empty())
        res->set(res->constraints, constraints);
    if (!projections->children.empty())
        res->set(res->projections, projections);
    if (primary_key)
        res->set(res->primary_key, primary_key);
    node = res;
    return true;
}
bool ParserStorage::parseImpl(Pos & pos, ASTPtr & node, Expected & expected)