/
githubmirror
/
sqlc
Обзор
Документация
Войти
/
githubmirror
/
sqlc
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
internal/sql/catalog/view.go
52 строки
1009 B
Kyle Gray
chore!: Rename kyleconroy/sqlc to sqlc-dev/sqlc (#2523)
26 июл 2023, 19:12
Не верифицирован
26 июл 2023, 19:12
d361c5d
Код
Авторство
О чём код?
package catalog import ( "github.com/sqlc-dev/sqlc/internal/sql/ast" "github.com/sqlc-dev/sqlc/internal/sql/sqlerr" ) func (c *Catalog) createView(stmt *ast.ViewStmt, colGen columnGenerator) error { cols, err := colGen.OutputColumns(stmt.Query) if err != nil { return err } catName := "" if stmt.View.Catalogname != nil { catName = *stmt.View.Catalogname } schemaName := "" if stmt.View.Schemaname != nil { schemaName = *stmt.View.Schemaname } tbl := Table{ Rel: &ast.TableName{ Catalog: catName, Schema: schemaName, Name: *stmt.View.Relname, }, Columns: cols, } ns := tbl.Rel.Schema if ns == "" { ns = c.DefaultSchema } schema, err := c.getSchema(ns) if err != nil { return err } _, existingIdx, err := schema.getTable(tbl.Rel) if err == nil && !stmt.Replace { return sqlerr.RelationExists(tbl.Rel.Name) } if stmt.Replace && err == nil { schema.Tables[existingIdx] = &tbl } else { schema.Tables = append(schema.Tables, &tbl) } return nil }