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());