This is an automated email from the ASF dual-hosted git repository.

jhyde pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/calcite.git

commit d4640d0bcca6ba77c4b0911f48b39f4bf47d757f
Author: Alessandro Solimando <[email protected]>
AuthorDate: Thu Sep 23 16:27:27 2021 +0200

    [CALCITE-4793] CassandraAdapterDataTypesTest.testCollectionsInnerValues 
fails depending on the user timezone (Alessandro Solimando)
---
 .../calcite/test/CassandraAdapterDataTypesTest.java       | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git 
a/cassandra/src/test/java/org/apache/calcite/test/CassandraAdapterDataTypesTest.java
 
b/cassandra/src/test/java/org/apache/calcite/test/CassandraAdapterDataTypesTest.java
index ffed5e0..c76508d 100644
--- 
a/cassandra/src/test/java/org/apache/calcite/test/CassandraAdapterDataTypesTest.java
+++ 
b/cassandra/src/test/java/org/apache/calcite/test/CassandraAdapterDataTypesTest.java
@@ -16,7 +16,10 @@
  */
 package org.apache.calcite.test;
 
+import org.apache.calcite.avatica.util.DateTimeUtils;
+
 import com.datastax.driver.core.Session;
+import com.datastax.driver.core.TypeCodec;
 import com.google.common.collect.ImmutableMap;
 
 import org.cassandraunit.CQLDataLoader;
@@ -27,6 +30,10 @@ import org.junit.jupiter.api.extension.ExtendWith;
 import org.junit.jupiter.api.parallel.Execution;
 import org.junit.jupiter.api.parallel.ExecutionMode;
 
+import java.util.Calendar;
+import java.util.Locale;
+import java.util.TimeZone;
+
 /**
  * Tests for the {@code org.apache.calcite.adapter.cassandra} package related 
to data types.
  *
@@ -187,6 +194,12 @@ class CassandraAdapterDataTypesTest {
   }
 
   @Test void testCollectionsInnerValues() {
+    // timestamp retrieval depends on the user timezone, we must compute the 
expected result
+    long v = TypeCodec.timestamp().parse("2015-05-03 13:30:54.234").getTime();
+    // UTC timestamp is adjusted using the offset from the user timezone
+    v -= Calendar.getInstance(TimeZone.getDefault(), 
Locale.ROOT).getTimeZone().getOffset(v);
+    String expectedTimestamp = DateTimeUtils.unixTimestampToString(v);
+
     CalciteAssert.that()
         .with(DTCASSANDRA)
         .query("select \"f_list\"[1], "
@@ -199,7 +212,7 @@ class CassandraAdapterDataTypesTest {
             + "; EXPR$1=v1"
             + "; 1=3000000000"
             + "; 2=30ff87"
-            + "; 3=2015-05-03 11:30:54\n");
+            + "; 3=" + expectedTimestamp + "\n");
   }
 
   // frozen collections should not affect the row type

Reply via email to