(pos Pos)
| 1711 | } |
| 1712 | |
| 1713 | func (p *Parser) parseDeleteClause(pos Pos) (*DeleteClause, error) { |
| 1714 | if err := p.expectKeyword(KeywordDelete); err != nil { |
| 1715 | return nil, err |
| 1716 | } |
| 1717 | if err := p.expectKeyword(KeywordFrom); err != nil { |
| 1718 | return nil, err |
| 1719 | } |
| 1720 | tableIdentifier, err := p.parseTableIdentifier(p.Pos()) |
| 1721 | if err != nil { |
| 1722 | return nil, err |
| 1723 | } |
| 1724 | onCluster, err := p.tryParseClusterClause(p.Pos()) |
| 1725 | if err != nil { |
| 1726 | return nil, err |
| 1727 | } |
| 1728 | |
| 1729 | if err := p.expectKeyword(KeywordWhere); err != nil { |
| 1730 | return nil, err |
| 1731 | } |
| 1732 | whereExpr, err := p.parseExpr(p.Pos()) |
| 1733 | if err != nil { |
| 1734 | return nil, err |
| 1735 | } |
| 1736 | |
| 1737 | return &DeleteClause{ |
| 1738 | DeletePos: pos, |
| 1739 | Table: tableIdentifier, |
| 1740 | OnCluster: onCluster, |
| 1741 | WhereExpr: whereExpr, |
| 1742 | }, nil |
| 1743 | } |
| 1744 | |
| 1745 | func (p *Parser) parseColumnNamesExpr(pos Pos) (*ColumnNamesExpr, error) { |
| 1746 | if err := p.expectTokenKind(TokenKindLParen); err != nil { |
no test coverage detected