Barry Lind wrote:
> select 'now'::timestamp;
> select 'now'::timestamptz;
> select 'now'::timestamp with time zone;
>
> These all seem to work correctly for me.
When I executed SQL in <<example.psql>>, exception occurred.
In an approach by a getTimestamp() method, exception does not occur.
Statement st = db.createStatement();
ResultSet rs = st.executeQuery("SELECT 'now'::timestamp");
rs.next();
Timestamp ts = rs.getTimestamp(1);
System.out.println(ts);
But, in an approach by a getObject() method, exception occurs.
Statement st = db.createStatement();
ResultSet rs = st.executeQuery("SELECT 'now'::timestamp");
rs.next();
Timestamp ts = (Timestamp)rs.getObject(1);
System.out.println(ts);
Because a displayResult() method of 'example/psql.java' uses
getObject(), exception of 'No class found for timestamptz' occurs.
The patch which I attached to a former mail corrects this error.
> Then however I did try your last query:
>
> select 'now'::timestamp without time zone;
>
> and this does fail for me with the string index out of bounds exception.
> However the patch you sent does not seem to fix this error. And I
> really don't know what to do with this datatype, since jdbc does not
> have a corresponding datatype that doesn't contain timezone information.
My patch does not correct this error. It is difficult for me to
correct this error justly, but I try to think.
In addition, I found an error of time type.
Statement st = db.createStatement();
ResultSet rs = st.executeQuery("SELECT 'now'::time");
rs.next();
Time t = rs.getTime(1);
System.out.println(t);
This becomes string index out of bounds exception.