Thread: RE in where

RE in where

From
Patrick Nelson
Date:
Ran a query that I run periodically and it no longer works.  It looks like:

  SELECT * FROM hosts WHERE host ~ '^61.216.';

However, now I get an error:

  ERROR: Unable to identify an operator '~' for types 'inet' and '"unknown"'
         You will have to retype this query using an explicit cast

Anyone know what I've got going that is wrong?

Re: RE in where

From
Patrick Nelson
Date:
Patrick Nelson wrote:
----------------->>>>
Ran a query that I run periodically and it no longer works.  It looks like:

  SELECT * FROM hosts WHERE host ~ '^61.216.';

However, now I get an error:

  ERROR: Unable to identify an operator '~' for types 'inet' and '"unknown"'
         You will have to retype this query using an explicit cast

Anyone know what I've got going that is wrong?
----------------->>>>
More info:

Oh this is v7.3.1-1PGDG running on RH73 (server) and RH72 (clients)

This seems to be only with the inet data type.  The other data types I try
with the ~ (or ~~) work fine.

Re: RE in where

From
Tom Lane
Date:
Patrick Nelson <pnelson@neatech.com> writes:
> Ran a query that I run periodically and it no longer works.  It looks like:
>   SELECT * FROM hosts WHERE host ~ '^61.216.';
> However, now I get an error:
>   ERROR: Unable to identify an operator '~' for types 'inet' and '"unknown"'
>          You will have to retype this query using an explicit cast

The inet-to-text cast isn't implicit anymore.  You need an explicit
cast:
  SELECT * FROM hosts WHERE host::text ~ '^61.216.';

            regards, tom lane