Re: macaddr 64 bit (EUI-64) datatype support - Mailing list pgsql-hackers

From Jon Nelson
Subject Re: macaddr 64 bit (EUI-64) datatype support
Date
Msg-id CAKuK5J2C-gw2Ms8Kc5uP61+aSGCsOYTVYeDRJ-fdxiqyf=cDwQ@mail.gmail.com
Whole thread Raw
In response to Re: macaddr 64 bit (EUI-64) datatype support  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers


On Tue, Nov 22, 2016 at 8:42 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
Haribabu Kommi <kommi.haribabu@gmail.com> writes:
> Any suggestions for the name to be used for the new datatype the can
> work for both 48 and 64 bit MAC addresses?

The precedent of int4/int8/float4/float8 is that SQL data types should
be named after their length in bytes.  So I'd be inclined to call this
"macaddr8" not "macaddr64".  That would suggest taking the simple
approach of always storing values in the 8-byte format, rather than
dealing with the complexities of having two formats internally, two
display formats, etc.

Be that as it may, but almost everybody else (outside the db world?) uses bits.  The C types, for example, are expressed in bits (int8_t, int64_t, etc...).

> While comparing a 48 bit MAC address with 64 bit MAC address, Ignore
> the two bytes if the contents in those bytes are reserved bytes.

Um ... I don't follow.  Surely these must compare different:

01-01-01-FF-FE-01-01-01
01-01-01-FF-0E-01-01-01

What's more, it now requires 2 comparisons and some logic versus the possibility of a single memcmp.

--
Jon

pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: [RFC] Should we fix postmaster to avoid slow shutdown?
Next
From: Erik Rijkers
Date:
Subject: Re: Logical Replication WIP