Thread: FW: [HACKERS] Failure in timestamptz of JDBC of 7.2b4

FW: [HACKERS] Failure in timestamptz of JDBC of 7.2b4

From
"Dave Cramer"
Date:
Barry,

Did you take care of this? I recall seeing some messages regarding
timestamps a few days ago

Dave

-----Original Message-----
From: pgsql-hackers-owner@postgresql.org
[mailto:pgsql-hackers-owner@postgresql.org] On Behalf Of Ryouichi
Matsuda
Sent: Tuesday, December 25, 2001 3:20 AM
To: pgsql-hackers@postgresql.org
Cc: pgsql-jdbc@postgresql.org
Subject: [HACKERS] Failure in timestamptz of JDBC of 7.2b4


I found a failure in a JDBC driver of 7.2b4.
  (1) It does not support timestamptz type
  (2) Exception occurs by timestamp without time zone type
I attach a patch correcting the first failure.
You can confirm it in example.psql as follows:

---------------------------------------------------------------------
$ java -cp postgresql-examples.jar:postgresql.jar example.psql
jdbc:postgresql:r-matuda r-matuda pass PostgreSQL psql example v6.3 rev
1

Connecting to Database URL = jdbc:postgresql:r-matuda
Connected to PostgreSQL 7.2b4

[1] select 'now'::timestamp;
timestamptz
No class found for timestamptz.
[1] [1] select 'now'::timestamp with time zone;
timestamptz
No class found for timestamptz.
[1] [1] select 'now'::timestamp without time zone;
timestamp
Exception caught.
java.lang.StringIndexOutOfBoundsException: String index out of range: 26
java.lang.StringIndexOutOfBoundsException: String index out of range: 26
        at java.lang.String.charAt(String.java:516)
        at
org.postgresql.jdbc2.ResultSet.toTimestamp(ResultSet.java:1653)
        at
org.postgresql.jdbc2.ResultSet.getTimestamp(ResultSet.java:398)
        at org.postgresql.jdbc2.ResultSet.getObject(ResultSet.java:768)
        at example.psql.displayResult(psql.java:137)
        at example.psql.processLine(psql.java:96)
        at example.psql.<init>(psql.java:62)
        at example.psql.main(psql.java:227)

Attachment

Re: FW: [HACKERS] Failure in timestamptz of JDBC of 7.2b4

From
Barry Lind
Date:
Dave,

I sent the following response to the original poster and to the list.  I
haven't heard anything back yet.

thanks,
--Barry

 >Ryouichi,
 >
 >I did not follow your explaination of the problem and therefore I don't
 >see how your suggested patch fixes the problem.
 >
 >You claim that the jdbc driver does not support the timestamptz type.
 >However when I try using this type, I don't have any problems.  I just
 >executed the sql statements you had included in your email:
 >
 >select 'now'::timestamp;
 >select 'now'::timestamptz;
 >select 'now'::timestamp with time zone;
 >
 >These all seem to work correctly for me.
 >
 >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.
 >
 >So to summarize, after looking at the sql statements you mention in
 >your email, they all seem to work correctly for me without your patch
 >being applied, except for the last one, which still fails even with
 >your patch applied.  So I am unsure what your patch is supposed to fix,
 >since I do not see any evidence that it fixes anything that is broken.
 >
 >thanks,
 >--Barry
 >

Dave Cramer wrote:

> Barry,
>
> Did you take care of this? I recall seeing some messages regarding
> timestamps a few days ago
>
> Dave
>
> -----Original Message-----
> From: pgsql-hackers-owner@postgresql.org
> [mailto:pgsql-hackers-owner@postgresql.org] On Behalf Of Ryouichi
> Matsuda
> Sent: Tuesday, December 25, 2001 3:20 AM
> To: pgsql-hackers@postgresql.org
> Cc: pgsql-jdbc@postgresql.org
> Subject: [HACKERS] Failure in timestamptz of JDBC of 7.2b4
>
>
> I found a failure in a JDBC driver of 7.2b4.
>   (1) It does not support timestamptz type
>   (2) Exception occurs by timestamp without time zone type
> I attach a patch correcting the first failure.
> You can confirm it in example.psql as follows:
>
> ---------------------------------------------------------------------
> $ java -cp postgresql-examples.jar:postgresql.jar example.psql
> jdbc:postgresql:r-matuda r-matuda pass PostgreSQL psql example v6.3 rev
> 1
>
> Connecting to Database URL = jdbc:postgresql:r-matuda
> Connected to PostgreSQL 7.2b4
>
> [1] select 'now'::timestamp;
> timestamptz
> No class found for timestamptz.
> [1] [1] select 'now'::timestamp with time zone;
> timestamptz
> No class found for timestamptz.
> [1] [1] select 'now'::timestamp without time zone;
> timestamp
> Exception caught.
> java.lang.StringIndexOutOfBoundsException: String index out of range: 26
> java.lang.StringIndexOutOfBoundsException: String index out of range: 26
>         at java.lang.String.charAt(String.java:516)
>         at
> org.postgresql.jdbc2.ResultSet.toTimestamp(ResultSet.java:1653)
>         at
> org.postgresql.jdbc2.ResultSet.getTimestamp(ResultSet.java:398)
>         at org.postgresql.jdbc2.ResultSet.getObject(ResultSet.java:768)
>         at example.psql.displayResult(psql.java:137)
>         at example.psql.processLine(psql.java:96)
>         at example.psql.<init>(psql.java:62)
>         at example.psql.main(psql.java:227)
>
>
> ------------------------------------------------------------------------
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
>
> http://www.postgresql.org/users-lounge/docs/faq.html
>
>
> ------------------------------------------------------------------------
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
>
> http://www.postgresql.org/users-lounge/docs/faq.html
>