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

Method convertTablesInSelectQuery

internal/engine/clickhouse/convert.go:219–245  ·  view source on GitHub ↗
(n *chast.TablesInSelectQuery)

Source from the content-addressed store, hash-verified

217}
218
219func (c *cc) convertTablesInSelectQuery(n *chast.TablesInSelectQuery) *ast.List {
220 if n == nil || len(n.Tables) == 0 {
221 return nil
222 }
223
224 result := &ast.List{}
225
226 for i, elem := range n.Tables {
227 if elem.Table != nil {
228 tableExpr := c.convertTableExpression(elem.Table)
229 if i == 0 {
230 result.Items = append(result.Items, tableExpr)
231 } else if elem.Join != nil {
232 // This element has a join
233 joinExpr := c.convertTableJoin(elem.Join, result.Items[len(result.Items)-1], tableExpr)
234 result.Items[len(result.Items)-1] = joinExpr
235 } else {
236 result.Items = append(result.Items, tableExpr)
237 }
238 } else if elem.Join != nil && len(result.Items) > 0 {
239 // Join without table (should not happen normally)
240 continue
241 }
242 }
243
244 return result
245}
246
247func (c *cc) convertTableExpression(n *chast.TableExpression) ast.Node {
248 var result ast.Node

Callers 1

convertSelectQueryMethod · 0.95

Calls 2

convertTableJoinMethod · 0.95

Tested by

no test coverage detected