On Tue, Nov 22, 2016 at 8:42 AM, Tom Lane <t...@sss.pgh.pa.us> wrote:
> Haribabu Kommi <kommi.harib...@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