Skip to content

Commit 6a4a825

Browse files
authored
codegen: Extend types for sqlite engine (#1001)
1 parent 9fb8484 commit 6a4a825

File tree

2 files changed

+38
-7
lines changed

2 files changed

+38
-7
lines changed

internal/codegen/golang/sqlite_type.go

Lines changed: 36 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,40 @@ import (
99
)
1010

1111
func sqliteType(r *compiler.Result, col *compiler.Column, settings config.CombinedSettings) string {
12-
dt := col.DataType
12+
dt := strings.ToLower(col.DataType)
1313
notNull := col.NotNull || col.IsArray
1414

1515
switch dt {
1616

17-
case "integer":
17+
case "int", "integer", "tinyint", "smallint", "mediumint", "bigint", "unsignedbigint", "int2", "int8", "numeric", "decimal":
1818
if notNull {
19-
return "int32"
19+
return "int64"
2020
}
21-
return "sql.NullInt32"
21+
return "sql.NullInt64"
22+
23+
case "blob":
24+
if notNull {
25+
return "[]uint8"
26+
}
27+
return "*[]uint8"
28+
29+
case "real", "double", "doubleprecision", "float":
30+
if notNull {
31+
return "float64"
32+
}
33+
return "sql.NullFloat64"
34+
35+
case "boolean":
36+
if notNull {
37+
return "bool"
38+
}
39+
return "sql.NullBool"
40+
41+
case "date", "datetime", "timestamp":
42+
if notNull {
43+
return "time.Time"
44+
}
45+
return "sql.NullTime"
2246

2347
case "any":
2448
return "interface{}"
@@ -27,7 +51,14 @@ func sqliteType(r *compiler.Result, col *compiler.Column, settings config.Combin
2751

2852
switch {
2953

30-
case strings.HasPrefix(dt, "varchar"):
54+
case strings.HasPrefix(dt, "character"),
55+
strings.HasPrefix(dt, "varchar"),
56+
strings.HasPrefix(dt, "varyingcharacter"),
57+
strings.HasPrefix(dt, "nchar"),
58+
strings.HasPrefix(dt, "nativecharacter"),
59+
strings.HasPrefix(dt, "nvarchar"),
60+
dt == "text",
61+
dt == "clob":
3162
if notNull {
3263
return "string"
3364
}

internal/endtoend/testdata/select_star/sqlite/go/models.go

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

0 commit comments

Comments
 (0)