Problem using IP functions - Mailing list pgsql-sql

From Marc Lamothe
Subject Problem using IP functions
Date
Msg-id 9dhig8$2nfd$1@news.tht.net
Whole thread Raw
Responses Re: Problem using IP functions  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-sql
Hi,

I'm having trouble using the host() and netmask() functions within a select
query.  For some reason, the following query returns 1 row:

ipdb=> select id, subnet_number from subnet where subnet_number =
'216.46.13.0';id | subnet_number
----+---------------96 | 216.46.13.0
(1 row)

Yet, if I replace the ip string literal with host('216.46.13.0/24'), I get
no results.  ie:

ipdb=> select id, subnet_number from subnet where subnet_number =
host('216.46.13.0/24');
id | subnet_number
----+---------------
(0 rows)

Even though host('216.46.13.0/24') evaluates to 216.46.13.0

ipdb=> select host('216.46.13.0/24');   host
-------------216.46.13.0
(1 row)

The subnet_number column is a varchar(16) which I assume you can compare
with a text data type, which is what host() returns.  Just to be sure, I
tried casting everything to type text, but that didn't do the trick.

ipdb=> select texteq(host('216.46.13.0/24')::text, '216.46.13.0'::text);texteq
--------f
(1 row)

Any insight would be greatly appreciated.

Marc




pgsql-sql by date:

Previous
From: Tom Lane
Date:
Subject: Re: SELECT timestamp('2001-06-12'::date - '2000-06-12'::date)
Next
From: Tom Lane
Date:
Subject: Re: Problem using IP functions