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

Method parseColumnArgList

parser/parser_column.go:637–664  ·  view source on GitHub ↗
(pos Pos)

Source from the content-addressed store, hash-verified

635}
636
637func (p *Parser) parseColumnArgList(pos Pos) (*ColumnArgList, error) {
638 if err := p.expectTokenKind(TokenKindLParen); err != nil {
639 return nil, err
640 }
641 distinct := p.tryConsumeKeywords(KeywordDistinct)
642
643 var items []Expr
644 for !p.lexer.isEOF() && !p.matchTokenKind(TokenKindRParen) {
645 item, err := p.parseExpr(p.Pos())
646 if err != nil {
647 return nil, err
648 }
649 items = append(items, item)
650 if p.tryConsumeTokenKind(TokenKindComma) == nil {
651 break
652 }
653 }
654 rightParenPos := p.Pos()
655 if err := p.expectTokenKind(TokenKindRParen); err != nil {
656 return nil, err
657 }
658 return &ColumnArgList{
659 LeftParenPos: pos,
660 RightParenPos: rightParenPos,
661 Distinct: distinct,
662 Items: items,
663 }, nil
664}
665
666func (p *Parser) parseFunctionParams(pos Pos) (*ParamExprList, error) {
667 if err := p.expectTokenKind(TokenKindLParen); err != nil {

Callers 1

parseFunctionParamsMethod · 0.95

Calls 7

expectTokenKindMethod · 0.95
tryConsumeKeywordsMethod · 0.95
matchTokenKindMethod · 0.95
parseExprMethod · 0.95
PosMethod · 0.95
tryConsumeTokenKindMethod · 0.95
isEOFMethod · 0.80

Tested by

no test coverage detected