From: | Kris Jurka <books(at)ejurka(dot)com> |
---|---|
To: | Thomas Kellerer <spam_eater(at)gmx(dot)net> |
Cc: | pgsql-jdbc(at)postgresql(dot)org |
Subject: | Re: bit datatype and getObject() |
Date: | 2010-11-24 06:31:13 |
Message-ID: | alpine.BSO.2.00.1011240122570.13088@leary.csoft.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-jdbc |
On Tue, 23 Nov 2010, Thomas Kellerer wrote:
> 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.
>
> I'm not sure what the JDBC specs requires here, but this mapping somehow is
> confusing.
Yeah, losing data is not good. Previously the discussion on list was to
use java.util.BitSet, but it never resulted in a patch. I'm not sure if
we can retain backwards compatibility for single bit length bitstrings.
So we'd have to determine whether we can maintain compatibility and if
not, is it still worth it to use BitSet.
Kris Jurka
From | Date | Subject | |
---|---|---|---|
Next Message | Radosław Smogura | 2010-11-24 07:07:07 | JDBC and Binary protocol error, for some statements |
Previous Message | dmp | 2010-11-24 03:06:11 | Re: bit datatype and getObject() |