On Sat, Jan 29, 2005 at 10:07:30PM -0500, Tom Lane wrote:
> "John Hansen" <john@geeknet.com.au> writes:
> > In that case may I suggest fixing the catalog so network_* functions exists for both datatypes!
>
> Redesigning the inet/cidr distinction is on the to-do list (though I'm
> afraid not very high on the list). ISTM it should either be one type
> with a distinguishing bit in the runtime representation, or two types
> with no such bit needed. Having both is a schizophrenic design. It's
> led directly to bugs in the past, and I think there are still some
> corner cases that act oddly (see the archives).
From a network engineering point of view the inet type is utterly
bogus. I'm not aware of data of that type being needed or used in
any real application. Given that, the complexity that it causes
simply by existing seems too high a cost.
I suspect that the right thing to do is to kill the inet type
entirely, and replace it with a special case of cidr. (And possibly
then to kill cidr and replace it with something that can be indexed
more effectively.)
For a replacement type, how important is it that it be completely
compatible with the existing inet/cidr types? Is anyone actually using
inet types with a non-cidr mask?
Cheers, Steve