Re: inet/cidr ipv6 operations - Mailing list pgsql-general

From Chris Angelico
Subject Re: inet/cidr ipv6 operations
Date
Msg-id CAPTjJmomUomwzFUqar5qCVedUm65Oa7gnBTXoW742s9ZJuHh1Q@mail.gmail.com
Whole thread Raw
In response to Re: inet/cidr ipv6 operations  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: inet/cidr ipv6 operations  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
On Wed, Jan 30, 2013 at 2:16 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Chris Angelico <rosuav@gmail.com> writes:
>> Or alternatively, does PostgreSQL have any integer type larger than
>> 64-bit bigint? I've become accustomed to using bignums in most of my
>> programming; arbitrary-precision integers allow all sorts of handy
>> flexibilities. Are there any plans to add bignums (something like
>> GMP's mpz) to the engine?
>
> It's hard to muster much excitement about that when we've already
> got "numeric".

True, but I wasn't able (with 9.1, so that might have changed since)
to add inet to numeric. Maybe that would be easier?

I don't think inet + inet is the right thing for this. It would make
just as much sense for inet '2000::/16' + inet '2001::/16' to equal
inet '2000::/15', so it's not going to "read" as clearly. Expanding
the "netblock + number" concept to numeric makes reasonable sense.

> As far as the OP's problem goes, I wonder if there wouldn't be some use
> in an inet+(big)int function that does shift-and-add, ie move the
> integer over by the number of bits that have to remain zero according to
> the netmask.  I'm not seeing the use for adding enormous random integers
> to IP addresses --- but "three over from this /64 block" doesn't seem so
> improbable.

Interesting. Not sure what sort of syntax would work there, but it
does grok well. Instead of thinking about an IPv6 block as a 128-bit
integer plus a tag, you can treat it as an N-bit integer, where N is
the CIDR length. I like it! And assuming your blocks are /64 or
larger, that'd cover all logical uses (I can imagine, for instance,
adding 65536 to a /64, but not adding 2^63).

ChrisA


pgsql-general by date:

Previous
From: Adrian Klaver
Date:
Subject: Re: JDBC connection test with SSL on PG 9.2.1 server
Next
From: Adrian Klaver
Date:
Subject: Re: Fwd: Functions not visible in pg_stat_user_functions view