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

Method parseDropDatabase

parser/parser_drop.go:3–35  ·  view source on GitHub ↗
(pos Pos)

Source from the content-addressed store, hash-verified

1package parser
2
3func (p *Parser) parseDropDatabase(pos Pos) (*DropDatabase, error) {
4 if err := p.expectKeyword(KeywordDatabase); err != nil {
5 return nil, err
6 }
7
8 isExists, err := p.tryParseIfExists()
9 if err != nil {
10 return nil, err
11 }
12
13 name, err := p.parseIdent()
14 if err != nil {
15 return nil, err
16 }
17
18 statementEnd := name.End()
19
20 onCluster, err := p.tryParseClusterClause(p.Pos())
21 if err != nil {
22 return nil, err
23 }
24 if onCluster != nil {
25 statementEnd = onCluster.End()
26 }
27
28 return &DropDatabase{
29 DropPos: pos,
30 Name: name,
31 IfExists: isExists,
32 OnCluster: onCluster,
33 StatementEnd: statementEnd,
34 }, nil
35}
36
37func (p *Parser) parseDropStmt(pos Pos) (*DropStmt, error) {
38 var isTemporary bool

Callers 1

parseDDLMethod · 0.95

Calls 6

expectKeywordMethod · 0.95
tryParseIfExistsMethod · 0.95
parseIdentMethod · 0.95
tryParseClusterClauseMethod · 0.95
PosMethod · 0.95
EndMethod · 0.65

Tested by

no test coverage detected