Skip to content

Commit 1d8d6dc

Browse files
authored
Merge pull request #19 from hipeople/ordered-coumns
return columns in consistent order in valuesForRecord
2 parents d953c05 + e49f609 commit 1d8d6dc

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

create.go

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ import (
44
"context"
55
stdsql "database/sql"
66
"fmt"
7+
"maps"
8+
"slices"
79

810
"github.com/azer/crud/v2/sql"
911
)
@@ -60,10 +62,12 @@ func valuesForRecord(record interface{}) (*Row, []string, []interface{}, error)
6062
return nil, nil, nil, err
6163
}
6264

63-
columns := []string{}
64-
values := []interface{}{}
65+
sqlValues := row.SQLValues()
66+
columns := make([]string, 0, len(sqlValues))
67+
values := make([]interface{}, 0, len(sqlValues))
6568

66-
for c, v := range row.SQLValues() {
69+
for _, c := range slices.Sorted(maps.Keys(sqlValues)) {
70+
v := sqlValues[c]
6771
columns = append(columns, c)
6872
values = append(values, v)
6973
}

go.mod

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,4 @@ require (
6464
gopkg.in/yaml.v3 v3.0.1 // indirect
6565
)
6666

67-
go 1.21
68-
69-
toolchain go1.23.0
67+
go 1.24

0 commit comments

Comments
 (0)