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

Method parseTruncateTable

parser/parser_table.go:1671–1711  ·  view source on GitHub ↗

syntax: TRUNCATE TEMPORARY? TABLE (IF EXISTS)? tableIdentifier clusterClause?;

(pos Pos)

Source from the content-addressed store, hash-verified

1669
1670// syntax: TRUNCATE TEMPORARY? TABLE (IF EXISTS)? tableIdentifier clusterClause?;
1671func (p *Parser) parseTruncateTable(pos Pos) (*TruncateTable, error) {
1672 if err := p.expectKeyword(KeywordTruncate); err != nil {
1673 return nil, err
1674 }
1675
1676 isTemporary := p.tryConsumeKeywords(KeywordTemporary)
1677
1678 if err := p.expectKeyword(KeywordTable); err != nil {
1679 return nil, err
1680 }
1681
1682 ifExists, err := p.tryParseIfExists()
1683 if err != nil {
1684 return nil, err
1685 }
1686
1687 tableName, err := p.parseTableIdentifier(p.Pos())
1688 if err != nil {
1689 return nil, err
1690 }
1691
1692 onCluster, err := p.tryParseClusterClause(p.Pos())
1693 if err != nil {
1694 return nil, err
1695 }
1696
1697 truncateTable := &TruncateTable{
1698 TruncatePos: pos,
1699 IsTemporary: isTemporary,
1700 IfExists: ifExists,
1701 Name: tableName,
1702 OnCluster: onCluster,
1703 StatementEnd: tableName.End(),
1704 }
1705
1706 if onCluster != nil {
1707 truncateTable.StatementEnd = onCluster.End()
1708 }
1709
1710 return truncateTable, nil
1711}
1712
1713func (p *Parser) parseDeleteClause(pos Pos) (*DeleteClause, error) {
1714 if err := p.expectKeyword(KeywordDelete); err != nil {

Callers 1

parseDDLMethod · 0.95

Calls 7

expectKeywordMethod · 0.95
tryConsumeKeywordsMethod · 0.95
tryParseIfExistsMethod · 0.95
parseTableIdentifierMethod · 0.95
PosMethod · 0.95
tryParseClusterClauseMethod · 0.95
EndMethod · 0.65

Tested by

no test coverage detected