@@ -650,9 +650,6 @@ public void test03_Dates() throws SQLException {
650650
651651 @ Test
652652 public void test04_Timestamps () throws SQLException {
653- assumeFalse (
654- "Timestamp type is not supported on POSTGRESQL dialect" ,
655- dialect .dialect == Dialect .POSTGRESQL );
656653 List <String > expectedValues = new ArrayList <>();
657654 expectedValues .add ("2008-01-01 10:00:00" );
658655 expectedValues .add ("2000-01-01 00:00:00" );
@@ -711,8 +708,16 @@ public void test04_Timestamps() throws SQLException {
711708 Types .TIMESTAMP ,
712709 Types .TIMESTAMP ,
713710 Types .ARRAY ),
714- ImmutableList .of (
715- "INT64" , "INT64" , "DATE" , "TIMESTAMP" , "TIMESTAMP" , "ARRAY<INT64>" ),
711+ dialect .dialect == Dialect .POSTGRESQL
712+ ? ImmutableList .of (
713+ "bigint" ,
714+ "bigint" ,
715+ "date" ,
716+ "timestamp with time zone" ,
717+ "timestamp with time zone" ,
718+ "bigint[]" )
719+ : ImmutableList .of (
720+ "INT64" , "INT64" , "DATE" , "TIMESTAMP" , "TIMESTAMP" , "ARRAY<INT64>" ),
716721 ImmutableList .of (
717722 Long .class ,
718723 Long .class ,
@@ -743,10 +748,7 @@ public void test04_Timestamps() throws SQLException {
743748 Timestamp inDefaultTZ = rs .getTimestamp (4 );
744749 assertEquals (testTimestamp .getTime (), inDefaultTZ .getTime ());
745750 // Then get it in the test timezone.
746- if (testCalendar != null
747- && !System .getProperty ("java.vm.name" , "" ).toLowerCase ().contains ("graalvm" )
748- && !System .getProperty ("java.vendor" , "" ).toLowerCase ().contains ("graalvm" )
749- && !System .getProperty ("java.vendor" , "" ).toLowerCase ().contains ("oracle" )) {
751+ if (testCalendar != null ) {
750752 Timestamp inOtherTZ = rs .getTimestamp (4 , testCalendar );
751753 assertEquals (
752754 "Timezone: "
@@ -759,7 +761,8 @@ public void test04_Timestamps() throws SQLException {
759761 + System .getProperty ("java.vm.name" )
760762 + ", vendor="
761763 + System .getProperty ("java.vendor" ),
762- testTimestamp .getTime () + testCalendar .getTimeZone ().getRawOffset (),
764+ testTimestamp .getTime ()
765+ + testCalendar .getTimeZone ().getOffset (inDefaultTZ .getTime ()),
763766 inOtherTZ .getTime ());
764767 }
765768
@@ -768,9 +771,7 @@ public void test04_Timestamps() throws SQLException {
768771 inDefaultTZ = rs .getTimestamp (5 );
769772 if (testCalendar == null ) {
770773 assertEquals (testTimestamp .getTime (), inDefaultTZ .getTime ());
771- } else if (!System .getProperty ("java.vm.name" , "" ).toLowerCase ().contains ("graalvm" )
772- && !System .getProperty ("java.vendor" , "" ).toLowerCase ().contains ("graalvm" )
773- && !System .getProperty ("java.vendor" , "" ).toLowerCase ().contains ("oracle" )) {
774+ } else {
774775 assertEquals (
775776 "Timezone: "
776777 + testCalendar
@@ -782,7 +783,8 @@ public void test04_Timestamps() throws SQLException {
782783 + System .getProperty ("java.vm.name" )
783784 + ", vendor="
784785 + System .getProperty ("java.vendor" ),
785- testTimestamp .getTime () - testCalendar .getTimeZone ().getRawOffset (),
786+ testTimestamp .getTime ()
787+ - testCalendar .getTimeZone ().getOffset (inDefaultTZ .getTime ()),
786788 inDefaultTZ .getTime ());
787789 }
788790 // Then get it in the test timezone.
0 commit comments