Skip to content

Commit a4fefe2

Browse files
committed
Improved code
1 parent e1b31a9 commit a4fefe2

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

pgx/register.go

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,21 +25,25 @@ func RegisterTypes(ctx context.Context, conn *pgx.Conn) error {
2525
}
2626

2727
tm := conn.TypeMap()
28-
registerType(tm, "vector", *vectorOid, *vectorArrayOid, &VectorCodec{})
28+
registerType(tm, "vector", vectorOid, vectorArrayOid, &VectorCodec{})
2929

3030
if halfvecOid != nil {
31-
registerType(tm, "halfvec", *halfvecOid, *halfvecArrayOid, &HalfVectorCodec{})
31+
registerType(tm, "halfvec", halfvecOid, halfvecArrayOid, &HalfVectorCodec{})
3232
}
3333

3434
if sparsevecOid != nil {
35-
registerType(tm, "sparsevec", *sparsevecOid, *sparsevecArrayOid, &SparseVectorCodec{})
35+
registerType(tm, "sparsevec", sparsevecOid, sparsevecArrayOid, &SparseVectorCodec{})
3636
}
3737

3838
return nil
3939
}
4040

41-
func registerType(tm *pgtype.Map, name string, oid uint32, arrayOid uint32, codec pgtype.Codec) {
42-
t := pgtype.Type{Name: name, OID: oid, Codec: codec}
41+
func registerType(tm *pgtype.Map, name string, oid *uint32, arrayOid *uint32, codec pgtype.Codec) {
42+
t := pgtype.Type{Name: name, OID: *oid, Codec: codec}
4343
tm.RegisterType(&t)
44-
tm.RegisterType(&pgtype.Type{Name: "_" + name, OID: arrayOid, Codec: &pgtype.ArrayCodec{ElementType: &t}})
44+
45+
// should never be nil
46+
if arrayOid != nil {
47+
tm.RegisterType(&pgtype.Type{Name: "_" + name, OID: *arrayOid, Codec: &pgtype.ArrayCodec{ElementType: &t}})
48+
}
4549
}

0 commit comments

Comments
 (0)