| From: | Oliver Jowett <oliver(at)opencloud(dot)com> | 
|---|---|
| To: | Kjh <kjh(at)networks(dot)nera(dot)no> | 
| Cc: | pgsql-bugs(at)postgresql(dot)org | 
| Subject: | Re: BUG #1646: ERROR: column "mycolumn" is of type boolean | 
| Date: | 2005-05-04 21:51:59 | 
| Message-ID: | 427943FF.20202@opencloud.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-bugs | 
Kjh wrote:
> The following bug has been logged online:
> 
> Bug reference:      1646
> Logged by:          Kjh
> Email address:      kjh(at)networks(dot)nera(dot)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
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Nicholas Vinen | 2005-05-04 23:30:06 | BUG #1648: ISO Year ignores time zone? | 
| Previous Message | Tom Lane | 2005-05-04 17:59:17 | Re: BUG #1643: dbf2pg broken + quick fix |