Skip to content

Commit 72fbaf5

Browse files
joshuarubinkyleconroy
authored andcommitted
fix scanning into enums (#145)
* fix scanning into enums Signed-off-by: Joshua Rubin <[email protected]> * test scanning into enum array Signed-off-by: Joshua Rubin <[email protected]>
1 parent 65ce7ca commit 72fbaf5

File tree

8 files changed

+41
-8
lines changed

8 files changed

+41
-8
lines changed

internal/dinosql/gen.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -851,6 +851,11 @@ const (
851851
{{.Name}} {{.Type}} = "{{.Value}}"
852852
{{- end}}
853853
)
854+
855+
func (e *{{.Name}}) Scan(src interface{}) error {
856+
*e = {{.Name}}(src.([]byte))
857+
return nil
858+
}
854859
{{end}}
855860
856861
{{range .Structs}}

internal/dinosql/testdata/ondeck/db_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import (
1919
func id() string {
2020
bytes := make([]byte, 10)
2121
for i := 0; i < 10; i++ {
22-
bytes[i] = byte(65 + rand.Intn(25)) //A=65 and Z = 65+25
22+
bytes[i] = byte(65 + rand.Intn(25)) // A=65 and Z = 65+25
2323
}
2424
return string(bytes)
2525
}
@@ -115,6 +115,7 @@ func TestQueries(t *testing.T) {
115115
City: city.Slug,
116116
SpotifyPlaylist: "spotify:uri",
117117
Status: StatusOpen,
118+
Statuses: []Status{StatusOpen, StatusClosed},
118119
Tags: []string{"rock", "punk"},
119120
})
120121
if err != nil {

internal/dinosql/testdata/ondeck/models.go

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/dinosql/testdata/ondeck/prepared/models.go

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/dinosql/testdata/ondeck/prepared/venue.sql.go

Lines changed: 9 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/dinosql/testdata/ondeck/query/venue.sql

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ INSERT INTO venue (
2121
created_at,
2222
spotify_playlist,
2323
status,
24+
statuses,
2425
tags
2526
) VALUES (
2627
$1,
@@ -29,7 +30,8 @@ INSERT INTO venue (
2930
NOW(),
3031
$4,
3132
$5,
32-
$6
33+
$6,
34+
$7
3335
) RETURNING id;
3436

3537
-- name: UpdateVenueName :one

internal/dinosql/testdata/ondeck/schema/0002_venue.sql

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ CREATE TABLE venues (
44
id SERIAL primary key,
55
dropped text,
66
status status not null,
7+
statuses status[],
78
slug text not null,
89
name varchar(255) not null,
910
city text not null references city(slug),

internal/dinosql/testdata/ondeck/venue.sql.go

Lines changed: 9 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)