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

Method parseIdentOrString

parser/parser_common.go:145–161  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

143}
144
145func (p *Parser) parseIdentOrString() (*Ident, error) {
146 switch {
147 case p.matchTokenKind(TokenKindIdent):
148 return p.parseIdent()
149 case p.matchTokenKind(TokenKindString):
150 lastToken := p.last()
151 _ = p.lexer.consumeToken()
152 return &Ident{
153 NamePos: lastToken.Pos,
154 NameEnd: lastToken.End,
155 Name: lastToken.String,
156 QuoteType: SingleQuote, // Treat string literals as single-quoted identifiers
157 }, nil
158 default:
159 return nil, fmt.Errorf("expected <ident> or <string>, but got %q", p.lastTokenKind())
160 }
161}
162
163func (p *Parser) tryParseDotIdent(_ Pos) (*Ident, error) {
164 if p.tryConsumeTokenKind(TokenKindDot) == nil {

Callers 2

parseTableIdentifierMethod · 0.95

Calls 5

matchTokenKindMethod · 0.95
parseIdentMethod · 0.95
lastMethod · 0.95
lastTokenKindMethod · 0.95
consumeTokenMethod · 0.80

Tested by

no test coverage detected