**Describe the unexpected behaviour**

```
:) CREATE TEMPORARY TABLE test (x INT NOT NULL DEFAULT 1)

Syntax error: failed at position 52 ('DEFAULT') (line 3, col 22):

CREATE TEMPORARY TABLE test
(
    `x` INT NOT NULL DEFAULT 1
                     ^
)

Expected one of: COMMENT, CODEC, TTL, token, Comma, ClosingRoundBracket
```

But this query succeeded:

```
:) CREATE TEMPORARY TABLE test (x INT DEFAULT 1 NOT NULL)

CREATE TEMPORARY TABLE test
(
    `x` INT NOT NULL DEFAULT 1
)
```
protected:
    using ASTDeclarePtr = std::shared_ptr<ASTColumnDeclaration>;
    const char * getName() const  override{ return "column declaration"; }
    bool parseImpl(Pos & pos, ASTPtr & node, Expected & expected) override;
    bool require_type = true;
    bool allow_null_modifiers = false;
    bool check_keywords_after_name = false;
    
    bool check_type_keyword = false;
};
using ParserColumnDeclaration = IParserColumnDeclaration<ParserIdentifier>;
using ParserCompoundColumnDeclaration = IParserColumnDeclaration<ParserCompoundIdentifier>;
template <typename NameParser>
bool IParserColumnDeclaration<NameParser>::parseImpl(Pos & pos, ASTPtr & node, Expected & expected)
{
    NameParser name_parser;
    ParserDataType type_parser;
    ParserKeyword s_default{"DEFAULT"};
    ParserKeyword s_null{"NULL"};
    ParserKeyword s_not{"NOT"};
    ParserKeyword s_materialized{"MATERIALIZED"};
    ParserKeyword s_ephemeral{"EPHEMERAL"};
    ParserKeyword s_alias{"ALIAS"};
    ParserKeyword s_auto_increment{"AUTO_INCREMENT"};
    ParserKeyword s_comment{"COMMENT"};
    ParserKeyword s_codec{"CODEC"};
    ParserKeyword s_ttl{"TTL"};
    ParserKeyword s_remove{"REMOVE"};
    ParserKeyword s_type{"TYPE"};