From: | Mr Dash Four <mr(dot)dash(dot)four(at)googlemail(dot)com> |
---|---|
To: | pgsql-bugs(at)postgresql(dot)org |
Subject: | Re: BUG #7575: "between" does not work properly with inet/cidr addresses |
Date: | 2012-09-30 12:14:52 |
Message-ID: | 506837BC.3050305@googlemail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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.
From | Date | Subject | |
---|---|---|---|
Next Message | Heikki Linnakangas | 2012-10-01 10:38:49 | Re: BUG #7534: walreceiver takes long time to detect n/w breakdown |
Previous Message | Tom Lane | 2012-09-30 05:26:02 | Re: BUG #7575: "between" does not work properly with inet/cidr addresses |