Re: macaddr data type issue
От | Larry Rosenman |
---|---|
Тема | Re: macaddr data type issue |
Дата | |
Msg-id | 20010821141241.B9669@lerami.lerctr.org обсуждение исходный текст |
Ответ на | Re: macaddr data type issue (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | 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 по дате отправления: