Re: BUG #7575: "between" does not work properly with inet/cidr addresses

Поиск
Список
Период
Сортировка
От Mr Dash Four
Тема Re: BUG #7575: "between" does not work properly with inet/cidr addresses
Дата
Msg-id 506837BC.3050305@googlemail.com
обсуждение исходный текст
Ответ на Re: BUG #7575: "between" does not work properly with inet/cidr addresses  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: BUG #7575: "between" does not work properly with inet/cidr addresses  (Dimitri Fontaine <dimitri@2ndQuadrant.fr>)
Список pgsql-bugs
> 10.1.1.0/24 is different from, and sorts before, 10.1.1.0/32
> (which is what '10.1.1.0'::inet is an abbreviation for).
>
> You might find that the net address inclusion operators (<< and friends)
> provide the semantics you're looking for.
That isn't possible in my case, because on the right side I have IP
ranges (from-to) and currently there isn't a PostgreSQL function which
converts IP ranges to cidr/inet, but even if there was such function
available, this may produce more than one cidr/inet ranges, so it won't
be of much use. Employing << and friends is of no use either, as they
work on inet/cidr on the right side - I can't use something like
"10.1.1.0/24 << (10.1.1.0-10.1.1.255)" for example.

>   BETWEEN only knows about
> btree sort ordering, which is fundamentally a brick or two shy of a
> load when considering two-dimensional quantities such as netmasks.
>
If BETWEEN can't handle operations between cidr/inet and IP ranges
(which is what I highlighted in the initial bug report), it should
either be fixed to produce the correct result or it should return an
error. Leaving things as they are can't be allowed.

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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: BUG #7575: "between" does not work properly with inet/cidr addresses
Следующее
От: Heikki Linnakangas
Дата:
Сообщение: Re: BUG #7534: walreceiver takes long time to detect n/w breakdown