jet/generator/metadata/column_meta_data.go

45 lines
968 B
Go
Raw Normal View History

package metadata
import (
"regexp"
)
// Column struct
type Column struct {
Name string
IsPrimaryKey bool
IsNullable bool
IsGenerated bool
DataType DataType
Comment string
}
// GoLangComment returns column comment without ascii control characters
func (c Column) GoLangComment() string {
if c.Comment == "" {
return ""
}
// remove ascii control characters from string
return regexp.MustCompile(`[[:cntrl:]]+`).ReplaceAllString(c.Comment, "")
}
// DataTypeKind is database type kind(base, enum, user-defined, array)
type DataTypeKind string
// DataTypeKind possible values
const (
BaseType DataTypeKind = "base"
EnumType DataTypeKind = "enum"
UserDefinedType DataTypeKind = "user-defined"
ArrayType DataTypeKind = "array"
2024-02-01 15:20:49 +01:00
RangeType DataTypeKind = "range"
)
// DataType contains information about column data type
type DataType struct {
Name string
Kind DataTypeKind
IsUnsigned bool
}