From e8f4f3b92f5abafbec2695f66b84b7cb4c07954f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kate=20D=C3=B6en?= Date: Mon, 16 May 2022 11:21:13 +0200 Subject: [PATCH 1/2] Use pgtype.Time for pg_catalog.time --- internal/codegen/golang/imports.go | 1 + internal/codegen/golang/postgresql_type.go | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/internal/codegen/golang/imports.go b/internal/codegen/golang/imports.go index 72c97b4fea..e46c53d611 100644 --- a/internal/codegen/golang/imports.go +++ b/internal/codegen/golang/imports.go @@ -150,6 +150,7 @@ var pgtypeTypes = map[string]struct{}{ "pgtype.Macaddr": {}, "pgtype.Numeric": {}, "pgtype.Numrange": {}, + "pgtype.Time": {}, "pgtype.Tsrange": {}, "pgtype.Tstzrange": {}, } diff --git a/internal/codegen/golang/postgresql_type.go b/internal/codegen/golang/postgresql_type.go index afa5a21aa7..9f0eebde9b 100644 --- a/internal/codegen/golang/postgresql_type.go +++ b/internal/codegen/golang/postgresql_type.go @@ -143,7 +143,10 @@ func postgresType(req *plugin.CodeGenRequest, col *plugin.Column) string { } return "sql.NullTime" - case "pg_catalog.time", "pg_catalog.timetz": + case "pg_catalog.time": + return "pgtype.Time" + + case "pg_catalog.timetz": if notNull { return "time.Time" } From 6065ed776af4740e8b75a1beba7c9ce8672a81fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kate=20D=C3=B6en?= Date: Mon, 16 May 2022 11:21:26 +0200 Subject: [PATCH 2/2] Update testdata --- internal/endtoend/testdata/cast_null/pgx/go/query.sql.go | 4 +++- .../endtoend/testdata/cast_null/stdlib/go/query.sql.go | 4 +++- internal/endtoend/testdata/datatype/pgx/go/models.go | 8 ++++---- internal/endtoend/testdata/datatype/stdlib/go/models.go | 9 +++++---- 4 files changed, 15 insertions(+), 10 deletions(-) diff --git a/internal/endtoend/testdata/cast_null/pgx/go/query.sql.go b/internal/endtoend/testdata/cast_null/pgx/go/query.sql.go index 01382a670d..206150ca21 100644 --- a/internal/endtoend/testdata/cast_null/pgx/go/query.sql.go +++ b/internal/endtoend/testdata/cast_null/pgx/go/query.sql.go @@ -8,6 +8,8 @@ package querytest import ( "context" "database/sql" + + "github.com/jackc/pgtype" ) const listNullable = `-- name: ListNullable :many @@ -23,7 +25,7 @@ type ListNullableRow struct { A sql.NullString B sql.NullInt32 C sql.NullInt64 - D sql.NullTime + D pgtype.Time } func (q *Queries) ListNullable(ctx context.Context) ([]ListNullableRow, error) { diff --git a/internal/endtoend/testdata/cast_null/stdlib/go/query.sql.go b/internal/endtoend/testdata/cast_null/stdlib/go/query.sql.go index c60aee8a52..b85124a754 100644 --- a/internal/endtoend/testdata/cast_null/stdlib/go/query.sql.go +++ b/internal/endtoend/testdata/cast_null/stdlib/go/query.sql.go @@ -8,6 +8,8 @@ package querytest import ( "context" "database/sql" + + "github.com/jackc/pgtype" ) const listNullable = `-- name: ListNullable :many @@ -23,7 +25,7 @@ type ListNullableRow struct { A sql.NullString B sql.NullInt32 C sql.NullInt64 - D sql.NullTime + D pgtype.Time } func (q *Queries) ListNullable(ctx context.Context) ([]ListNullableRow, error) { diff --git a/internal/endtoend/testdata/datatype/pgx/go/models.go b/internal/endtoend/testdata/datatype/pgx/go/models.go index f703fafa66..b588a38024 100644 --- a/internal/endtoend/testdata/datatype/pgx/go/models.go +++ b/internal/endtoend/testdata/datatype/pgx/go/models.go @@ -29,8 +29,8 @@ type DtCharacterNotNull struct { type DtDatetime struct { A sql.NullTime - B sql.NullTime - C sql.NullTime + B pgtype.Time + C pgtype.Time D sql.NullTime E sql.NullTime F sql.NullTime @@ -40,8 +40,8 @@ type DtDatetime struct { type DtDatetimeNotNull struct { A time.Time - B time.Time - C time.Time + B pgtype.Time + C pgtype.Time D time.Time E time.Time F time.Time diff --git a/internal/endtoend/testdata/datatype/stdlib/go/models.go b/internal/endtoend/testdata/datatype/stdlib/go/models.go index 0916ca8931..b5a40b86ee 100644 --- a/internal/endtoend/testdata/datatype/stdlib/go/models.go +++ b/internal/endtoend/testdata/datatype/stdlib/go/models.go @@ -8,6 +8,7 @@ import ( "database/sql" "time" + "github.com/jackc/pgtype" "github.com/tabbed/pqtype" ) @@ -29,8 +30,8 @@ type DtCharacterNotNull struct { type DtDatetime struct { A sql.NullTime - B sql.NullTime - C sql.NullTime + B pgtype.Time + C pgtype.Time D sql.NullTime E sql.NullTime F sql.NullTime @@ -40,8 +41,8 @@ type DtDatetime struct { type DtDatetimeNotNull struct { A time.Time - B time.Time - C time.Time + B pgtype.Time + C pgtype.Time D time.Time E time.Time F time.Time