Re: Updating cidr column with network operator - Mailing list pgsql-sql

From Axel Rau
Subject Re: Updating cidr column with network operator
Date
Msg-id 72c14f47f1dca0ae99e559cef56416a3@Chaos1.DE
Whole thread Raw
In response to Re: Updating cidr column with network operator  (Daryl Richter <daryl@brandywine.com>)
Responses Re: Updating cidr column with network operator
List pgsql-sql
Thank you for responding, Daryl,

Am 22.09.2005 um 16:45 schrieb Daryl Richter:

> Axel Rau wrote:
>> Hi SQLers,
>> I have a fk from address to network and try to update the foreign key 
>> column to point at the network, "it belongs to":
>> CREATE TABLE network (
>>   id      cidr     PRIMARY KEY     , -- 'PK, ,IPv4/6 Network address'
>> )
>> CREATE TABLE address (
>>   id         inet     PRIMARY KEY      , -- 'PK of IPv4/6 host 
>> address'
>>   network cidr     NOT NULL            -- 'FK to Network table'
>>                       REFERENCES network ON DELETE CASCADE ON UPDATE 
>> CASCADE
>> )
>> I tried (using the WHERE clause to eliminate the addresses were no 
>> corresponding net exists):
>
> But you can't insert a row in address w/o a valid network.id?  That's 
> what the fk ensures.
>
> Perhaps you could elaborate more?  Are you trying to *put* on the fk 
> and you currently have bad data?
The fk requires a corresponding row in network. But my update tries to 
reference the right network, that one where the ip address belongs to.
>
>> UPDATE address
>>     SET network = (SELECT N.id WHERE A.id << N.id)
>>     FROM address A, network N
>>     WHERE A.id << N.id;
>
> This also makes no sense.  For starters, << is "bitwise shift left" ...
I'm using 8.0.3 and there are some new operators related to inet and 
cidr data types.
On page 157, I found "<<" as address/network "is contained in" network.

Finding the net where an address belongs to works as:SELECT id FROM network WHERE inet '$p_ipSource' << id;

Axel

Axel Rau, Frankfurt, Germany                           +49-69-951418-0



pgsql-sql by date:

Previous
From: "Leif B. Kristensen"
Date:
Subject: Help with a view
Next
From: "Dmitri Bichko"
Date:
Subject: Re: Help with a view