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

Method parseSubQuery

parser/parser_query.go:957–975  ·  view source on GitHub ↗
(_ Pos)

Source from the content-addressed store, hash-verified

955}
956
957func (p *Parser) parseSubQuery(_ Pos) (*SubQuery, error) {
958
959 hasParen := p.tryConsumeTokenKind(TokenKindLParen) != nil
960
961 selectQuery, err := p.parseSelectQuery(p.Pos())
962 if err != nil {
963 return nil, err
964 }
965 if hasParen {
966 if err := p.expectTokenKind(TokenKindRParen); err != nil {
967 return nil, err
968 }
969 }
970
971 return &SubQuery{
972 HasParen: hasParen,
973 Select: selectQuery,
974 }, nil
975}
976
977func (p *Parser) parseSelectQuery(_ Pos) (*SelectQuery, error) {
978 if !p.matchKeyword(KeywordSelect) && !p.matchKeyword(KeywordWith) && !p.matchTokenKind(TokenKindLParen) {

Callers 7

parseColumnExprMethod · 0.95
parseCreateViewMethod · 0.95
parseCreateLiveViewMethod · 0.95
parseTableExprMethod · 0.95
parseCreateTableMethod · 0.95
parseTableArgExprMethod · 0.95

Calls 4

tryConsumeTokenKindMethod · 0.95
parseSelectQueryMethod · 0.95
PosMethod · 0.95
expectTokenKindMethod · 0.95

Tested by

no test coverage detected