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

From: mr(dot)dash(dot)four(at)googlemail(dot)com
To: pgsql-bugs(at)postgresql(dot)org
Subject: BUG #7575: "between" does not work properly with inet/cidr addresses
Date: 2012-09-28 22:08:30
Message-ID: E1THijW-00022e-9T@wrigleys.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

The following bug has been logged on the website:

Bug reference: 7575
Logged by: Mr-4
Email address: mr(dot)dash(dot)four(at)googlemail(dot)com
PostgreSQL version: 9.1.4
Operating system: Linux (kernel 3.5)
Description:

1. select '10.1.1.0/24'::inet between '10.1.1.0'::inet and
'10.1.1.255'::inet gives me FALSE.

2. select '10.1.0.0/24'::inet between '10.1.0.0'::inet and
'10.1.255.255'::inet also produces FALSE.

To my understanding, 10.1.1.0/24 covers the range 10.1.1.0-10.1.1.255, so
the first statement above should produce TRUE, not FALSE. It is similar to
"select 1 between 1 and 1" which, quite rightly, produces TRUE.

Same goes for the second statement above: 10.1.0.0/24 covers the range
10.1.0.0-10.1.0.255, which falls fully within the 10.1.0.0-10.1.255.255
(10.1.0.0/16) range.

Am I missing something obvious?

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2012-09-30 05:26:02 Re: BUG #7575: "between" does not work properly with inet/cidr addresses
Previous Message Mikael Kjellström 2012-09-28 17:50:04 Re: Corrupt view in PostgreSQL 9.0.9