Re: [PATCHES] ipv6 patch #3

2003-06-25 Thread Bruce Momjian

OK, done.

---

Michael Graff wrote:
> Ok, I think the ,bits part was in error.  Go ahead and remove the %d
> and the ,bits part.
> 
> --Michael
> 
> Bruce Momjian <[EMAIL PROTECTED]> writes:
> 
> > 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 -  1.13
> > --- src/backend/utils/adt/inet_net_ntop.c   24 Jun 2003 22:22:44 -
> > ***
> > *** 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. */
> 

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 359-1001
  +  If your life is a hard drive, |  13 Roberts Road
  +  Christ can be your backup.|  Newtown Square, Pennsylvania 19073

---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
  subscribe-nomail command to [EMAIL PROTECTED] so that your
  message can get through to the mailing list cleanly


Re: [PATCHES] ipv6 patch #3

2003-06-24 Thread Michael Graff
Ok, I think the ,bits part was in error.  Go ahead and remove the %d
and the ,bits part.

--Michael

Bruce Momjian <[EMAIL PROTECTED]> writes:

> 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 -  1.13
> --- src/backend/utils/adt/inet_net_ntop.c 24 Jun 2003 22:22:44 -
> ***
> *** 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. */

---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
  subscribe-nomail command to [EMAIL PROTECTED] so that your
  message can get through to the mailing list cleanly


Re: [PATCHES] ipv6 patch #3

2003-06-24 Thread Bruce Momjian

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
  [EMAIL PROTECTED]   |  (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 -  1.13
--- src/backend/utils/adt/inet_net_ntop.c   24 Jun 2003 22:22:44 -
***
*** 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. */

---(end of broadcast)---
TIP 8: explain analyze is your friend