(pos Pos)
| 167 | } |
| 168 | |
| 169 | func (p *Parser) parseProjectionOrderBy(pos Pos) (*ProjectionOrderByClause, error) { |
| 170 | if err := p.expectKeyword(KeywordOrder); err != nil { |
| 171 | return nil, err |
| 172 | } |
| 173 | if err := p.expectKeyword(KeywordBy); err != nil { |
| 174 | return nil, err |
| 175 | } |
| 176 | columns, err := p.parseColumnExprList(p.Pos()) |
| 177 | if err != nil { |
| 178 | return nil, err |
| 179 | } |
| 180 | return &ProjectionOrderByClause{ |
| 181 | OrderByPos: pos, |
| 182 | Columns: columns, |
| 183 | }, nil |
| 184 | } |
| 185 | |
| 186 | func (p *Parser) parseProjectionSelect(pos Pos) (*ProjectionSelectStmt, error) { |
| 187 | if err := p.expectTokenKind(TokenKindLParen); err != nil { |
no test coverage detected