Kjh wrote:
> The following bug has been logged online:
>
> Bug reference: 1646
> Logged by: Kjh
> Email address: kjh@networks.nera.no
> PostgreSQL version: 8.0
> Operating system: windows XP
> Description: ERROR: column "mycolumn" is of type boolean but
> expression is of type character
> Details:
>
> newest drivers (JDBC3)
> deployed it with JBoss 3.2.6
>
> Indeed, the entity bean has fields of java-type Boolean and the database has
> fields of type boolean, but the application server seems to send it to the
> database as "true" or "false" strings. That is what the errormessage
> indicates to me anyway: ERROR: column "mycolumn" is of type boolean but
> expression is of type character. (Though I am not aware of how to verify
> this other than changing column type varchar(5) which I have tried -
> unfortunately, this had lots of other undesired side-effects even though it
> worked in some cases.)
Which PreparedStatement.set...() method is being called to set the value
for this column?
To set a boolean-typed parameter, you shoud use
PreparedStatement.setBoolean(...), PreparedStatement.setObject(...,
Types.BIT), or PreparedStatement.setObject(..., Types.BOOLEAN).
If the application server is using setString() to send a boolean value,
that's where the bug lies.
-O