Re: setString and timestamps
От | David Goodenough |
---|---|
Тема | Re: setString and timestamps |
Дата | |
Msg-id | 200602201431.55800.david.goodenough@btconnect.com обсуждение исходный текст |
Ответ на | Re: setString and timestamps (Kris Jurka <books@ejurka.com>) |
Ответы |
Re: setString and timestamps
|
Список | pgsql-jdbc |
On Friday 17 February 2006 18:33, Kris Jurka wrote: > 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-param >eters > > Kris Jurka > > > ---------------------------(end of broadcast)--------------------------- > TIP 6: explain analyze is your friend What is the best way of finding the column types in generic code. That is to say if I have a method with no knowledge of a specific table and I am about to do an insert and I wish to get the parameters in the correct format what APIs exist that allow me to find out the type of a named column. I have looked through the JDBC docs without success so far, but it may be that I am looking for the wrong thing. If I need to use a Postgresql only API that is fine. Thanks David
В списке pgsql-jdbc по дате отправления: