Skip to content

Commit 3f110ce

Browse files
eullerpereira94kyleconroy
authored andcommitted
proper generated code to handle byte slices (#138)
* proper generated code to handle byte slices * Update gen.go
1 parent 9a2554f commit 3f110ce

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

internal/dinosql/gen.go

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -95,14 +95,14 @@ func (v GoQueryValue) Params() string {
9595
}
9696
var out []string
9797
if v.Struct == nil {
98-
if strings.HasPrefix(v.typ, "[]") {
98+
if strings.HasPrefix(v.typ, "[]") && v.typ != "[]byte" {
9999
out = append(out, "pq.Array("+v.Name+")")
100100
} else {
101101
out = append(out, v.Name)
102102
}
103103
} else {
104104
for _, f := range v.Struct.Fields {
105-
if strings.HasPrefix(f.Type, "[]") {
105+
if strings.HasPrefix(f.Type, "[]") && f.Type != "[]byte" {
106106
out = append(out, "pq.Array("+v.Name+"."+f.Name+")")
107107
} else {
108108
out = append(out, v.Name+"."+f.Name)
@@ -119,14 +119,14 @@ func (v GoQueryValue) Params() string {
119119
func (v GoQueryValue) Scan() string {
120120
var out []string
121121
if v.Struct == nil {
122-
if strings.HasPrefix(v.typ, "[]") {
122+
if strings.HasPrefix(v.typ, "[]") && v.typ != "[]byte" {
123123
out = append(out, "pq.Array(&"+v.Name+")")
124124
} else {
125125
out = append(out, "&"+v.Name)
126126
}
127127
} else {
128128
for _, f := range v.Struct.Fields {
129-
if strings.HasPrefix(f.Type, "[]") {
129+
if strings.HasPrefix(f.Type, "[]") && f.Type != "[]byte" {
130130
out = append(out, "pq.Array(&"+v.Name+"."+f.Name+")")
131131
} else {
132132
out = append(out, "&"+v.Name+"."+f.Name)
@@ -287,25 +287,28 @@ func (r Result) QueryImports(filename string) [][]string {
287287
if !q.Ret.isEmpty() {
288288
if q.Ret.IsStruct() {
289289
for _, f := range q.Ret.Struct.Fields {
290-
if strings.HasPrefix(f.Type, "[]") {
290+
if strings.HasPrefix(f.Type, "[]") && f.Type != "[]byte" {
291291
return true
292292
}
293293
}
294294
} else {
295-
if strings.HasPrefix(q.Ret.Type(), "[]") {
295+
if strings.HasPrefix(q.Ret.Type(), "[]") && q.Ret.Type() != "[]byte" {
296+
log.Println(q.Ret.Type(), q.Ret.Name, q.Ret.typ)
296297
return true
297298
}
298299
}
299300
}
300301
if !q.Arg.isEmpty() {
301302
if q.Arg.IsStruct() {
302303
for _, f := range q.Arg.Struct.Fields {
303-
if strings.HasPrefix(f.Type, "[]") {
304+
if strings.HasPrefix(f.Type, "[]") && f.Type != "[]byte" {
305+
log.Println(f.Type, f.Name)
304306
return true
305307
}
306308
}
307309
} else {
308-
if strings.HasPrefix(q.Arg.Type(), "[]") {
310+
if strings.HasPrefix(q.Arg.Type(), "[]") && q.Arg.Type() != "[]byte" {
311+
log.Println(q.Arg.Type(), q.Arg.Name, q.Arg.typ)
309312
return true
310313
}
311314
}

0 commit comments

Comments
 (0)