MCPcopy Create free account
hub / github.com/AfterShip/clickhouse-sql-parser / parseDeleteClause

Method parseDeleteClause

parser/parser_table.go:1713–1743  ·  view source on GitHub ↗
(pos Pos)

Source from the content-addressed store, hash-verified

1711}
1712
1713func (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
1745func (p *Parser) parseColumnNamesExpr(pos Pos) (*ColumnNamesExpr, error) {
1746 if err := p.expectTokenKind(TokenKindLParen); err != nil {

Callers 1

parseStmtMethod · 0.95

Calls 5

expectKeywordMethod · 0.95
parseTableIdentifierMethod · 0.95
PosMethod · 0.95
tryParseClusterClauseMethod · 0.95
parseExprMethod · 0.95

Tested by

no test coverage detected