Re: BUG #5071: abbrev() bug with IPv6

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: alexander(dot)over(at)koeln(dot)de
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #5071: abbrev() bug with IPv6
Date: 2009-09-28 02:21:56
Message-ID: 603c8f070909271921n3f30b603le5949dc6f81f807f@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Tue, Sep 22, 2009 at 12:54 AM, <alexander(dot)over(at)koeln(dot)de> wrote:
>
> The following bug has been logged online:
>
> Bug reference:      5071
> Logged by:
> Email address:      alexander(dot)over(at)koeln(dot)de
> PostgreSQL version: 8.3.7
> Operating system:   Debian Lenny 64Bit
> Description:        abbrev() bug with IPv6
> Details:
>
> I have a Database to store IPV6 addresses.
> Field "net" is type cidr.
>
> e.g.: '2001:400::/32' as value.
>
> "SELECT abbrev(net) FROM ipstore;"
>
> expected result: "2001:400::/32" (its already short v6)
>
> actual result: "2001:400/32" wich is invalid v6 Syntax.

I think this is the expected behavior. The same thing happens with IPv4.

rhaas=# select abbrev('216.83.114.0/24'::cidr);
abbrev
---------------
216.83.114/24
(1 row)

It's also documented this way in the fine manual.

http://www.postgresql.org/docs/current/static/functions-net.html#CIDR-INET-FUNCTIONS-TABLE

You can get the behavior you want by casting your cidr to an inet
before applying abbrev.

...Robert

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Robert Haas 2009-09-28 02:23:52 Re: Databse installation problem
Previous Message Robert Haas 2009-09-28 02:18:30 Re: Encounter shared memory error when running createlang command!