MCPcopy Index your code
hub / github.com/sqlc-dev/sqlc / convertExpr

Method convertExpr

internal/engine/clickhouse/convert.go:330–374  ·  view source on GitHub ↗
(expr chast.Expression)

Source from the content-addressed store, hash-verified

328}
329
330func (c *cc) convertExpr(expr chast.Expression) ast.Node {
331 if expr == nil {
332 return nil
333 }
334
335 switch e := expr.(type) {
336 case *chast.Identifier:
337 return c.convertIdentifier(e)
338 case *chast.Literal:
339 return c.convertLiteral(e)
340 case *chast.BinaryExpr:
341 return c.convertBinaryExpr(e)
342 case *chast.FunctionCall:
343 return c.convertFunctionCall(e)
344 case *chast.AliasedExpr:
345 return c.convertExpr(e.Expr)
346 case *chast.Parameter:
347 return c.convertParameter(e)
348 case *chast.Asterisk:
349 return c.convertAsterisk(e)
350 case *chast.CaseExpr:
351 return c.convertCaseExpr(e)
352 case *chast.CastExpr:
353 return c.convertCastExpr(e)
354 case *chast.BetweenExpr:
355 return c.convertBetweenExpr(e)
356 case *chast.InExpr:
357 return c.convertInExpr(e)
358 case *chast.IsNullExpr:
359 return c.convertIsNullExpr(e)
360 case *chast.LikeExpr:
361 return c.convertLikeExpr(e)
362 case *chast.Subquery:
363 return c.convertSubquery(e)
364 case *chast.ArrayAccess:
365 return c.convertArrayAccess(e)
366 case *chast.UnaryExpr:
367 return c.convertUnaryExpr(e)
368 case *chast.Lambda:
369 // Lambda expressions are ClickHouse-specific, return as-is for now
370 return &ast.TODO{}
371 default:
372 return &ast.TODO{}
373 }
374}
375
376func (c *cc) convertIdentifier(n *chast.Identifier) *ast.ColumnRef {
377 fields := &ast.List{}

Callers 15

convertSelectQueryMethod · 0.95
convertToResTargetMethod · 0.95
convertTableJoinMethod · 0.95
convertBinaryExprMethod · 0.95
convertFunctionCallMethod · 0.95
convertCaseExprMethod · 0.95
convertCastExprMethod · 0.95
convertBetweenExprMethod · 0.95
convertInExprMethod · 0.95
convertIsNullExprMethod · 0.95
convertLikeExprMethod · 0.95
convertArrayAccessMethod · 0.95

Calls 15

convertIdentifierMethod · 0.95
convertLiteralMethod · 0.95
convertBinaryExprMethod · 0.95
convertFunctionCallMethod · 0.95
convertParameterMethod · 0.95
convertAsteriskMethod · 0.95
convertCaseExprMethod · 0.95
convertCastExprMethod · 0.95
convertBetweenExprMethod · 0.95
convertInExprMethod · 0.95
convertIsNullExprMethod · 0.95
convertLikeExprMethod · 0.95

Tested by

no test coverage detected