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

Method parseSystemStmt

parser/parse_system.go:306–334  ·  view source on GitHub ↗
(pos Pos)

Source from the content-addressed store, hash-verified

304}
305
306func (p *Parser) parseSystemStmt(pos Pos) (*SystemStmt, error) {
307 if err := p.expectKeyword(KeywordSystem); err != nil {
308 return nil, err
309 }
310
311 var err error
312 var expr Expr
313 switch {
314 case p.matchKeyword(KeywordFlush):
315 expr, err = p.parseSystemFlushExpr(p.Pos())
316 case p.matchKeyword(KeywordReload):
317 expr, err = p.parseSystemReloadExpr(p.Pos())
318 case p.matchKeyword(KeywordSync):
319 expr, err = p.parseSystemSyncExpr(p.Pos())
320 case p.matchKeyword(KeywordStart), p.matchKeyword(KeywordStop):
321 expr, err = p.parseSystemCtrlExpr(p.Pos())
322 case p.matchKeyword(KeywordDrop):
323 expr, err = p.parseSystemDropExpr(p.Pos())
324 default:
325 return nil, fmt.Errorf("expected FLUSH|RELOAD|SYNC|START|STOP")
326 }
327 if err != nil {
328 return nil, err
329 }
330 return &SystemStmt{
331 SystemPos: pos,
332 Expr: expr,
333 }, nil
334}
335
336func (p *Parser) parseCheckStmt(pos Pos) (*CheckStmt, error) {
337 if err := p.expectKeyword(KeywordCheck); err != nil {

Callers 1

parseStmtMethod · 0.95

Calls 8

expectKeywordMethod · 0.95
matchKeywordMethod · 0.95
parseSystemFlushExprMethod · 0.95
PosMethod · 0.95
parseSystemReloadExprMethod · 0.95
parseSystemSyncExprMethod · 0.95
parseSystemCtrlExprMethod · 0.95
parseSystemDropExprMethod · 0.95

Tested by

no test coverage detected