Re: Using java.lang.Character for "char" data type

From: Kris Jurka <books(at)ejurka(dot)com>
To: Віталій Тимчишин <tivv00(at)gmail(dot)com>
Cc: PG-JDBC Mailing List <pgsql-jdbc(at)postgresql(dot)org>
Subject: Re: Using java.lang.Character for "char" data type
Date: 2010-05-21 22:16:02
Message-ID: alpine.BSO.2.00.1005211813180.22460@leary.csoft.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

On Fri, 21 May 2010, ??????? ???????? wrote:

> I've tried to use Character to fill "char" column, e.g. like in the next
> test:
> -----
> con.createStatement().execute("create table tst(tcol \"char\")");
> PreparedStatement stmt = con.prepareStatement("insert into tst(tcol)
> values(?)");
> stmt.setObject(1, 'c');
> stmt..executeUpdate();
> -----
> and got 
> Exception in thread "main" org.postgresql.util.PSQLException: Can't infer
> the SQL type to use for an instance of java.lang.Character. Use setObject()
> with an explicit Types value to specify the type to use. atorg.postgresql.jdbc2.AbstractJdbc2Statement.setObject(AbstractJdbc2Statemen
> t.java:1740)
>
> with 8.3-603.jdbc4 driver.
> May be it would be reasonable to treat Character like String of size 1?
>

It would be possible to support setObject for a Character, but be aware
that "char" is not a character long, it's a byte long, so it will fail on
multibyte characters.

Kris Jurka

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Lew 2010-05-22 01:11:52 Re: Using java.lang.Character for "char" data type
Previous Message Віталій Тимчишин 2010-05-21 12:28:28 Using java.lang.Character for "char" data type