Re: [Fwd: Re: [Pljava-dev] char with trailing space, PreparedStatement.setObject - Mailing list pgsql-jdbc

From Thomas Hallgren
Subject Re: [Fwd: Re: [Pljava-dev] char with trailing space, PreparedStatement.setObject
Date
Msg-id 44A21F93.2090007@tada.se
Whole thread Raw
In response to Re: [Fwd: Re: [Pljava-dev] char with trailing space, PreparedStatement.setObject  (Oliver Jowett <oliver@opencloud.com>)
List pgsql-jdbc
Oliver Jowett wrote:
> Thomas Hallgren wrote:
>
>> Should this be considered a conscious flaw in the client driver
>> motivated by the desire to limit the number of round trips? If it is,
>> what would the best course of action be for me? Implement the same
>> flaw although I don't have that problem?
>
> There is considerably more to it than trying to avoid an extra
> round-trip (although that is part of it). If we're given a String
> parameter, why should we interpret it as anything other than a String?
> We don't really want to implement an any-type-to-any-other-type
> conversion routine in the driver!
>
No, of course not. I fully appreciate the way you do it today. The whole discussion stems
from a misunderstanding on my part. I thought that that type returned by the SPI_getargtype
was inferred from its context within the query. As it turns out it isn't.

> Nevertheless there is a "fix" here -- pass "stringtype=unspecified" as a
> URL parameter in the JDBC URL and the driver will pass parameters set
> via setString() with unspecified types. This was originally put in to
> handle apps that expected to be able to setString("42") on an int
> column, but it should deal with your particular situation too. Use at
> your own risk. See
> http://jdbc.postgresql.org/documentation/head/connect.html#connection-parameters
>
Right. Apparently, what I do is similar to using "stringtype-unspecified" always (and not
just for string types either). My driver has some room for improvements :-)

Anyway, thanks for helping me clearing this up. Now I know what to do.

Regards,
Thomas Hallgren

pgsql-jdbc by date:

Previous
From: Oliver Jowett
Date:
Subject: Re: [Fwd: Re: [Pljava-dev] char with trailing space, PreparedStatement.setObject
Next
From: CG
Date:
Subject: Custom type woes