diff --git a/internal/codegen/golang/postgresql_type.go b/internal/codegen/golang/postgresql_type.go index 9172ba0460..7609f35f60 100644 --- a/internal/codegen/golang/postgresql_type.go +++ b/internal/codegen/golang/postgresql_type.go @@ -37,7 +37,7 @@ func postgresType(req *plugin.CodeGenRequest, col *plugin.Column) string { columnType := sdk.DataType(col.Type) notNull := col.NotNull || col.IsArray driver := parseDriver(req.Settings.Go.SqlPackage) - emitPointersForNull := driver == SQLDriverPGXV4 && req.Settings.Go.EmitPointersForNullTypes + emitPointersForNull := driver.IsPGX() && req.Settings.Go.EmitPointersForNullTypes switch columnType { case "serial", "serial4", "pg_catalog.serial4": diff --git a/internal/endtoend/testdata/emit_pointers_for_null_types/pgx/v5/go/models.go b/internal/endtoend/testdata/emit_pointers_for_null_types/pgx/v5/go/models.go index 76131d6473..d9a0a13d49 100644 --- a/internal/endtoend/testdata/emit_pointers_for_null_types/pgx/v5/go/models.go +++ b/internal/endtoend/testdata/emit_pointers_for_null_types/pgx/v5/go/models.go @@ -5,7 +5,6 @@ package datatype import ( - "database/sql" "net" "net/netip" "time" @@ -14,11 +13,11 @@ import ( ) type DtCharacter struct { - A pgtype.Text - B pgtype.Text - C pgtype.Text - D pgtype.Text - E pgtype.Text + A *string + B *string + C *string + D *string + E *string } type DtCharacterNotNull struct { @@ -33,7 +32,7 @@ type DtDatetime struct { A pgtype.Date B pgtype.Time C pgtype.Time - D sql.NullTime + D *time.Time E pgtype.Timestamp F pgtype.Timestamp G pgtype.Timestamptz @@ -64,19 +63,19 @@ type DtNetTypesNotNull struct { } type DtNumeric struct { - A pgtype.Int2 - B pgtype.Int4 - C pgtype.Int8 + A *int16 + B *int32 + C *int64 D pgtype.Numeric E pgtype.Numeric - F pgtype.Float4 - G pgtype.Float8 - H pgtype.Int2 - I pgtype.Int4 - J pgtype.Int8 - K pgtype.Int2 - L pgtype.Int4 - M pgtype.Int8 + F *float32 + G *float64 + H *int16 + I *int32 + J *int64 + K *int16 + L *int32 + M *int64 } type DtNumericNotNull struct {