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

Method parseBetweenClause

parser/parser_query.go:601–627  ·  view source on GitHub ↗
(expr Expr)

Source from the content-addressed store, hash-verified

599}
600
601func (p *Parser) parseBetweenClause(expr Expr) (*BetweenClause, error) {
602 if err := p.expectKeyword(KeywordBetween); err != nil {
603 return nil, err
604 }
605
606 betweenExpr, err := p.parseSubExpr(p.Pos(), PrecedenceBetweenLike)
607 if err != nil {
608 return nil, err
609 }
610
611 andPos := p.Pos()
612 if err := p.expectKeyword(KeywordAnd); err != nil {
613 return nil, err
614 }
615
616 andExpr, err := p.parseSubExpr(p.Pos(), PrecedenceBetweenLike)
617 if err != nil {
618 return nil, err
619 }
620
621 return &BetweenClause{
622 Expr: expr,
623 Between: betweenExpr,
624 AndPos: andPos,
625 And: andExpr,
626 }, nil
627}
628
629func (p *Parser) parseLimitByClause(pos Pos) (Expr, error) {
630 limit, err := p.parseLimitClause(pos)

Callers 1

parseInfixMethod · 0.95

Calls 3

expectKeywordMethod · 0.95
parseSubExprMethod · 0.95
PosMethod · 0.95

Tested by

no test coverage detected