Re: [GENERAL] inet and cidr type problems - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: [GENERAL] inet and cidr type problems
Date
Msg-id 199905091551.LAA23094@candle.pha.pa.us
Whole thread Raw
List pgsql-hackers
I just ran a test in 6.5beta, and this still a problem:test=> create table t (x inet primary key);NOTICE:  CREATE
TABLE/PRIMARYKEY will create implicit index t_pkey fortable tCREATEtest=> insert into t values
('198.68.123.0/24');INSERT18604 1test=> insert into t values ('198.68.123.0/27');ERROR:  Cannot insert a duplicate key
intoa unique index
 


> i have been playing with the inet and cidr types, and i have noticed a couple
> problems, and would entertain suggestions as to how to fix them without
> necessarily breaking how other people might be using them.
> 
> - a table with an element of type inet, will show "0.0.0.0/0" as "00/0"
> 
> i suspect this can be fixed in src/backend/adt/network.c or some such.
> 
> - when creating a table with either type inet or type cidr as a primary, unique
>    key, the elements "198.68.123.0/24" and "198.68.123.0/27" are considered
>    equal.
> 
> i considered editing src/backend/adt/network.c and changing the various
> comparison functions to take the subnet bits into account, but i wasn't sure
> what the proper fix is.
> 
> my feeling is to make "/27" to be greater than "/24", such that when fetching
> in order, the "/24" will come first.
> 
> if i make such changes to the source, will it break other people's code if
> the changes get added to the core source (6.4.3 or 6.5)?
> 
> -- 
> [ Jim Mercer    Reptilian Research      jim@reptiles.org   +1 416 410-5633 ]
> [ The telephone, for those of you who  have forgotten, was a commonly used ]
> [ communications technology in the days before electronic mail.            ]
> [ They're still easy to find in most large cities. -- Nathaniel Borenstein ]
> 
> 


--  Bruce Momjian                        |  http://www.op.net/~candle maillist@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: Bruce Momjian
Date:
Subject: Re: [GENERAL] inet and cidr type problems
Next
From: Tom Lane
Date:
Subject: Re: [HACKERS] Re: SIGBUS in AllocSetAlloc & jdbc