bit datatype and getObject() - Mailing list pgsql-jdbc

From Thomas Kellerer
Subject bit datatype and getObject()
Date
Msg-id ichd9g$e1g$1@dough.gmane.org
Whole thread Raw
Responses Re: bit datatype and getObject()  (dmp <danap@ttc-cmc.net>)
Re: bit datatype and getObject()  (Kris Jurka <books@ejurka.com>)
List pgsql-jdbc
Hi,

the JDBC driver seems to map columns defined as "bit" to Boolean regardless of the definition of the column. So even a
bit(5)is returned as boolean value which I think is not correct. 

Consider the following

CREATE TABLE bit_test (some_bits bit(5));
INSERT INTO bit_test VALUES ('01010');

When I run a select in psql it will return 01010 as the column's value.

When running a select from within Java and using getObject() on that column a java.lang.Boolean is returned.

This might be correct for a bit(1) but not for columns defined with a bigger width.

It is returned correctly when using getString() on that column though.
But for applications using the generic getObject() this returns a wrong value.

I'm not sure what the JDBC specs requires here, but this mapping somehow is confusing.

I tested this with PG 9.0 and the JDBC4 build 801 driver.

Regards
Thomas



pgsql-jdbc by date:

Previous
From: Robert Haas
Date:
Subject: Re: [HACKERS] Support for JDBC setQueryTimeout, et al.
Next
From: dmp
Date:
Subject: Re: bit datatype and getObject()