BUG #9455: Subtracting an IPv6 /64 network() from its broadcast() results in an out of range error - Mailing list pgsql-bugs

From martin@antibodymx.net
Subject BUG #9455: Subtracting an IPv6 /64 network() from its broadcast() results in an out of range error
Date
Msg-id 20140306190453.1916.4090@wrigleys.postgresql.org
Whole thread Raw
List pgsql-bugs
The following bug has been logged on the website:

Bug reference:      9455
Logged by:          Martin A. Brooks
Email address:      martin@antibodymx.net
PostgreSQL version: 9.3.3
Operating system:   Kubuntu 13.10 64 bit
Description:

Hello

By accident I did this:

ipso=# select broadcast('10.0.0.0/8') - network('10.0.0.0/8');
 ?column?
----------
 16777215
(1 row)

ipso=# select
broadcast('2001:ba8:1f1:f12c::/64')-network('2001:ba8:1f1:f12c::/64');
ERROR:  result is out of range


ipso=# select broadcast('2001:ba8:1f1:f12c::/64');
                broadcast
------------------------------------------
 2001:ba8:1f1:f12c:ffff:ffff:ffff:ffff/64
(1 row)

ipso=# select network('2001:ba8:1f1:f12c::/64');
        network
------------------------
 2001:ba8:1f1:f12c::/64
(1 row)


It's arguable that broadcast doesn't make much sense for IPv6 ranges.
Special casing v6 ranges for my purposes would be fine, but this result is
more surprise that I expected.

Regards

Martin.

pgsql-bugs by date:

Previous
From: Tom Lane
Date:
Subject: Re: BUG #9371: pg_dump acquiring ROW EXCLUSIVE locks on tables
Next
From: petela@gocougs.wsu.edu
Date:
Subject: BUG #9464: PANIC with 'failed to re-find shared lock object'