(pos Pos)
| 867 | } |
| 868 | |
| 869 | func (p *Parser) tryParsePartitionByClause(pos Pos) (*PartitionByClause, error) { |
| 870 | if !p.tryConsumeKeywords(KeywordPartition) { |
| 871 | return nil, nil // nolint |
| 872 | } |
| 873 | |
| 874 | if err := p.expectKeyword(KeywordBy); err != nil { |
| 875 | return nil, err |
| 876 | } |
| 877 | |
| 878 | // parse partition key list |
| 879 | columnExpr, err := p.parseColumnExprListWithLParen(p.Pos()) |
| 880 | if err != nil { |
| 881 | return nil, err |
| 882 | } |
| 883 | return &PartitionByClause{ |
| 884 | PartitionPos: pos, |
| 885 | Expr: columnExpr, |
| 886 | }, nil |
| 887 | } |
| 888 | |
| 889 | func (p *Parser) tryParsePrimaryKeyClause(pos Pos) (*PrimaryKeyClause, error) { |
| 890 | if !p.tryConsumeKeywords(KeywordPrimary) { |
no test coverage detected