Re: ipv6 patch #3 - Mailing list pgsql-patches
From | Bruce Momjian |
---|---|
Subject | Re: ipv6 patch #3 |
Date | |
Msg-id | 200306242242.h5OMgJo17884@candle.pha.pa.us Whole thread Raw |
In response to | ipv6 patch #3 (Michael Graff <explorer@flame.org>) |
Responses |
Re: ipv6 patch #3
|
List | pgsql-patches |
I have applied the newest version of this patch. I did find one warning reported by my compiler: inet_net_ntop.c:273: warning: too many arguments for format inet_net_ntop.c:275: warning: too many arguments for format I have applied the attached patch to prevent the warnings. Please check that the patch matches your intentions. Thanks. I have been waiting for this patch for a long time. FYI, I also changed the 631 oid because that was already used, probably by a recent patch. --------------------------------------------------------------------------- Michael Graff wrote: > This includes several revisions from others. > > Major changes: > > Add ipv6 address parsing support to 'inet' and 'cidr' data types. > > Regression tests for IPv6 operations added. > > Documentation updated to document IPv6 bits. > > Stop treating IPv4 as an "unsigned int" and IPv6 as an array of > characters. Instead, always use the array of characters so we > can have one function fits all. This makes bitncmp(), addressOK(), > and several other functions "just work" on both address families. > > add family() function which returns integer 4 or 6 for IPv4 or > IPv6. (See examples below) Note that to add this new function > you will need to dump/initdb/reload or find the correct magic > to add the function to the postgresql function catalogs. > > IPv4 addresses always sort before IPv6. > > On disk we use AF_INET for IPv4, and AF_INET+1 for IPv6 addresses. > This prevents the need for a dump and reload, but lets IPv6 parsing > work on machines without AF_INET6. > > To select all IPv4 addresses from a table: > > select * from foo where family(addr) = 4 ... > > Order by and other bits should all work. > > Regression tests pass, at least on my NetBSD machine. > -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073 Index: src/backend/utils/adt/inet_net_ntop.c =================================================================== RCS file: /cvsroot/pgsql-server/src/backend/utils/adt/inet_net_ntop.c,v retrieving revision 1.13 diff -c -c -r1.13 inet_net_ntop.c *** src/backend/utils/adt/inet_net_ntop.c 24 Jun 2003 22:21:22 -0000 1.13 --- src/backend/utils/adt/inet_net_ntop.c 24 Jun 2003 22:22:44 -0000 *************** *** 270,278 **** if (!double_colon) { if (bits < 128 - 32) ! cp += SPRINTF((cp, "::", bits)); else if (bits < 128 - 16) ! cp += SPRINTF((cp, ":0", bits)); } /* Format CIDR /width. */ --- 270,278 ---- if (!double_colon) { if (bits < 128 - 32) ! cp += SPRINTF((cp, "::%d", bits)); else if (bits < 128 - 16) ! cp += SPRINTF((cp, ":0%d", bits)); } /* Format CIDR /width. */
pgsql-patches by date: