From 221ad1b84c5dd91e329bb284e604b0810612cdc7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20P=C3=A9rez-Aradros=20Herce?= Date: Mon, 18 Mar 2024 17:29:04 +0100 Subject: [PATCH] Add support for macaddr8 type Postgres also has a `macaddr8` type, this PR adds support for it, using the same codec as `macaddr` --- pgtype/macaddr_test.go | 5 +++++ pgtype/pgtype.go | 1 + pgtype/pgtype_default.go | 1 + 3 files changed, 7 insertions(+) diff --git a/pgtype/macaddr_test.go b/pgtype/macaddr_test.go index 84cf970f..03dd1db5 100644 --- a/pgtype/macaddr_test.go +++ b/pgtype/macaddr_test.go @@ -46,6 +46,11 @@ func TestMacaddrCodec(t *testing.T) { new(string), isExpectedEq("01:23:45:67:89:ab"), }, + { + mustParseMacaddr(t, "01:23:45:67:89:ab:01:08"), + new(string), + isExpectedEq("01:23:45:67:89:ab:01:08"), + }, {nil, new(*net.HardwareAddr), isExpectedEq((*net.HardwareAddr)(nil))}, }) } diff --git a/pgtype/pgtype.go b/pgtype/pgtype.go index 534ef6d1..d23ebc6c 100644 --- a/pgtype/pgtype.go +++ b/pgtype/pgtype.go @@ -41,6 +41,7 @@ const ( CircleOID = 718 CircleArrayOID = 719 UnknownOID = 705 + Macaddr8OID = 774 MacaddrOID = 829 InetOID = 869 BoolArrayOID = 1000 diff --git a/pgtype/pgtype_default.go b/pgtype/pgtype_default.go index c21ac081..d56d95bd 100644 --- a/pgtype/pgtype_default.go +++ b/pgtype/pgtype_default.go @@ -70,6 +70,7 @@ func initDefaultMap() { defaultMap.RegisterType(&Type{Name: "jsonpath", OID: JSONPathOID, Codec: &TextFormatOnlyCodec{TextCodec{}}}) defaultMap.RegisterType(&Type{Name: "line", OID: LineOID, Codec: LineCodec{}}) defaultMap.RegisterType(&Type{Name: "lseg", OID: LsegOID, Codec: LsegCodec{}}) + defaultMap.RegisterType(&Type{Name: "macaddr8", OID: Macaddr8OID, Codec: MacaddrCodec{}}) defaultMap.RegisterType(&Type{Name: "macaddr", OID: MacaddrOID, Codec: MacaddrCodec{}}) defaultMap.RegisterType(&Type{Name: "name", OID: NameOID, Codec: TextCodec{}}) defaultMap.RegisterType(&Type{Name: "numeric", OID: NumericOID, Codec: NumericCodec{}})