patch: fix TimeTest in timezones ahead of GMT

Поиск
Список
Период
Сортировка
От Oliver Jowett
Тема patch: fix TimeTest in timezones ahead of GMT
Дата
Msg-id 407C7B2D.8010400@opencloud.com
обсуждение исходный текст
Ответы Re: patch: fix TimeTest in timezones ahead of GMT
Re: patch: fix TimeTest in timezones ahead of GMT
Список pgsql-jdbc
This patch fixes the TimeTest test failure I noted earlier. I believe
this failure only happens in timezones that are ahead of GMT (I am +1200
currently).

-O
Index: org/postgresql/test/jdbc2/TimeTest.java
===================================================================
RCS file: /usr/local/cvsroot/pgjdbc/pgjdbc/org/postgresql/test/jdbc2/TimeTest.java,v
retrieving revision 1.10
diff -c -r1.10 TimeTest.java
*** org/postgresql/test/jdbc2/TimeTest.java    2 Apr 2004 07:28:57 -0000    1.10
--- org/postgresql/test/jdbc2/TimeTest.java    13 Apr 2004 23:38:43 -0000
***************
*** 36,41 ****
--- 36,45 ----
          TestUtil.closeDB(con);
      }

+     private long extractMillis(long time) {
+         return (time >= 0) ? (time % 1000) : (time % 1000 + 1000);
+     }
+
      /*
      *
      * Test use of calendar
***************
*** 78,109 ****

             time = rs.getTime(1);
             assertNotNull(time);
!            assertEquals(100, time.getTime() % 1000);
             timestamp = rs.getTimestamp(1);
             assertNotNull(timestamp);

!        // Pre 1.4 JVM's considered the nanos field completely separate
!        // and wouldn't return it in getTime()
!        if (TestUtil.haveMinimumJVMVersion("1.4")) {
!                assertEquals(100, timestamp.getTime() % 1000);
!        } else {
!            assertEquals(100, (timestamp.getTime() + timestamp.getNanos() / 1000000) % 1000);
!        }
             assertEquals(100000000, timestamp.getNanos());

             timetz = rs.getTime(2);
             assertNotNull(timetz);
!            assertEquals(10, timetz.getTime() % 1000);
             timestamptz = rs.getTimestamp(2);
             assertNotNull(timestamptz);

!        // Pre 1.4 JVM's considered the nanos field completely separate
!        // and wouldn't return it in getTime()
!        if (TestUtil.haveMinimumJVMVersion("1.4")) {
!                assertEquals(10, timestamptz.getTime() % 1000);
!        } else {
!            assertEquals(10, (timestamptz.getTime() + timestamptz.getNanos() / 1000000) % 1000);
!        }
             assertEquals(10000000, timestamptz.getNanos());

             assertTrue(rs.next());
--- 82,113 ----

             time = rs.getTime(1);
             assertNotNull(time);
!            assertEquals(100, extractMillis(time.getTime()));
             timestamp = rs.getTimestamp(1);
             assertNotNull(timestamp);

!            // Pre 1.4 JVM's considered the nanos field completely separate
!            // and wouldn't return it in getTime()
!            if (TestUtil.haveMinimumJVMVersion("1.4")) {
!                assertEquals(100, extractMillis(timestamp.getTime()));
!            } else {
!                assertEquals(100, extractMillis(timestamp.getTime() + timestamp.getNanos() / 1000000));
!            }
             assertEquals(100000000, timestamp.getNanos());

             timetz = rs.getTime(2);
             assertNotNull(timetz);
!            assertEquals(10, extractMillis(timetz.getTime()));
             timestamptz = rs.getTimestamp(2);
             assertNotNull(timestamptz);

!            // Pre 1.4 JVM's considered the nanos field completely separate
!            // and wouldn't return it in getTime()
!            if (TestUtil.haveMinimumJVMVersion("1.4")) {
!                assertEquals(10, extractMillis(timestamptz.getTime()));
!            } else {
!                assertEquals(10, extractMillis(timestamptz.getTime() + timestamptz.getNanos() / 1000000));
!            }
             assertEquals(10000000, timestamptz.getNanos());

             assertTrue(rs.next());

В списке pgsql-jdbc по дате отправления:

Предыдущее
От: James Robinson
Дата:
Сообщение: Re: Under what circumstances does PreparedStatement use stored plans?
Следующее
От: James Robinson
Дата:
Сообщение: Re: Under what circumstances does PreparedStatement use stored