[libpostgresql-jdbc-java] 03/13: Produce the timezone that we send to the server in the same format that we can parse. This is important for updatable ResultSets as we must be able to parse the format we produce.

Emmanuel Bourg ebourg-guest at moszumanska.debian.org
Mon Jan 9 10:20:22 UTC 2017


This is an automated email from the git hooks/post-receive script.

ebourg-guest pushed a commit to tag REL8_2_505
in repository libpostgresql-jdbc-java.

commit 2be266070898c5c1599abf8d12166dbd7ec68864
Author: Kris Jurka <books at ejurka.com>
Date:   Fri Jan 5 00:34:13 2007 +0000

    Produce the timezone that we send to the server in the same format
    that we can parse.  This is important for updatable ResultSets as
    we must be able to parse the format we produce.
    
    Reported by Leon Do
---
 org/postgresql/jdbc2/TimestampUtils.java           |  4 +++-
 .../test/jdbc2/UpdateableResultTest.java           | 27 ++++++++++++++++++++--
 2 files changed, 28 insertions(+), 3 deletions(-)

diff --git a/org/postgresql/jdbc2/TimestampUtils.java b/org/postgresql/jdbc2/TimestampUtils.java
index 40b61a0..77c1cae 100644
--- a/org/postgresql/jdbc2/TimestampUtils.java
+++ b/org/postgresql/jdbc2/TimestampUtils.java
@@ -3,7 +3,7 @@
 * Copyright (c) 2003-2005, PostgreSQL Global Development Group
 *
 * IDENTIFICATION
-*   $PostgreSQL: pgjdbc/org/postgresql/jdbc2/TimestampUtils.java,v 1.18 2005/10/25 22:44:27 davec Exp $
+*   $PostgreSQL: pgjdbc/org/postgresql/jdbc2/TimestampUtils.java,v 1.19 2006/04/29 02:33:46 jurka Exp $
 *
 *-------------------------------------------------------------------------
 */
@@ -546,6 +546,8 @@ public class TimestampUtils {
             sb.append('0');
         sb.append(hours);
 
+        sb.append(':');
+
         if (mins < 10)
             sb.append('0');
         sb.append(mins);
diff --git a/org/postgresql/test/jdbc2/UpdateableResultTest.java b/org/postgresql/test/jdbc2/UpdateableResultTest.java
index 782acc1..43c199e 100644
--- a/org/postgresql/test/jdbc2/UpdateableResultTest.java
+++ b/org/postgresql/test/jdbc2/UpdateableResultTest.java
@@ -3,7 +3,7 @@
 * Copyright (c) 2001-2005, PostgreSQL Global Development Group
 *
 * IDENTIFICATION
-*   $PostgreSQL: pgjdbc/org/postgresql/test/jdbc2/UpdateableResultTest.java,v 1.21 2005/07/04 18:50:30 davec Exp $
+*   $PostgreSQL: pgjdbc/org/postgresql/test/jdbc2/UpdateableResultTest.java,v 1.22 2005/09/29 22:13:25 jurka Exp $
 *
 *-------------------------------------------------------------------------
 */
@@ -17,6 +17,7 @@ import java.io.ByteArrayInputStream;
 import java.io.Reader;
 import java.io.StringReader;
 import java.io.UnsupportedEncodingException;
+import java.util.TimeZone;
 
 import org.postgresql.test.TestUtil;
 
@@ -38,7 +39,7 @@ public class UpdateableResultTest extends TestCase
     protected void setUp() throws Exception
     {
         con = TestUtil.openDB();
-        TestUtil.createTable(con, "updateable", "id int primary key, name text, notselected text", true);
+        TestUtil.createTable(con, "updateable", "id int primary key, name text, notselected text, ts timestamp with time zone", true);
         TestUtil.createTable(con, "second", "id1 int primary key, name1 text");
         TestUtil.createTable(con, "stream", "id int primary key, asi text, chr text, bin bytea");
 
@@ -192,6 +193,28 @@ public class UpdateableResultTest extends TestCase
         stmt.close();
     }
 
+    public void testUpdateTimestamp() throws SQLException
+    {
+        TimeZone origTZ = TimeZone.getDefault();
+        try {
+            // We choose a timezone which has a partial hour portion
+            // Asia/Tehran is +3:30
+            TimeZone.setDefault(TimeZone.getTimeZone("Asia/Tehran"));
+            Timestamp ts = Timestamp.valueOf("2006-11-20 16:17:18");
+
+            Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
+            ResultSet rs = stmt.executeQuery("SELECT id, ts FROM updateable");
+            rs.moveToInsertRow();
+            rs.updateInt(1,1);
+            rs.updateTimestamp(2,ts);
+            rs.insertRow();
+            rs.first();
+            assertEquals(ts, rs.getTimestamp(2));
+        } finally {
+          TimeZone.setDefault(origTZ);
+        }
+    }
+
     public void testUpdateStreams() throws SQLException, UnsupportedEncodingException
     {
         Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/libpostgresql-jdbc-java.git



More information about the pkg-java-commits mailing list