[Pljava-dev] char with trailing space, PreparedStatement.setObject & SetString

From: thomas at tada(dot)se (Thomas Hallgren)
To:
Subject: [Pljava-dev] char with trailing space, PreparedStatement.setObject & SetString
Date: 2006-06-27 15:47:24
Message-ID: 44A1530C.3090209@tada.se
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pljava-dev

Hi Jean-Pierre,
I'm not sure this is incorrect behavior. There's nothing in the spec
that indicates that String values should be trimmed by setString and
setObject. On the contrary. Some datatypes (the CHAR in particular) are
sensitive to whitespace according to the SQL standard. Perhaps the
client jdbc driver is doing something wrong here?

Regards,
Thomas Hallgren

JEAN-PIERRE PELLETIER wrote:
> Hi,
>
> Trailing space are not handled properly by setObject & setString.
>
> PreparedStatement pstmt = connection.prepareStatement(
> "select * from mytable where mycharcolumn = ?");
>
> String myString = "abc ";
> pstmt.setObject(1, myString); // or setObject(1, myString, Types.CHAR) or
> setString(1, myString)
>
> No rows are returned, but using trim works fine as in:
> pstmt.setObject(1, myString.trim());
>
> My environment is Pl/Java 1.3, Sun JDK 1.5.07, PostgreSQL 8.1.4, Windows XP
> SP2
>
> With PostgreSQL own (non pl/java) jdbc driver, setObject on char works fine
> without the trim.
>
> Thanks,
> Jean-Pierre Pelletier
>
>
> _______________________________________________
> Pljava-dev mailing list
> Pljava-dev at gborg.postgresql.org
> http://gborg.postgresql.org/mailman/listinfo/pljava-dev
>

In response to

Responses

Browse pljava-dev by date

  From Date Subject
Next Message JEAN-PIERRE PELLETIER 2006-06-27 16:07:19 [Pljava-dev] char with trailing space, PreparedStatement.setObject & SetString
Previous Message JEAN-PIERRE PELLETIER 2006-06-27 15:27:25 [Pljava-dev] char with trailing space, PreparedStatement.setObject & SetString