Re: [HACKERS] Re: [BUGS] uniqueness not always correct - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: [HACKERS] Re: [BUGS] uniqueness not always correct
Date
Msg-id 200003072250.RAA26220@candle.pha.pa.us
Whole thread Raw
In response to Re: [HACKERS] Re: [BUGS] uniqueness not always correct  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: [HACKERS] Re: [BUGS] uniqueness not always correct  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
I have just applied a user patch to fix this reported problem.


> Vadim Mikheev <vadim@krs.ru> writes:
> > Yes, I reproduced this (Solaris 2.5/sparc). 
> > Seems like CIDR problem(??!):
> 
> Yes.  Looks like the low-order bits of a CIDR address are garbage,
> but network_cmp() compares them as though all bits are significant.
> So, indeed, it may think two different instances of '1.2.3/24'
> are not equal.
> 
> The regular inet comparison functions at least *try* to mask out
> garbage bits, but I think they get it wrong too --- they should be
> taking the smaller of ip_bits(a1) and ip_bits(a2) as the number of
> bits to compare.  They don't.  Thus, for example,
> 
> regression=> select '1.2.5/16'::cidr < '1.2.3/24'::cidr;
> ?column?
> --------
> f
> (1 row)
> 
> which looks wrong to me.
> 
> In short, it's a bug in the inet data types, not a generic problem
> with unique indexes.
> 
>             regards, tom lane
> 
> ************
> 


--  Bruce Momjian                        |  http://www.op.net/~candle pgman@candle.pha.pa.us               |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026
 


pgsql-hackers by date:

Previous
From: "Ross J. Reedstrom"
Date:
Subject: Re: [HACKERS] CREATE VIEW fix
Next
From: The Hermit Hacker
Date:
Subject: Re: [HACKERS] library policy question