Re: macaddr data type issue - Mailing list pgsql-general

From Larry Rosenman
Subject Re: macaddr data type issue
Date
Msg-id 20010821141241.B9669@lerami.lerctr.org
Whole thread Raw
In response to Re: macaddr data type issue  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
* Tom Lane <tgl@sss.pgh.pa.us> [010821 14:10]:
> Justin Clift <justin@postgresql.org> writes:
> > What you're attempting to insert is being interpreted as the NULL value
>
> Actually, it's not NULL.  The curious behavior comes from a test in the
> macaddr_out routine that causes it to produce an empty-string display if
> the MAC address is all zeroes:
>
>     if ((hibits(addr) > 0) || (lobits(addr) > 0))
>     {
>         sprintf(result, "%02x:%02x:%02x:%02x:%02x:%02x",
>                 addr->a, addr->b, addr->c, addr->d, addr->e, addr->f);
>     }
>     else
>     {
>         result[0] = '\0';        /* special case for missing address */
>     }
>
> This seems a tad bizarre to me, if not an outright bug.  The right,
> SQL-approved way to represent "missing data" is as a NULL; there's no
> rationale I can see for treating an all-zeroes address like this.
>
> There's also a special case in macaddr_in that accepts an empty input
> string as meaning an all-zeroes address.  This seems bogus as well.
>
> I'm inclined to rip out both special cases, so that an all-zeroes MAC
> address is handled exactly like any other address.  Comments?
My gut feeling is that Tom is correct, and there should be no special
cases here.

LER
--
Larry Rosenman                     http://www.lerctr.org/~ler
Phone: +1 972-414-9812                 E-Mail: ler@lerctr.org
US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749

pgsql-general by date:

Previous
From: "Ryan C. Bonham"
Date:
Subject: RE: UPDATE: ERROR: relation_info: Relation 41069 not fo und
Next
From: Andrew McMillan
Date:
Subject: Re: [HACKERS] Postgresql log analyzer