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

Method getNextPrecedence

parser/parser_column.go:35–78  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

33}
34
35func (p *Parser) getNextPrecedence() int {
36 switch {
37 case p.matchKeyword(KeywordOr):
38 return PrecedenceOr
39 case p.matchKeyword(KeywordAnd):
40 return PrecedenceAnd
41 case p.matchKeyword(KeywordIs):
42 return PrecedenceIs
43 case p.matchKeyword(KeywordNot):
44 return PrecedenceNot
45 case p.matchTokenKind(TokenKindDot):
46 return PrecedenceDot
47 case p.matchTokenKind(TokenKindDash):
48 return PrecedenceDoubleColon
49 case p.matchTokenKind(TokenKindSingleEQ), p.matchTokenKind(TokenKindLT), p.matchTokenKind(TokenKindLE),
50 p.matchTokenKind(TokenKindGE), p.matchTokenKind(TokenKindGT), p.matchTokenKind(TokenKindDoubleEQ),
51 p.matchTokenKind(TokenKindNE), p.matchTokenKind("<>"):
52 return PrecedenceCompare
53 case p.matchTokenKind(TokenKindConcat):
54 return PrecedenceConcat
55 case p.matchTokenKind(TokenKindPlus), p.matchTokenKind(TokenKindMinus):
56 return PrecedenceAddSub
57 case p.matchTokenKind(TokenKindMul), p.matchTokenKind(TokenKindDiv), p.matchTokenKind(TokenKindMod):
58 return PrecedenceMulDivMod
59 case p.matchTokenKind(TokenKindArrow):
60 return PrecedenceArrow
61 case p.matchTokenKind(TokenKindLParen), p.matchTokenKind(TokenKindLBracket):
62 return PrecedenceBracket
63 case p.matchTokenKind(TokenKindDash):
64 return PrecedenceDoubleColon
65 case p.matchTokenKind(TokenKindDot):
66 return PrecedenceDot
67 case p.matchKeyword(KeywordBetween), p.matchKeyword(KeywordLike), p.matchKeyword(KeywordIlike):
68 return PrecedenceBetweenLike
69 case p.matchKeyword(KeywordIn):
70 return precedenceIn
71 case p.matchKeyword(KeywordGlobal):
72 return PrecedenceGlobal
73 case p.matchTokenKind(TokenKindQuestionMark):
74 return PrecedenceQuery
75 default:
76 return PrecedenceUnknown
77 }
78}
79
80func (p *Parser) parseInfix(expr Expr, precedence int) (Expr, error) {
81 switch {

Callers 1

parseSubExprMethod · 0.95

Calls 2

matchKeywordMethod · 0.95
matchTokenKindMethod · 0.95

Tested by

no test coverage detected