/
githubmirror
/
sqlc
Обзор
Документация
Войти
/
githubmirror
/
sqlc
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
internal/compiler/to_column.go
33 строки
709 B
Andrew Benton
refactor(compiler): remove some duplicate code (#2546)
31 июл 2023, 01:03
Не верифицирован
31 июл 2023, 01:03
b131f02
Код
Авторство
О чём код?
package compiler import ( "strings" "github.com/sqlc-dev/sqlc/internal/sql/ast" "github.com/sqlc-dev/sqlc/internal/sql/astutils" ) func arrayDims(n *ast.TypeName) int { if n == nil || n.ArrayBounds == nil { return 0 } return len(n.ArrayBounds.Items) } func toColumn(n *ast.TypeName) *Column { if n == nil { panic("can't build column for nil type name") } typ, err := ParseTypeName(n) if err != nil { panic("toColumn: " + err.Error()) } arrayDims := arrayDims(n) return &Column{ Type: typ, DataType: strings.TrimPrefix(astutils.Join(n.Names, "."), "."), NotNull: true, // XXX: How do we know if this should be null? IsArray: arrayDims > 0, ArrayDims: arrayDims, } }