Re: Summary: what to do about INET/CIDR

Поиск
Список
Период
Сортировка
От Alex Pilosov
Тема Re: Summary: what to do about INET/CIDR
Дата
Msg-id Pine.BSO.4.10.10010271636580.7430-100000@spider.pilosoft.com
обсуждение исходный текст
Ответ на Re: Summary: what to do about INET/CIDR  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
On Fri, 27 Oct 2000, Tom Lane wrote:

> Larry Rosenman <ler@lerctr.org> writes:
> > OK, what I really meant was a way to coerce a CIDR entity to INET so 
> > that host() can work with a CIDR type to print all 4 octets. 
> 
> Hm.  I don't see any really good reason why host() rejects CIDR input
> in the first place.  What's wrong with producing the host address
> that corresponds to extending the CIDR network address with zeroes?
_maybe_ cuz this is an invalid address. (an address cannot have all-zeros
or all-ones host part). On other hand, postgres doesn't enforce that in
inet_in, so its inconsistent to enforce it there...

> > Currently you can't coerce a CIDR type to INET. 
> 
> Well you can, but it doesn't *do* anything.  One of the peculiarities
> of these two types is that the cidr-vs-inet flag is actually stored
> in the data value.  The type-system differentiation between CIDR and
> INET is a complete no-op for everything except initial entry of a value
> (ie, conversion of a text string to CIDR or INET); all the operators
> that care (which is darn few ... in fact it looks like host() is the
> only one!) look right at the value to see which type they've been given.
> So applying a type coercion may make the type system happy, but it
> doesn't do a darn thing to the bits, and thus not to the behavior of
> subsequent operators either.  I have not yet figured out if that's a
> good thing or a bad thing ...
Probably cidr_inet should make a copy instead of just "blessing" the
original value?

-alex



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Guy Fraser
Дата:
Сообщение: Can't import date using copy
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Idea: cross-check versions during initdb