Re: setString and timestamps

Поиск
Список
Период
Сортировка
От Kris Jurka
Тема Re: setString and timestamps
Дата
Msg-id Pine.BSO.4.63.0602171329110.20250@leary.csoft.net
обсуждение исходный текст
Ответ на setString and timestamps  (David Goodenough <david.goodenough@btconnect.com>)
Ответы Re: setString and timestamps
Список pgsql-jdbc

On Fri, 17 Feb 2006, David Goodenough wrote:

> I understand from looking at the archive that there some changes around
> 8.0 in this area, but I am confused as to how to proceed.
>
> I have some code which takes a table and inserts values into it where the
> values have come from XML and are thus all strings.  Some of these XML
> fields are timestamps, but this generic code does not have table specific
> knowledge.
>
> From what I have read I think I have to use something like the metadata
> for this table to find the type of this column, and if it is a timestamp then
> I need to take the string and convert it into a timestamp before I set it
> into the parameterized insert.  Is this right, and are there any other
> datatypes which are not implicitly converted from String to whatever is
> necessary?

In the 8.0 and 8.1 driver all types have strong typing information.  You
can see this with integers as well.  The driver will do the equivalent of:

jurka=# create table inttest(a int);
CREATE TABLE
jurka=# insert into inttest values('1'::varchar);
ERROR:  column "a" is of type integer but expression is of type character
varying
HINT:  You will need to rewrite or cast the expression.

If you really have only string data and no typing information your best
bet is probably to use an 8.2dev driver and set the stringtype=unspecified
URL parameter to restore the old behavior of automatic type
interpretation.

http://jdbc.postgresql.org/documentation/head/connect.html#connection-parameters

Kris Jurka


В списке pgsql-jdbc по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: 7.4 JDBC driver with 8.1 server?
Следующее
От: Kris Jurka
Дата:
Сообщение: Re: ResultSet.getInt problem