Re: [PATCHES] patch for ResultSet.java - Mailing list pgsql-jdbc

From Christopher Kings-Lynne
Subject Re: [PATCHES] patch for ResultSet.java
Date
Msg-id GNELIHDDFBOCMGBFGEFOOEDLCCAA.chriskl@familyhealth.com.au
Whole thread Raw
In response to Re: [PATCHES] patch for ResultSet.java  (Barry Lind <barry@xythos.com>)
List pgsql-jdbc
Barry,

It looks like he's getting a new 7.2 timestamp with 2 milliseconds
precision??

Chris

> -----Original Message-----
> From: pgsql-patches-owner@postgresql.org
> [mailto:pgsql-patches-owner@postgresql.org]On Behalf Of Barry Lind
> Sent: Saturday, 20 April 2002 12:44 AM
> To: Alexander Litvinov
> Cc: pgsql-patches@postgresql.org; pgsql-jdbc@postgresql.org
> Subject: Re: [PATCHES] patch for ResultSet.java
>
>
> Alexander,
>
> Can you describe the problem you are having a little better.  I don't
> understand why you are getting "1903-12-29 18:00:12.68", you should be
> getting something like "1903-12-29 18:00:12.68+05"  (i.e. the timezone
> offset should be returned by the server.  What is the datatype of the
> column you are selecting from?
>
> I need to better understand the cause of the problem so I can understand
> the correctness of your patch.
>
> thanks,
> --Barry
>
>
>
> Alexander Litvinov wrote:
> > If I try to fetch timestamp using rs,getTimestamp("name") I got:
> >
> > java.lang.StringIndexOutOfBoundsException: String index out of range: 22
> >         at java.lang.String.charAt(String.java(Compiled Code))
> >         at
> org.postgresql.jdbc2.ResultSet.toTimestamp(ResultSet.java:1653)
> >         at
> org.postgresql.jdbc2.ResultSet.getTimestamp(ResultSet.java:398)
> >         at
> org.postgresql.jdbc2.ResultSet.getTimestamp(ResultSet.java:617)
> >
> > Later I tried to do rs.getString("name") I got: "1903-12-29 18:00:12.68"
> >
> > Using PostgreSQL v7.1.3 (JDBC from 7.2.1)
> >
> > I have added some bounds check to ResultSet.java. See attached patch.
> >
> >
> > ------------------------------------------------------------------------
> >
> > ---
> src/interfaces/jdbc/org/postgresql/jdbc2/ResultSet.java.original
> Thu Apr 18 22:48:40 2002
> > +++ src/interfaces/jdbc/org/postgresql/jdbc2/ResultSet.java    Thu
> Apr 18 22:57:44 2002
> > @@ -1641,17 +1641,22 @@
> >                  int i = 19;
> >                  resultSet.sbuf.setLength(i);
> >
> > -                char c = s.charAt(i++);
> > +                char c = s.charAt(i);
> >                  if (c == '.')
> >                  {
> >                      // Found a fractional
> value. Append up to 3 digits including
> >                      // the leading '.'
> > -                    do
> > -                    {
> > -                        if (i < 24)
> > +                    resultSet.sbuf.append(c);
> > +                    i++;
> > +                    while (i < s.length() && i < 24) {
> > +                        c = s.charAt(i);
> > +                        if (Character.isDigit(c)) {
> >
> resultSet.sbuf.append(c);
> > -                        c = s.charAt(i++);
> > -                    } while (Character.isDigit(c));
> > +                            i++;
> > +                        }
> > +                        else
> > +                            break;
> > +                    }
> >
> >                      // If there wasn't at least
> 3 digits we should add some zeros
> >                      // to make up the 3 digits
> we tell java to expect.
> > @@ -1667,7 +1672,7 @@
> >                  // prepend the GMT part and then
> add the remaining bit of
> >                  // the string.
> >                  resultSet.sbuf.append(" GMT");
> > -                resultSet.sbuf.append(c);
> > +//                resultSet.sbuf.append(c);
> >
> resultSet.sbuf.append(s.substring(i, s.length()));
> >
> >                  // Lastly, if the tz part doesn't
> specify the :MM part then
> >
> >
> > ------------------------------------------------------------------------
> >
> >
> > ---------------------------(end of broadcast)---------------------------
> > TIP 3: if posting/reading through Usenet, please send an appropriate
> > subscribe-nomail command to majordomo@postgresql.org so that your
> > message can get through to the mailing list cleanly
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster
>


pgsql-jdbc by date:

Previous
From: Alexander Litvinov
Date:
Subject: Re: [PATCHES] patch for ResultSet.java
Next
From: Tom Lane
Date:
Subject: Re: TEXT