Re: Patch for jdbc ResultSet.getTimestamp() - Mailing list pgsql-patches
| From | Bruce Momjian |
|---|---|
| Subject | Re: Patch for jdbc ResultSet.getTimestamp() |
| Date | |
| Msg-id | 200105162016.f4GKGRk07097@candle.pha.pa.us Whole thread Raw |
| In response to | Patch for jdbc ResultSet.getTimestamp() (Barry Lind <barry@xythos.com>) |
| List | pgsql-patches |
Your patch has been added to the PostgreSQL unapplied patches list at:
http://candle.pha.pa.us/cgi-bin/pgpatches
I will try to apply it withing the next 48 hours.
I can not backpatch this to 7.1.X because we are only adding major bug
fixes into that release.
>
> Included is a patch that fixes a bug introduced in the lastest version
> (1.22) of interfaces/jdbc/org/postgresql/jdbc2/ResultSet.java. That
> change removed a line that set the variable s to the value of the
> stringbuffer. This fix changes the following if checks to check the
> length of the stringbuffer instead of s, since s no longer contains the
> string the if conditions are expecting.
>
> The bug manifests itself in getTimestamp() loosing the timezone
> information of timestamps selected from the database, thereby causing
> the time to be incorrect.
>
> If possible this patch should be patched into 7.1 for the upcoming 7.1.2
> patch.
>
> thanks,
> --Barry
> *** ./interfaces/jdbc/org/postgresql/jdbc2/ResultSet.java.orig Tue May 15 21:59:46 2001
> --- ./interfaces/jdbc/org/postgresql/jdbc2/ResultSet.java Tue May 15 22:06:43 2001
> ***************
> *** 499,511 ****
> // could optimize this a tad to remove too many object creations...
> SimpleDateFormat df = null;
>
> ! if (s.length()>23 && subsecond) {
> df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSzzzzzzzzz");
> ! } else if (s.length()>23 && !subsecond) {
> df = new SimpleDateFormat("yyyy-MM-dd HH:mm:sszzzzzzzzz");
> ! } else if (s.length()>10 && subsecond) {
> df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
> ! } else if (s.length()>10 && !subsecond) {
> df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
> } else {
> df = new SimpleDateFormat("yyyy-MM-dd");
> --- 499,511 ----
> // could optimize this a tad to remove too many object creations...
> SimpleDateFormat df = null;
>
> ! if (sbuf.length()>23 && subsecond) {
> df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSzzzzzzzzz");
> ! } else if (sbuf.length()>23 && !subsecond) {
> df = new SimpleDateFormat("yyyy-MM-dd HH:mm:sszzzzzzzzz");
> ! } else if (sbuf.length()>10 && subsecond) {
> df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
> ! } else if (sbuf.length()>10 && !subsecond) {
> df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
> } else {
> df = new SimpleDateFormat("yyyy-MM-dd");
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
> (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
--
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
pgsql-patches by date: