Documentation ¶
Index ¶
- Variables
- func GenerateImport(name string, importPath string, g *protogen.GeneratedFile) string
- func GetFieldName(f *types.Field) string
- func GetPK(t *types.Table) *types.Field
- func GetTemplateFuns(p Printer) template.FuncMap
- func GetType(f *types.Field) string
- func WriteDeletes(g Printer, m *types.Table)
- func WriteEncodings(g Printer, m *types.Table)
- func WriteInsertes(g Printer, m *types.Table)
- func WriteNestedSelectors(g Printer, m *types.Table)
- func WriteQueries(g Printer, m *types.Table)
- func WriteUpdates(g Printer, m *types.Table)
- type Printer
Constants ¶
This section is empty.
Variables ¶
View Source
var TableMessageStore *types.TableMessages
View Source
var TplFuncs = template.FuncMap{ "PackagePrefix": func(local *types.Table, remote *types.Table) string { if local.GoPackageImport == remote.GoPackageImport { return "" } local.Imports[remote.GoPackageName] = remote.GoPackageImport return fmt.Sprintf("%s.", remote.GoPackageName) }, "SubQueries": func(t *types.Table) []*types.Field { foreignKeys := []*types.Field{} for _, f := range t.Cols { if f.IsMessage && f.FK.Remote != nil { foreignKeys = append(foreignKeys, f) } } return foreignKeys }, "HasPK": func(t *types.Table) bool { return GetPK(t) != nil }, "GetPKCol": func(t *types.Table) string { return GetPK(t).ColName }, "GetPKName": func(t *types.Table) string { pk := GetPK(t) if pk == nil { return "interface{}{}" } return pk.MsgName }, "GetPKConvert": func(t *types.Table, varName string) string { pk := GetPK(t) if pk == nil { return "interface{}" } switch GetType(pk) { case "int32": t.Imports[""] = "encoding/binary" return fmt.Sprintf("int32(binary.LittleEndian.Uint32(%s))", varName) case "int64": t.Imports[""] = "encoding/binary" return fmt.Sprintf("int64(binary.LittleEndian.Uint64(%s))", varName) } return fmt.Sprintf("%s(%s)", GetType(pk), varName) }, "IsReverseFK": func(fk *types.Field) bool { return false }, "getColumnNames": func(t *types.Table, separator string) string { str := "" for _, f := range t.GetOrderedCols() { if (f.FK.Remote == nil || !f.Repeated) && len(f.ColName) > 0 { str = str + f.ColName + separator } } return strings.TrimSuffix(str, separator) }, "getFieldNames": func(t *types.Table, separator string) string { str := "" for _, f := range t.GetOrderedCols() { if (f.FK.Remote == nil || !f.Repeated) && len(f.ColName) > 0 { str = str + toPascalCase(f.MsgName) + separator } } return strings.TrimSuffix(str, separator) }, "getFullFieldName": getFullFieldName, "GetInsertFieldNames": func(t *types.Table, separator string) string { str := "" for _, f := range getInsertFields(t) { str = str + getFullFieldName(f) + separator } return strings.TrimSuffix(str, separator) }, "GetInsertColNames": func(t *types.Table, separator string) string { str := "" for _, f := range getInsertFields(t) { str = str + f.ColName + separator } return strings.TrimSuffix(str, separator) }, "GetUpdateFields": func(t *types.Table) []*types.Field { cols := []*types.Field{} inCols := func(new *types.Field) bool { for _, c := range cols { if new == c { return true } } return false } for _, f := range t.GetOrderedCols() { if !inCols(f) && (f.PK == sqlgen.PK_PK_UNSPECIFIED) && f.FK.Remote == nil && len(f.ColName) > 0 { cols = append(cols, f) } } return cols }, }
Functions ¶
func GenerateImport ¶
func GenerateImport(name string, importPath string, g *protogen.GeneratedFile) string
func GetFieldName ¶
func GetTemplateFuns ¶
func WriteDeletes ¶
func WriteEncodings ¶
func WriteInsertes ¶
func WriteNestedSelectors ¶
func WriteQueries ¶
func WriteUpdates ¶
Types ¶
Click to show internal directories.
Click to hide internal directories.