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.