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

Method parseTopClause

parser/parser_query.go:49–74  ·  view source on GitHub ↗
(pos Pos)

Source from the content-addressed store, hash-verified

47}
48
49func (p *Parser) parseTopClause(pos Pos) (*TopClause, error) {
50 if err := p.expectKeyword(KeywordTop); err != nil {
51 return nil, err
52 }
53
54 number, err := p.parseNumber(p.Pos())
55 if err != nil {
56 return nil, err
57 }
58 topEnd := number.End()
59
60 withTies := false
61 if p.tryConsumeKeywords(KeywordWith) {
62 topEnd = p.End()
63 if err := p.expectKeyword(KeywordTies); err != nil {
64 return nil, err
65 }
66 withTies = true
67 }
68 return &TopClause{
69 TopPos: pos,
70 TopEnd: topEnd,
71 Number: number,
72 WithTies: withTies,
73 }, nil
74}
75
76func (p *Parser) tryParseDistinctOn(pos Pos) (*DistinctOn, error) {
77 if !p.matchKeyword(KeywordOn) {

Callers 1

tryParseTopClauseMethod · 0.95

Calls 6

expectKeywordMethod · 0.95
parseNumberMethod · 0.95
PosMethod · 0.95
tryConsumeKeywordsMethod · 0.95
EndMethod · 0.95
EndMethod · 0.65

Tested by

no test coverage detected