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

Method parseTernaryExpr

parser/parser_column.go:245–265  ·  view source on GitHub ↗
(condition Expr)

Source from the content-addressed store, hash-verified

243}
244
245func (p *Parser) parseTernaryExpr(condition Expr) (*TernaryOperation, error) {
246 if err := p.expectTokenKind(TokenKindQuestionMark); err != nil {
247 return nil, err
248 }
249 trueExpr, err := p.parseExpr(p.Pos())
250 if err != nil {
251 return nil, err
252 }
253 if err := p.expectTokenKind(TokenKindColon); err != nil {
254 return nil, err
255 }
256 falseExpr, err := p.parseExpr(p.Pos())
257 if err != nil {
258 return nil, err
259 }
260 return &TernaryOperation{
261 Condition: condition,
262 TrueExpr: trueExpr,
263 FalseExpr: falseExpr,
264 }, nil
265}
266
267func (p *Parser) parseExtractFrom(ident *Ident) (*IntervalFrom, error) {
268 fromPos := p.Pos()

Callers 1

parseInfixMethod · 0.95

Calls 3

expectTokenKindMethod · 0.95
parseExprMethod · 0.95
PosMethod · 0.95

Tested by

no test coverage detected