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