Thread: Re: [JDBC] Re: Trouble with JDBC2 ResultSet.getDate()

Re: [JDBC] Re: Trouble with JDBC2 ResultSet.getDate()

From
Juhan-Peep Ernits
Date:
Hello!

We solved the problem by patching the code of the jdbc driver (since the
new code has ResultSet.getStatement() method and other useful
enhancements) for some time, while we changed the code to use
getTimestamp() method, since it is not a good idea to stick to patching
the code of the jdbc driver.

Of course it would be more comfortable if one could use getDate on a
timestamp field, but it is not by default always available.

In our case the new approach lead to more robust code (more typesafe),
and in addition there were also a few other things that resolved when we
started to use the new driver, so eventually we benefitted a lot of it. It
depends how much code you have to rewrite but I'd suggest doing that.

Juhan Ernits




On Tue, 8 May 2001, Palle Girgensohn wrote:

> I just got bitten by this too. I use type timestamp in the
> database, and often need the latest timestamp, but want to
> format it as a date. With 7.0.x, I just
>
>  select ts from foo order by ts desc limit 1
>
> and in java: d = res.getDate(1);
>
> but this fails everywhere in my code now :(


Re: [JDBC] Re: Trouble with JDBC2 ResultSet.getDate()

From
Bruce Momjian
Date:
So, I am concluding that the timestamp patch should not be applied the
jdbc tree.

>
> Hello!
>
> We solved the problem by patching the code of the jdbc driver (since the
> new code has ResultSet.getStatement() method and other useful
> enhancements) for some time, while we changed the code to use
> getTimestamp() method, since it is not a good idea to stick to patching
> the code of the jdbc driver.
>
> Of course it would be more comfortable if one could use getDate on a
> timestamp field, but it is not by default always available.
>
> In our case the new approach lead to more robust code (more typesafe),
> and in addition there were also a few other things that resolved when we
> started to use the new driver, so eventually we benefitted a lot of it. It
> depends how much code you have to rewrite but I'd suggest doing that.
>
> Juhan Ernits
>
>
>
>
> On Tue, 8 May 2001, Palle Girgensohn wrote:
>
> > I just got bitten by this too. I use type timestamp in the
> > database, and often need the latest timestamp, but want to
> > format it as a date. With 7.0.x, I just
> >
> >  select ts from foo order by ts desc limit 1
> >
> > and in java: d = res.getDate(1);
> >
> > but this fails everywhere in my code now :(
>
>
> ---------------------------(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
>

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

Re: [JDBC] Re: Trouble with JDBC2 ResultSet.getDate()

From
Palle Girgensohn
Date:
Well, I didn't see the patch, but my message (probably you just
received) points to the fact that getDate shall work on a
timestamp column, and some kind of patch shall be applied. I
something like this:

if s.length() == 10
 return java.sql.Date.valueOf(s)
else do the old 7.0.3 SimpleDateFormatter stuff.

*or*

try {
  return  java.sql.Date.valueOf(s)
} catch (SQLException e) {
  do the old SimpleDateFormatter stuff...
}

sort of... gotta go, or I'd have sent you a full patch.

/Palle

Bruce Momjian wrote:
>
> So, I am concluding that the timestamp patch should not be applied the
> jdbc tree.
>
> >
> > Hello!
> >
> > We solved the problem by patching the code of the jdbc driver (since the
> > new code has ResultSet.getStatement() method and other useful
> > enhancements) for some time, while we changed the code to use
> > getTimestamp() method, since it is not a good idea to stick to patching
> > the code of the jdbc driver.
> >
> > Of course it would be more comfortable if one could use getDate on a
> > timestamp field, but it is not by default always available.
> >
> > In our case the new approach lead to more robust code (more typesafe),
> > and in addition there were also a few other things that resolved when we
> > started to use the new driver, so eventually we benefitted a lot of it. It
> > depends how much code you have to rewrite but I'd suggest doing that.
> >
> > Juhan Ernits
> >
> >
> >
> >
> > On Tue, 8 May 2001, Palle Girgensohn wrote:
> >
> > > I just got bitten by this too. I use type timestamp in the
> > > database, and often need the latest timestamp, but want to
> > > format it as a date. With 7.0.x, I just
> > >
> > >  select ts from foo order by ts desc limit 1
> > >
> > > and in java: d = res.getDate(1);
> > >
> > > but this fails everywhere in my code now :(
> >
> >
> > ---------------------------(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
> >
>
> --
>   Bruce Momjian                        |  http://candle.pha.pa.us
>   pgman@candle.pha.pa.us               |  (610) 853-3000
>   +  If your life is a hard drive,     |  830 Blythe Avenue
>   +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

--
         Partitur Informationsteknik AB
Wenner-Gren Center             +46 8 566 280 02
113 46 Stockholm           +46 70 785 86 02
Sweden                   girgen@partitur.se