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
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! |