Re: queries against CIDR fail against 8.0.3?

From: Russell Francis <rfrancis(at)ev(dot)net>
To: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: queries against CIDR fail against 8.0.3?
Date: 2005-09-30 19:06:09
Message-ID: 433D8CA1.3050601@ev.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Oliver Jowett wrote:
> Russell Francis wrote:
>
> You will need to either create a PGobject subclass that returns the
> correct typename (cidr), or explicitly cast to cidr in your query:
>
> SELECT * FROM institution WHERE ( institution.network >>= ?::cidr )
> LIMIT 1
>
>
>>Does anyone have any ideas on how to address this issue? Or at least an
>>explanation as to why it works in 7.3.9 but not 8.0.3?
>
>
> The 8.0 drivers type parameters more strongly than earlier drivers due
> to a change in the protocol used, so setObject(String) is passing the
> parameter explicitly as a 'text' value not as an untyped literal that
> gets implicitly casted to cidr. See the archives for more details.

Oliver & Kris,

Thanks much both of your responses were very helpful. I have decided to
subclass PGobject to address the issue and have created a PGcidr class which
seems to be working well.

If there is any interest in adding this to the project, I would be happy
to submit what I have for review and also provide PGinet and PGmacaddr classes
to the core.

Thanks again,
Russ

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Kris Jurka 2005-09-30 20:27:53 Re: queries against CIDR fail against 8.0.3?
Previous Message Oliver Jowett 2005-09-29 23:27:10 Re: Intermittent I/O error?