You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by vo...@apache.org on 2019/03/05 07:02:42 UTC

[ignite] branch master updated: IGNITE-11430: SQL: Changed timestamp with TZ to simple timestamp for running queries SQL system view. This closes #6206.

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

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


The following commit(s) were added to refs/heads/master by this push:
     new a8a3073  IGNITE-11430: SQL: Changed timestamp with TZ to simple timestamp for running queries SQL system view. This closes #6206.
a8a3073 is described below

commit a8a3073c7d2f6a24ea82541f406eb59302f5d709
Author: Yuriy Gerzhedovich <yg...@gridgain.com>
AuthorDate: Tue Mar 5 10:02:34 2019 +0300

    IGNITE-11430: SQL: Changed timestamp with TZ to simple timestamp for running queries SQL system view. This closes #6206.
---
 .../h2/sys/view/SqlAbstractLocalSystemView.java    | 22 ----------------------
 .../h2/sys/view/SqlSystemViewRunningQueries.java   |  4 ++--
 .../processors/query/SqlSystemViewsSelfTest.java   | 16 ++++++----------
 3 files changed, 8 insertions(+), 34 deletions(-)

diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sys/view/SqlAbstractLocalSystemView.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sys/view/SqlAbstractLocalSystemView.java
index 1446f91..01102da 100644
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sys/view/SqlAbstractLocalSystemView.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sys/view/SqlAbstractLocalSystemView.java
@@ -17,28 +17,22 @@
 
 package org.apache.ignite.internal.processors.query.h2.sys.view;
 
-import java.util.TimeZone;
 import java.util.UUID;
 import org.apache.ignite.internal.GridKernalContext;
 import org.h2.engine.Session;
 import org.h2.result.Row;
 import org.h2.result.SearchRow;
 import org.h2.table.Column;
-import org.h2.util.DateTimeUtils;
 import org.h2.value.Value;
 import org.h2.value.ValueNull;
 import org.h2.value.ValueString;
 import org.h2.value.ValueTimestamp;
-import org.h2.value.ValueTimestampTimeZone;
 
 /**
  * Local system view base class (which uses only local node data).
  */
 @SuppressWarnings("IfMayBeConditional")
 public abstract class SqlAbstractLocalSystemView extends SqlAbstractSystemView {
-
-    public static final int MILLIS_IN_MIN = 60_000;
-
     /**
      * @param tblName Table name.
      * @param desc Description.
@@ -153,20 +147,4 @@ public abstract class SqlAbstractLocalSystemView extends SqlAbstractSystemView {
         else
             return ValueTimestamp.fromMillis(millis);
     }
-
-    /**
-     * Converts millis to H2 ValueTimestamp in default time zone.
-     *
-     * @param millis Millis.
-     */
-    protected static Value valueTimestampZoneFromMillis(long millis) {
-        long dateVal = DateTimeUtils.dateValueFromDate(millis);
-        long nanos = DateTimeUtils.nanosFromDate(millis);
-        int tzOff = TimeZone.getDefault().getRawOffset();
-
-        if(tzOff % MILLIS_IN_MIN == 0)
-            return ValueTimestampTimeZone.fromDateValueAndNanos(dateVal, nanos, (short)(tzOff / MILLIS_IN_MIN));
-        else
-            return DateTimeUtils.timestampTimeZoneFromLocalDateValueAndNanos(dateVal, nanos);
-    }
 }
diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sys/view/SqlSystemViewRunningQueries.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sys/view/SqlSystemViewRunningQueries.java
index d53056e..d692be9 100644
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sys/view/SqlSystemViewRunningQueries.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sys/view/SqlSystemViewRunningQueries.java
@@ -43,7 +43,7 @@ public class SqlSystemViewRunningQueries extends SqlAbstractLocalSystemView {
             newColumn("SQL"),
             newColumn("SCHEMA_NAME"),
             newColumn("LOCAL", Value.BOOLEAN),
-            newColumn("START_TIME", Value.TIMESTAMP_TZ),
+            newColumn("START_TIME", Value.TIMESTAMP),
             newColumn("DURATION", Value.LONG)
         );
     }
@@ -80,7 +80,7 @@ public class SqlSystemViewRunningQueries extends SqlAbstractLocalSystemView {
                     info.query(),
                     info.schemaName(),
                     info.local(),
-                    valueTimestampZoneFromMillis(info.startTime()),
+                    valueTimestampFromMillis(info.startTime()),
                     duration
                 )
             );
diff --git a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/SqlSystemViewsSelfTest.java b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/SqlSystemViewsSelfTest.java
index fb6d335..a34a3ea 100644
--- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/SqlSystemViewsSelfTest.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/SqlSystemViewsSelfTest.java
@@ -19,13 +19,12 @@ package org.apache.ignite.internal.processors.query;
 
 import java.lang.reflect.Field;
 import java.sql.Timestamp;
-import java.time.LocalDateTime;
+import java.time.Instant;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 import java.util.Random;
-import java.util.TimeZone;
 import java.util.UUID;
 import java.util.concurrent.Callable;
 import java.util.concurrent.TimeUnit;
@@ -71,7 +70,6 @@ import org.apache.ignite.lang.IgniteFuture;
 import org.apache.ignite.lang.IgniteRunnable;
 import org.apache.ignite.spi.discovery.tcp.internal.TcpDiscoveryNode;
 import org.apache.ignite.testframework.GridTestUtils;
-import org.h2.api.TimestampWithTimeZone;
 import org.junit.Assert;
 import org.junit.Test;
 
@@ -333,17 +331,15 @@ public class SqlSystemViewsSelfTest extends AbstractIndexingCommonTest {
         List<?> res0 = (List<?>)cur.get(0);
         List<?> res1 = (List<?>)cur.get(1);
 
-        TimestampWithTimeZone tsTz = (TimestampWithTimeZone)res0.get(4);
+        Timestamp ts = (Timestamp)res0.get(4);
 
-        LocalDateTime now = LocalDateTime.now();
+        System.out.println(ts);
 
-        int sysTZOff = TimeZone.getDefault().getOffset(System.currentTimeMillis()) / 60 / 1000;
+        Instant now = Instant.now();
 
-        assertEquals(sysTZOff, tsTz.getTimeZoneOffsetMins());
+        long diffInMillis = now.minusMillis(ts.getTime()).toEpochMilli();
 
-        long diffInMinutes = Math.abs((tsTz.getNanosSinceMidnight() / 1_000_000_000 / 60) - (now.getHour() * 60 + now.getMinute()));
-
-        assertTrue(diffInMinutes < 3);
+        assertTrue(diffInMillis < 3000);
 
         assertEquals(sql, res0.get(0));