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

nizhikov 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 8701974  IGNITE-12224: SQL query & SQL query history system views. 
(#7059)
8701974 is described below

commit 870197465da29ce66f333845845a536f9300c72e
Author: Nikolay <[email protected]>
AuthorDate: Tue Nov 19 21:14:46 2019 +0300

    IGNITE-12224: SQL query & SQL query history system views. (#7059)
---
 .../internal/jdbc2/JdbcMetadataSelfTest.java       |   6 +-
 .../thin/JdbcThinAffinityAwarenessSelfTest.java    |   4 +-
 ...cThinAffinityAwarenessTransactionsSelfTest.java |   4 +-
 .../ignite/jdbc/thin/JdbcThinMetadataSelfTest.java |  73 +++++++--------
 .../SystemViewRowAttributeWalkerGenerator.java     |   4 +
 .../walker/SqlQueryHistoryViewWalker.java          |  59 ++++++++++++
 .../systemview/walker/SqlQueryViewWalker.java      |  58 ++++++++++++
 .../continuous/GridContinuousProcessor.java        |   2 +-
 .../processors/query/GridRunningQueryInfo.java     |  11 ++-
 ...{QueryHistoryMetrics.java => QueryHistory.java} |  22 ++---
 ...HistoryMetricsKey.java => QueryHistoryKey.java} |   6 +-
 .../processors/query/QueryHistoryTracker.java      |  42 ++++-----
 .../processors/query/RunningQueryManager.java      |  35 ++++++-
 .../spi/systemview/view/SqlQueryHistoryView.java   |  85 +++++++++++++++++
 .../ignite/spi/systemview/view/SqlQueryView.java   |  79 ++++++++++++++++
 .../processors/query/h2/IgniteH2Indexing.java      |  14 ++-
 .../processors/query/h2/SchemaManager.java         |   6 +-
 .../sys/view/SqlSystemViewQueryHistoryMetrics.java |  92 -------------------
 .../h2/sys/view/SqlSystemViewRunningQueries.java   | 101 ---------------------
 .../cache/metric/SqlViewExporterSpiTest.java       |  16 ++--
 .../processors/query/SqlQueryHistorySelfTest.java  |  16 ++--
 .../processors/query/SqlSystemViewsSelfTest.java   |  10 +-
 22 files changed, 436 insertions(+), 309 deletions(-)

diff --git 
a/modules/clients/src/test/java/org/apache/ignite/internal/jdbc2/JdbcMetadataSelfTest.java
 
b/modules/clients/src/test/java/org/apache/ignite/internal/jdbc2/JdbcMetadataSelfTest.java
index f13c6e3..ba690c5 100755
--- 
a/modules/clients/src/test/java/org/apache/ignite/internal/jdbc2/JdbcMetadataSelfTest.java
+++ 
b/modules/clients/src/test/java/org/apache/ignite/internal/jdbc2/JdbcMetadataSelfTest.java
@@ -324,8 +324,8 @@ public class JdbcMetadataSelfTest extends 
GridCommonAbstractTest {
             "CACHE_GROUPS",
             "INDEXES",
             "LOCAL_CACHE_GROUPS_IO",
-            "LOCAL_SQL_QUERY_HISTORY",
-            "LOCAL_SQL_RUNNING_QUERIES",
+            "SQL_QUERIES_HISTORY",
+            "SQL_QUERIES",
             "SCAN_QUERIES",
             "NODES",
             "NODE_ATTRIBUTES",
@@ -339,7 +339,7 @@ public class JdbcMetadataSelfTest extends 
GridCommonAbstractTest {
             "VIEWS",
             "TABLE_COLUMNS",
             "VIEW_COLUMNS",
-            "QUERY_CONTINUOUS"
+            "CONTINUOUS_QUERIES"
         ));
 
         Set<String> actViews = new HashSet<>();
diff --git 
a/modules/clients/src/test/java/org/apache/ignite/jdbc/thin/JdbcThinAffinityAwarenessSelfTest.java
 
b/modules/clients/src/test/java/org/apache/ignite/jdbc/thin/JdbcThinAffinityAwarenessSelfTest.java
index 3102f48..22e5d0d 100644
--- 
a/modules/clients/src/test/java/org/apache/ignite/jdbc/thin/JdbcThinAffinityAwarenessSelfTest.java
+++ 
b/modules/clients/src/test/java/org/apache/ignite/jdbc/thin/JdbcThinAffinityAwarenessSelfTest.java
@@ -43,7 +43,7 @@ import org.apache.ignite.configuration.IgniteConfiguration;
 import org.apache.ignite.internal.jdbc.thin.AffinityCache;
 import org.apache.ignite.internal.jdbc.thin.JdbcThinPartitionResultDescriptor;
 import org.apache.ignite.internal.jdbc.thin.QualifiedSQLQuery;
-import org.apache.ignite.internal.processors.query.QueryHistoryMetrics;
+import org.apache.ignite.internal.processors.query.QueryHistory;
 import org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing;
 import org.apache.ignite.internal.sql.optimizer.affinity.PartitionResult;
 import org.apache.ignite.internal.util.GridBoundedLinkedHashMap;
@@ -716,7 +716,7 @@ public class JdbcThinAffinityAwarenessSelfTest extends 
JdbcThinAbstractSelfTest
         int nonEmptyMetricsCntr = 0;
         int qryExecutionsCntr = 0;
         for (int i = 0; i < NODES_CNT; i++) {
-            Collection<QueryHistoryMetrics> metrics = 
((IgniteH2Indexing)grid(i).context().query().getIndexing())
+            Collection<QueryHistory> metrics = 
((IgniteH2Indexing)grid(i).context().query().getIndexing())
                 .runningQueryManager().queryHistoryMetrics().values();
 
             if (!metrics.isEmpty()) {
diff --git 
a/modules/clients/src/test/java/org/apache/ignite/jdbc/thin/JdbcThinAffinityAwarenessTransactionsSelfTest.java
 
b/modules/clients/src/test/java/org/apache/ignite/jdbc/thin/JdbcThinAffinityAwarenessTransactionsSelfTest.java
index 98c5705..dae87ed 100644
--- 
a/modules/clients/src/test/java/org/apache/ignite/jdbc/thin/JdbcThinAffinityAwarenessTransactionsSelfTest.java
+++ 
b/modules/clients/src/test/java/org/apache/ignite/jdbc/thin/JdbcThinAffinityAwarenessTransactionsSelfTest.java
@@ -29,7 +29,7 @@ import org.apache.ignite.configuration.CacheConfiguration;
 import org.apache.ignite.configuration.IgniteConfiguration;
 import org.apache.ignite.internal.binary.BinaryMarshaller;
 import org.apache.ignite.internal.processors.query.NestedTxMode;
-import org.apache.ignite.internal.processors.query.QueryHistoryMetrics;
+import org.apache.ignite.internal.processors.query.QueryHistory;
 import org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing;
 import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.testframework.GridStringLogger;
@@ -244,7 +244,7 @@ public class JdbcThinAffinityAwarenessTransactionsSelfTest 
extends JdbcThinAbstr
         int qryExecutionsCntr = 0;
 
         for (int i = 0; i < NODES_CNT; i++) {
-            Collection<QueryHistoryMetrics> metrics = 
((IgniteH2Indexing)grid(i).context().query().getIndexing())
+            Collection<QueryHistory> metrics = 
((IgniteH2Indexing)grid(i).context().query().getIndexing())
                 .runningQueryManager().queryHistoryMetrics().values();
 
             if (!metrics.isEmpty()) {
diff --git 
a/modules/clients/src/test/java/org/apache/ignite/jdbc/thin/JdbcThinMetadataSelfTest.java
 
b/modules/clients/src/test/java/org/apache/ignite/jdbc/thin/JdbcThinMetadataSelfTest.java
index 0b5e3d2..2caf3c6 100644
--- 
a/modules/clients/src/test/java/org/apache/ignite/jdbc/thin/JdbcThinMetadataSelfTest.java
+++ 
b/modules/clients/src/test/java/org/apache/ignite/jdbc/thin/JdbcThinMetadataSelfTest.java
@@ -333,14 +333,14 @@ public class JdbcThinMetadataSelfTest extends 
JdbcThinAbstractSelfTest {
                 "SYS.CACHE_GROUPS",
                 "SYS.CACHES",
                 "SYS.TASKS",
-                "SYS.LOCAL_SQL_QUERY_HISTORY",
+                "SYS.SQL_QUERIES_HISTORY",
                 "SYS.NODES",
                 "SYS.SCHEMAS",
                 "SYS.NODE_METRICS",
                 "SYS.BASELINE_NODES",
                 "SYS.INDEXES",
                 "SYS.LOCAL_CACHE_GROUPS_IO",
-                "SYS.LOCAL_SQL_RUNNING_QUERIES",
+                "SYS.SQL_QUERIES",
                 "SYS.SCAN_QUERIES",
                 "SYS.NODE_ATTRIBUTES",
                 "SYS.TABLES",
@@ -349,7 +349,7 @@ public class JdbcThinMetadataSelfTest extends 
JdbcThinAbstractSelfTest {
                 "SYS.VIEWS",
                 "SYS.TABLE_COLUMNS",
                 "SYS.VIEW_COLUMNS",
-                "SYS.QUERY_CONTINUOUS"
+                "SYS.CONTINUOUS_QUERIES"
             ))
         );
     }
@@ -641,20 +641,21 @@ public class JdbcThinMetadataSelfTest extends 
JdbcThinAbstractSelfTest {
                 "SYS.LOCAL_CACHE_GROUPS_IO.CACHE_GROUP_NAME.null.2147483647",
                 "SYS.LOCAL_CACHE_GROUPS_IO.PHYSICAL_READS.null.19",
                 "SYS.LOCAL_CACHE_GROUPS_IO.LOGICAL_READS.null.19",
-                "SYS.LOCAL_SQL_QUERY_HISTORY.SCHEMA_NAME.null.2147483647",
-                "SYS.LOCAL_SQL_QUERY_HISTORY.SQL.null.2147483647",
-                "SYS.LOCAL_SQL_QUERY_HISTORY.LOCAL.null.1",
-                "SYS.LOCAL_SQL_QUERY_HISTORY.EXECUTIONS.null.19",
-                "SYS.LOCAL_SQL_QUERY_HISTORY.FAILURES.null.19",
-                "SYS.LOCAL_SQL_QUERY_HISTORY.DURATION_MIN.null.19",
-                "SYS.LOCAL_SQL_QUERY_HISTORY.DURATION_MAX.null.19",
-                "SYS.LOCAL_SQL_QUERY_HISTORY.LAST_START_TIME.null.26.6",
-                "SYS.LOCAL_SQL_RUNNING_QUERIES.QUERY_ID.null.2147483647",
-                "SYS.LOCAL_SQL_RUNNING_QUERIES.SQL.null.2147483647",
-                "SYS.LOCAL_SQL_RUNNING_QUERIES.SCHEMA_NAME.null.2147483647",
-                "SYS.LOCAL_SQL_RUNNING_QUERIES.LOCAL.null.1",
-                "SYS.LOCAL_SQL_RUNNING_QUERIES.START_TIME.null.26.6",
-                "SYS.LOCAL_SQL_RUNNING_QUERIES.DURATION.null.19",
+                "SYS.SQL_QUERIES_HISTORY.SCHEMA_NAME.null.2147483647",
+                "SYS.SQL_QUERIES_HISTORY.SQL.null.2147483647",
+                "SYS.SQL_QUERIES_HISTORY.LOCAL.null.1",
+                "SYS.SQL_QUERIES_HISTORY.EXECUTIONS.null.19",
+                "SYS.SQL_QUERIES_HISTORY.FAILURES.null.19",
+                "SYS.SQL_QUERIES_HISTORY.DURATION_MIN.null.19",
+                "SYS.SQL_QUERIES_HISTORY.DURATION_MAX.null.19",
+                "SYS.SQL_QUERIES_HISTORY.LAST_START_TIME.null.26.6",
+                "SYS.SQL_QUERIES.QUERY_ID.null.2147483647",
+                "SYS.SQL_QUERIES.SQL.null.2147483647",
+                "SYS.SQL_QUERIES.SCHEMA_NAME.null.2147483647",
+                "SYS.SQL_QUERIES.LOCAL.null.1",
+                "SYS.SQL_QUERIES.START_TIME.null.26.6",
+                "SYS.SQL_QUERIES.DURATION.null.19",
+                "SYS.SQL_QUERIES.ORIGIN_NODE_ID.null.2147483647",
                 "SYS.SCAN_QUERIES.START_TIME.null.19",
                 "SYS.SCAN_QUERIES.TRANSFORMER.null.2147483647",
                 "SYS.SCAN_QUERIES.LOCAL.null.1",
@@ -832,25 +833,25 @@ public class JdbcThinMetadataSelfTest extends 
JdbcThinAbstractSelfTest {
                 "SYS.VIEW_COLUMNS.DEFAULT_VALUE.null.2147483647",
                 "SYS.VIEW_COLUMNS.SCALE.null.10",
                 "SYS.VIEW_COLUMNS.VIEW_NAME.null.2147483647",
-                "SYS.QUERY_CONTINUOUS.NOTIFY_EXISTING.null.1",
-                "SYS.QUERY_CONTINUOUS.OLD_VALUE_REQUIRED.null.1",
-                "SYS.QUERY_CONTINUOUS.KEEP_BINARY.null.1",
-                "SYS.QUERY_CONTINUOUS.IS_MESSAGING.null.1",
-                "SYS.QUERY_CONTINUOUS.AUTO_UNSUBSCRIBE.null.1",
-                "SYS.QUERY_CONTINUOUS.LAST_SEND_TIME.null.19",
-                
"SYS.QUERY_CONTINUOUS.LOCAL_TRANSFORMED_LISTENER.null.2147483647",
-                "SYS.QUERY_CONTINUOUS.TOPIC.null.2147483647",
-                "SYS.QUERY_CONTINUOUS.BUFFER_SIZE.null.10",
-                "SYS.QUERY_CONTINUOUS.REMOTE_TRANSFORMER.null.2147483647",
-                "SYS.QUERY_CONTINUOUS.DELAYED_REGISTER.null.1",
-                "SYS.QUERY_CONTINUOUS.IS_QUERY.null.1",
-                "SYS.QUERY_CONTINUOUS.NODE_ID.null.2147483647",
-                "SYS.QUERY_CONTINUOUS.INTERVAL.null.19",
-                "SYS.QUERY_CONTINUOUS.IS_EVENTS.null.1",
-                "SYS.QUERY_CONTINUOUS.ROUTINE_ID.null.2147483647",
-                "SYS.QUERY_CONTINUOUS.REMOTE_FILTER.null.2147483647",
-                "SYS.QUERY_CONTINUOUS.CACHE_NAME.null.2147483647",
-                "SYS.QUERY_CONTINUOUS.LOCAL_LISTENER.null.2147483647"
+                "SYS.CONTINUOUS_QUERIES.NOTIFY_EXISTING.null.1",
+                "SYS.CONTINUOUS_QUERIES.OLD_VALUE_REQUIRED.null.1",
+                "SYS.CONTINUOUS_QUERIES.KEEP_BINARY.null.1",
+                "SYS.CONTINUOUS_QUERIES.IS_MESSAGING.null.1",
+                "SYS.CONTINUOUS_QUERIES.AUTO_UNSUBSCRIBE.null.1",
+                "SYS.CONTINUOUS_QUERIES.LAST_SEND_TIME.null.19",
+                
"SYS.CONTINUOUS_QUERIES.LOCAL_TRANSFORMED_LISTENER.null.2147483647",
+                "SYS.CONTINUOUS_QUERIES.TOPIC.null.2147483647",
+                "SYS.CONTINUOUS_QUERIES.BUFFER_SIZE.null.10",
+                "SYS.CONTINUOUS_QUERIES.REMOTE_TRANSFORMER.null.2147483647",
+                "SYS.CONTINUOUS_QUERIES.DELAYED_REGISTER.null.1",
+                "SYS.CONTINUOUS_QUERIES.IS_QUERY.null.1",
+                "SYS.CONTINUOUS_QUERIES.NODE_ID.null.2147483647",
+                "SYS.CONTINUOUS_QUERIES.INTERVAL.null.19",
+                "SYS.CONTINUOUS_QUERIES.IS_EVENTS.null.1",
+                "SYS.CONTINUOUS_QUERIES.ROUTINE_ID.null.2147483647",
+                "SYS.CONTINUOUS_QUERIES.REMOTE_FILTER.null.2147483647",
+                "SYS.CONTINUOUS_QUERIES.CACHE_NAME.null.2147483647",
+                "SYS.CONTINUOUS_QUERIES.LOCAL_LISTENER.null.2147483647"
             ));
 
             Assert.assertEquals(expectedCols, actualSystemCols);
diff --git 
a/modules/codegen/src/main/java/org/apache/ignite/codegen/SystemViewRowAttributeWalkerGenerator.java
 
b/modules/codegen/src/main/java/org/apache/ignite/codegen/SystemViewRowAttributeWalkerGenerator.java
index a04bada..1178a26 100644
--- 
a/modules/codegen/src/main/java/org/apache/ignite/codegen/SystemViewRowAttributeWalkerGenerator.java
+++ 
b/modules/codegen/src/main/java/org/apache/ignite/codegen/SystemViewRowAttributeWalkerGenerator.java
@@ -44,6 +44,8 @@ import 
org.apache.ignite.spi.systemview.view.ContinuousQueryView;
 import org.apache.ignite.spi.systemview.view.ScanQueryView;
 import org.apache.ignite.spi.systemview.view.ServiceView;
 import org.apache.ignite.spi.systemview.view.SqlIndexView;
+import org.apache.ignite.spi.systemview.view.SqlQueryHistoryView;
+import org.apache.ignite.spi.systemview.view.SqlQueryView;
 import org.apache.ignite.spi.systemview.view.SqlSchemaView;
 import org.apache.ignite.spi.systemview.view.SqlTableColumnView;
 import org.apache.ignite.spi.systemview.view.SqlTableView;
@@ -90,6 +92,8 @@ public class SystemViewRowAttributeWalkerGenerator {
         gen.generateAndWrite(ContinuousQueryView.class, DFLT_SRC_DIR);
         gen.generateAndWrite(ClusterNodeView.class, DFLT_SRC_DIR);
         gen.generateAndWrite(ScanQueryView.class, DFLT_SRC_DIR);
+        gen.generateAndWrite(SqlQueryView.class, DFLT_SRC_DIR);
+        gen.generateAndWrite(SqlQueryHistoryView.class, DFLT_SRC_DIR);
 
         gen.generateAndWrite(SqlSchemaView.class, INDEXING_SRC_DIR);
         gen.generateAndWrite(SqlTableView.class, INDEXING_SRC_DIR);
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/systemview/walker/SqlQueryHistoryViewWalker.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/systemview/walker/SqlQueryHistoryViewWalker.java
new file mode 100644
index 0000000..38c99b3
--- /dev/null
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/systemview/walker/SqlQueryHistoryViewWalker.java
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.internal.managers.systemview.walker;
+
+import java.util.Date;
+import org.apache.ignite.spi.systemview.view.SqlQueryHistoryView;
+import org.apache.ignite.spi.systemview.view.SystemViewRowAttributeWalker;
+
+/**
+ * Generated by {@code 
org.apache.ignite.codegen.SystemViewRowAttributeWalkerGenerator}.
+ * {@link SqlQueryHistoryView} attributes walker.
+ * 
+ * @see SqlQueryHistoryView
+ */
+public class SqlQueryHistoryViewWalker implements 
SystemViewRowAttributeWalker<SqlQueryHistoryView> {
+    /** {@inheritDoc} */
+    @Override public void visitAll(AttributeVisitor v) {
+        v.accept(0, "schemaName", String.class);
+        v.accept(1, "sql", String.class);
+        v.accept(2, "local", boolean.class);
+        v.accept(3, "executions", long.class);
+        v.accept(4, "failures", long.class);
+        v.accept(5, "durationMin", long.class);
+        v.accept(6, "durationMax", long.class);
+        v.accept(7, "lastStartTime", Date.class);
+    }
+
+    /** {@inheritDoc} */
+    @Override public void visitAll(SqlQueryHistoryView row, 
AttributeWithValueVisitor v) {
+        v.accept(0, "schemaName", String.class, row.schemaName());
+        v.accept(1, "sql", String.class, row.sql());
+        v.acceptBoolean(2, "local", row.local());
+        v.acceptLong(3, "executions", row.executions());
+        v.acceptLong(4, "failures", row.failures());
+        v.acceptLong(5, "durationMin", row.durationMin());
+        v.acceptLong(6, "durationMax", row.durationMax());
+        v.accept(7, "lastStartTime", Date.class, row.lastStartTime());
+    }
+
+    /** {@inheritDoc} */
+    @Override public int count() {
+        return 8;
+    }
+}
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/systemview/walker/SqlQueryViewWalker.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/systemview/walker/SqlQueryViewWalker.java
new file mode 100644
index 0000000..c7f08bf
--- /dev/null
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/systemview/walker/SqlQueryViewWalker.java
@@ -0,0 +1,58 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.internal.managers.systemview.walker;
+
+import java.util.Date;
+import java.util.UUID;
+import org.apache.ignite.spi.systemview.view.SqlQueryView;
+import org.apache.ignite.spi.systemview.view.SystemViewRowAttributeWalker;
+
+/**
+ * Generated by {@code 
org.apache.ignite.codegen.SystemViewRowAttributeWalkerGenerator}.
+ * {@link SqlQueryView} attributes walker.
+ * 
+ * @see SqlQueryView
+ */
+public class SqlQueryViewWalker implements 
SystemViewRowAttributeWalker<SqlQueryView> {
+    /** {@inheritDoc} */
+    @Override public void visitAll(AttributeVisitor v) {
+        v.accept(0, "queryId", String.class);
+        v.accept(1, "sql", String.class);
+        v.accept(2, "originNodeId", UUID.class);
+        v.accept(3, "startTime", Date.class);
+        v.accept(4, "duration", long.class);
+        v.accept(5, "local", boolean.class);
+        v.accept(6, "schemaName", String.class);
+    }
+
+    /** {@inheritDoc} */
+    @Override public void visitAll(SqlQueryView row, AttributeWithValueVisitor 
v) {
+        v.accept(0, "queryId", String.class, row.queryId());
+        v.accept(1, "sql", String.class, row.sql());
+        v.accept(2, "originNodeId", UUID.class, row.originNodeId());
+        v.accept(3, "startTime", Date.class, row.startTime());
+        v.acceptLong(4, "duration", row.duration());
+        v.acceptBoolean(5, "local", row.local());
+        v.accept(6, "schemaName", String.class, row.schemaName());
+    }
+
+    /** {@inheritDoc} */
+    @Override public int count() {
+        return 7;
+    }
+}
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
index 36d2b22..f6396ca 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/continuous/GridContinuousProcessor.java
@@ -115,7 +115,7 @@ import static 
org.apache.ignite.internal.processors.metric.impl.MetricUtils.metr
  */
 public class GridContinuousProcessor extends GridProcessorAdapter {
     /** */
-    public static final String CQ_SYS_VIEW = metricName("query", "continuous");
+    public static final String CQ_SYS_VIEW = metricName("continuous", 
"queries");
 
     /** */
     public static final String CQ_SYS_VIEW_DESC = "Continuous queries";
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridRunningQueryInfo.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridRunningQueryInfo.java
index 09b40d1..8948b98 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridRunningQueryInfo.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridRunningQueryInfo.java
@@ -64,7 +64,7 @@ public class GridRunningQueryInfo {
      * @param loc Local query flag.
      */
     public GridRunningQueryInfo(
-        Long id,
+        long id,
         UUID nodeId,
         String qry,
         GridCacheQueryType qryType,
@@ -86,7 +86,7 @@ public class GridRunningQueryInfo {
     /**
      * @return Query ID.
      */
-    public Long id() {
+    public long id() {
         return id;
     }
 
@@ -162,4 +162,11 @@ public class GridRunningQueryInfo {
     public boolean local() {
         return loc;
     }
+
+    /**
+     * @return Originating node ID.
+     */
+    public UUID nodeId() {
+        return nodeId;
+    }
 }
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/query/QueryHistoryMetrics.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/query/QueryHistory.java
similarity index 87%
rename from 
modules/core/src/main/java/org/apache/ignite/internal/processors/query/QueryHistoryMetrics.java
rename to 
modules/core/src/main/java/org/apache/ignite/internal/processors/query/QueryHistory.java
index 1d494ac..1e5ec3f 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/query/QueryHistoryMetrics.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/query/QueryHistory.java
@@ -27,16 +27,16 @@ import org.jsr166.ConcurrentLinkedDeque8;
 /**
  * Query history metrics.
  */
-public class QueryHistoryMetrics {
+public class QueryHistory {
     /** Link to internal node in eviction deque. */
     @GridToStringExclude
-    private final 
AtomicReference<ConcurrentLinkedDeque8.Node<QueryHistoryMetrics>> linkRef;
+    private final AtomicReference<ConcurrentLinkedDeque8.Node<QueryHistory>> 
linkRef;
 
     /** Query history metrics immutable wrapper. */
     private volatile QueryHistoryMetricsValue val;
 
     /** Query history metrics group key. */
-    private final QueryHistoryMetricsKey key;
+    private final QueryHistoryKey key;
 
     /**
      * Constructor with metrics.
@@ -48,8 +48,8 @@ public class QueryHistoryMetrics {
      * @param duration Duration of query execution.
      * @param failed {@code True} query executed unsuccessfully {@code false} 
otherwise.
      */
-    public QueryHistoryMetrics(String qry, String schema, boolean loc, long 
startTime, long duration, boolean failed) {
-        key = new QueryHistoryMetricsKey(qry, schema, loc);
+    public QueryHistory(String qry, String schema, boolean loc, long 
startTime, long duration, boolean failed) {
+        key = new QueryHistoryKey(qry, schema, loc);
 
         long failures = failed ? 1 : 0;
 
@@ -61,7 +61,7 @@ public class QueryHistoryMetrics {
     /**
      * @return Metrics group key.
      */
-    public QueryHistoryMetricsKey key() {
+    public QueryHistoryKey key() {
         return key;
     }
 
@@ -71,7 +71,7 @@ public class QueryHistoryMetrics {
      * @param m Other metrics to take into account.
      * @return Aggregated metrics.
      */
-    public QueryHistoryMetrics aggregateWithNew(QueryHistoryMetrics m) {
+    public QueryHistory aggregateWithNew(QueryHistory m) {
         val = new QueryHistoryMetricsValue(
             val.execs() + m.executions(),
             val.failures() + m.failures(),
@@ -151,7 +151,7 @@ public class QueryHistoryMetrics {
     /**
      * @return Link to internal node in eviction deque.
      */
-    @Nullable public ConcurrentLinkedDeque8.Node<QueryHistoryMetrics> link() {
+    @Nullable public ConcurrentLinkedDeque8.Node<QueryHistory> link() {
         return linkRef.get();
     }
 
@@ -162,13 +162,13 @@ public class QueryHistoryMetrics {
      * @param updatedLink New link which should be set.
      * @return {@code true} If link has been updated.
      */
-    public boolean 
replaceLink(ConcurrentLinkedDeque8.Node<QueryHistoryMetrics> expLink,
-        ConcurrentLinkedDeque8.Node<QueryHistoryMetrics> updatedLink) {
+    public boolean replaceLink(ConcurrentLinkedDeque8.Node<QueryHistory> 
expLink,
+        ConcurrentLinkedDeque8.Node<QueryHistory> updatedLink) {
         return linkRef.compareAndSet(expLink, updatedLink);
     }
 
     /** {@inheritDoc} */
     @Override public String toString() {
-        return S.toString(QueryHistoryMetrics.class, this);
+        return S.toString(QueryHistory.class, this);
     }
 }
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/query/QueryHistoryMetricsKey.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/query/QueryHistoryKey.java
similarity index 92%
rename from 
modules/core/src/main/java/org/apache/ignite/internal/processors/query/QueryHistoryMetricsKey.java
rename to 
modules/core/src/main/java/org/apache/ignite/internal/processors/query/QueryHistoryKey.java
index 890c574..7052ff7 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/query/QueryHistoryMetricsKey.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/query/QueryHistoryKey.java
@@ -23,7 +23,7 @@ import org.apache.ignite.internal.util.typedef.F;
 /**
  * Immutable query metrics key used to group metrics.
  */
-public class QueryHistoryMetricsKey {
+public class QueryHistoryKey {
     /** Textual query representation. */
     private final String qry;
 
@@ -43,7 +43,7 @@ public class QueryHistoryMetricsKey {
      * @param schema Schema.
      * @param loc Local flag of execution query.
      */
-    public QueryHistoryMetricsKey(String qry, String schema, boolean loc) {
+    public QueryHistoryKey(String qry, String schema, boolean loc) {
         assert qry != null;
         assert schema != null;
 
@@ -88,7 +88,7 @@ public class QueryHistoryMetricsKey {
         if (o == null || getClass() != o.getClass())
             return false;
 
-        QueryHistoryMetricsKey key = (QueryHistoryMetricsKey)o;
+        QueryHistoryKey key = (QueryHistoryKey)o;
 
         return F.eq(qry, key.qry) && F.eq(schema, key.schema) && F.eq(loc, 
key.loc);
     }
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/query/QueryHistoryTracker.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/query/QueryHistoryTracker.java
index a8bf796..3bb2b26 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/query/QueryHistoryTracker.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/query/QueryHistoryTracker.java
@@ -19,21 +19,21 @@
 package org.apache.ignite.internal.processors.query;
 
 import java.util.Collections;
-import java.util.HashMap;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 import org.apache.ignite.configuration.IgniteConfiguration;
 import org.jsr166.ConcurrentLinkedDeque8;
+import org.jsr166.ConcurrentLinkedDeque8.Node;
 
 /**
  *
  */
 class QueryHistoryTracker {
-    /** Query metrics. */
-    private final ConcurrentHashMap<QueryHistoryMetricsKey, 
QueryHistoryMetrics> qryMetrics;
+    /** Query history. */
+    private final ConcurrentHashMap<QueryHistoryKey, QueryHistory> qryHist;
 
     /** Queue. */
-    private final ConcurrentLinkedDeque8<QueryHistoryMetrics> evictionQueue = 
new ConcurrentLinkedDeque8<>();
+    private final ConcurrentLinkedDeque8<QueryHistory> evictionQueue = new 
ConcurrentLinkedDeque8<>();
 
     /** History size. */
     private final int histSz;
@@ -44,13 +44,13 @@ class QueryHistoryTracker {
     QueryHistoryTracker(int histSz) {
         this.histSz = histSz;
 
-        qryMetrics = histSz > 0 ? new ConcurrentHashMap<>(histSz) : null;
+        qryHist = histSz > 0 ? new ConcurrentHashMap<>(histSz) : null;
     }
 
     /**
      * @param failed {@code True} if query execution failed.
      */
-    void collectMetrics(GridRunningQueryInfo runningQryInfo, boolean failed) {
+    void collectHistory(GridRunningQueryInfo runningQryInfo, boolean failed) {
         if (histSz <= 0)
             return;
 
@@ -60,11 +60,11 @@ class QueryHistoryTracker {
         long startTime = runningQryInfo.startTime();
         long duration = System.currentTimeMillis() - startTime;
 
-        QueryHistoryMetrics m = new QueryHistoryMetrics(qry, schema, loc, 
startTime, duration, failed);
+        QueryHistory hist = new QueryHistory(qry, schema, loc, startTime, 
duration, failed);
 
-        QueryHistoryMetrics mergedMetrics = qryMetrics.merge(m.key(), m, 
QueryHistoryMetrics::aggregateWithNew);
+        QueryHistory mergedHist = qryHist.merge(hist.key(), hist, 
QueryHistory::aggregateWithNew);
 
-        if (touch(mergedMetrics) && qryMetrics.size() > histSz)
+        if (touch(mergedHist) && qryHist.size() > histSz)
             shrink();
     }
 
@@ -72,8 +72,8 @@ class QueryHistoryTracker {
      * @param entry Entry Which was updated
      * @return {@code true} In case entry is new and has been added, {@code 
false} otherwise.
      */
-    private boolean touch(QueryHistoryMetrics entry) {
-        ConcurrentLinkedDeque8.Node<QueryHistoryMetrics> node = entry.link();
+    private boolean touch(QueryHistory entry) {
+        Node<QueryHistory> node = entry.link();
 
         // Entry has not been enqueued yet.
         if (node == null) {
@@ -97,7 +97,7 @@ class QueryHistoryTracker {
         }
         else if (removeLink(node)) {
             // Move node to tail.
-            ConcurrentLinkedDeque8.Node<QueryHistoryMetrics> newNode = 
evictionQueue.offerLastx(entry);
+            Node<QueryHistory> newNode = evictionQueue.offerLastx(entry);
 
             if (!entry.replaceLink(node, newNode)) {
                 // Was concurrently added, need to clear it from queue.
@@ -114,37 +114,37 @@ class QueryHistoryTracker {
      */
     private void shrink() {
         while (true) {
-            QueryHistoryMetrics entry = evictionQueue.poll();
+            QueryHistory entry = evictionQueue.poll();
 
             if (entry == null)
                 return;
 
-            // Metrics has been changed if we can't remove metric entry.
+            // History has been changed if we can't remove history entry.
             // In this case eviction queue already offered by the entry and we 
don't put it back. Just try to do new
             // attempt to remove oldest entry.
-            if (qryMetrics.remove(entry.key(), entry))
+            if (qryHist.remove(entry.key(), entry))
                 return;
         }
     }
 
     /**
-     * @param node Node wchi should be unlinked from eviction queue.
+     * @param node Node which should be unlinked from eviction queue.
      * @return {@code true} If node was unlinked.
      */
-    private boolean 
removeLink(ConcurrentLinkedDeque8.Node<QueryHistoryMetrics> node) {
+    private boolean removeLink(Node<QueryHistory> node) {
         return evictionQueue.unlinkx(node);
     }
 
     /**
-     * Gets SQL query history. Size of history could be configured via {@link
-     * IgniteConfiguration#setSqlQueryHistorySize(int)}
+     * Gets SQL query history. Size of history could be configured via
+     * {@link IgniteConfiguration#setSqlQueryHistorySize(int)}.
      *
      * @return SQL queries history aggregated by query text, schema and local 
flag.
      */
-    Map<QueryHistoryMetricsKey, QueryHistoryMetrics> queryHistoryMetrics() {
+    Map<QueryHistoryKey, QueryHistory> queryHistory() {
         if (histSz <= 0)
             return Collections.emptyMap();
 
-        return new HashMap<>(qryMetrics);
+        return qryHist;
     }
 }
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/query/RunningQueryManager.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/query/RunningQueryManager.java
index ebb2701..ef09627 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/query/RunningQueryManager.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/query/RunningQueryManager.java
@@ -31,15 +31,30 @@ import org.apache.ignite.configuration.IgniteConfiguration;
 import org.apache.ignite.internal.GridKernalContext;
 import org.apache.ignite.internal.processors.cache.query.GridCacheQueryType;
 import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.spi.systemview.view.SqlQueryHistoryView;
+import org.apache.ignite.spi.systemview.view.SqlQueryView;
 import org.jetbrains.annotations.Nullable;
 
 import static 
org.apache.ignite.internal.processors.cache.query.GridCacheQueryType.SQL;
 import static 
org.apache.ignite.internal.processors.cache.query.GridCacheQueryType.SQL_FIELDS;
+import static 
org.apache.ignite.internal.processors.metric.impl.MetricUtils.metricName;
 
 /**
  * Keep information about all running queries.
  */
 public class RunningQueryManager {
+    /** */
+    public static final String SQL_QRY_VIEW = metricName("sql", "queries");
+
+    /** */
+    public static final String SQL_QRY_VIEW_DESC = "Running SQL queries.";
+
+    /** */
+    public static final String SQL_QRY_HIST_VIEW = metricName("sql", 
"queries", "history");
+
+    /** */
+    public static final String SQL_QRY_HIST_VIEW_DESC = "SQL queries history.";
+
     /** Keep registered user queries. */
     private final ConcurrentMap<Long, GridRunningQueryInfo> runs = new 
ConcurrentHashMap<>();
 
@@ -66,6 +81,16 @@ public class RunningQueryManager {
         histSz = ctx.config().getSqlQueryHistorySize();
 
         qryHistTracker = new QueryHistoryTracker(histSz);
+
+        ctx.systemView().registerView(SQL_QRY_VIEW, SQL_QRY_VIEW_DESC,
+            SqlQueryView.class,
+            runs.values(),
+            SqlQueryView::new);
+
+        ctx.systemView().registerView(SQL_QRY_HIST_VIEW, 
SQL_QRY_HIST_VIEW_DESC,
+            SqlQueryHistoryView.class,
+            qryHistTracker.queryHistory().values(),
+            SqlQueryHistoryView::new);
     }
 
     /**
@@ -80,7 +105,7 @@ public class RunningQueryManager {
      */
     public Long register(String qry, GridCacheQueryType qryType, String 
schemaName, boolean loc,
         @Nullable GridQueryCancel cancel) {
-        Long qryId = qryIdGen.incrementAndGet();
+        long qryId = qryIdGen.incrementAndGet();
 
         GridRunningQueryInfo run = new GridRunningQueryInfo(
             qryId,
@@ -116,7 +141,7 @@ public class RunningQueryManager {
         if (qry != null && isSqlQuery(qry)) {
             qry.runningFuture().onDone();
 
-            qryHistTracker.collectMetrics(qry, failed);
+            qryHistTracker.collectHistory(qry, failed);
         }
     }
 
@@ -203,8 +228,8 @@ public class RunningQueryManager {
      *
      * @return Queries history statistics aggregated by query text, schema and 
local flag.
      */
-    public Map<QueryHistoryMetricsKey, QueryHistoryMetrics> 
queryHistoryMetrics() {
-        return qryHistTracker.queryHistoryMetrics();
+    public Map<QueryHistoryKey, QueryHistory> queryHistoryMetrics() {
+        return qryHistTracker.queryHistory();
     }
 
     /**
@@ -217,7 +242,7 @@ public class RunningQueryManager {
     }
 
     /**
-     * Reset query history metrics.
+     * Reset query history.
      */
     public void resetQueryHistoryMetrics() {
         qryHistTracker = new QueryHistoryTracker(histSz);
diff --git 
a/modules/core/src/main/java/org/apache/ignite/spi/systemview/view/SqlQueryHistoryView.java
 
b/modules/core/src/main/java/org/apache/ignite/spi/systemview/view/SqlQueryHistoryView.java
new file mode 100644
index 0000000..588e148
--- /dev/null
+++ 
b/modules/core/src/main/java/org/apache/ignite/spi/systemview/view/SqlQueryHistoryView.java
@@ -0,0 +1,85 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.spi.systemview.view;
+
+import java.util.Date;
+import org.apache.ignite.internal.managers.systemview.walker.Order;
+import org.apache.ignite.internal.processors.query.QueryHistory;
+
+/**
+ * SQL query history representation for a {@link SystemView}.
+ */
+public class SqlQueryHistoryView {
+    /** Query history item. */
+    private final QueryHistory qry;
+
+    /**
+     * @param qry Query history item.
+     */
+    public SqlQueryHistoryView(QueryHistory qry) {
+        this.qry = qry;
+    }
+
+    /** @return Schema name. */
+    @Order
+    public String schemaName() {
+        return qry.schema();
+    }
+
+    /** @return Query text. */
+    @Order(1)
+    public String sql() {
+        return qry.query();
+    }
+
+    /** @return {@code True} if query local. */
+    @Order(2)
+    public boolean local() {
+        return qry.local();
+    }
+
+    /** @return Number of executions of the query. */
+    @Order(3)
+    public long executions() {
+        return qry.executions();
+    }
+
+    /** @return Number of failed execution of the query. */
+    @Order(4)
+    public long failures() {
+        return qry.failures();
+    }
+
+    /** @return Minimal query duration. */
+    @Order(5)
+    public long durationMin() {
+        return qry.minimumTime();
+    }
+
+    /** @return Maximum query duration. */
+    @Order(6)
+    public long durationMax() {
+        return qry.maximumTime();
+    }
+
+    /** @return Last start time. */
+    @Order(7)
+    public Date lastStartTime() {
+        return new Date(qry.lastStartTime());
+    }
+}
diff --git 
a/modules/core/src/main/java/org/apache/ignite/spi/systemview/view/SqlQueryView.java
 
b/modules/core/src/main/java/org/apache/ignite/spi/systemview/view/SqlQueryView.java
new file mode 100644
index 0000000..ece63f8
--- /dev/null
+++ 
b/modules/core/src/main/java/org/apache/ignite/spi/systemview/view/SqlQueryView.java
@@ -0,0 +1,79 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.spi.systemview.view;
+
+import java.util.Date;
+import java.util.UUID;
+import org.apache.ignite.internal.managers.systemview.walker.Order;
+import org.apache.ignite.internal.processors.query.GridRunningQueryInfo;
+import org.apache.ignite.internal.util.typedef.internal.U;
+
+/**
+ * SQL query representation for a {@link SystemView}.
+ */
+public class SqlQueryView {
+    /** Query. */
+    private final GridRunningQueryInfo qry;
+
+    /**
+     * @param qry Query.
+     */
+    public SqlQueryView(GridRunningQueryInfo qry) {
+        this.qry = qry;
+    }
+
+    /** @return Origin query node. */
+    @Order(2)
+    public UUID originNodeId() {
+        return qry.nodeId();
+    }
+
+    /** @return Query ID. */
+    @Order
+    public String queryId() {
+        return qry.globalQueryId();
+    }
+
+    /** @return Query text. */
+    @Order(1)
+    public String sql() {
+        return qry.query();
+    }
+
+    /** @return Schema name. */
+    public String schemaName() {
+        return qry.schemaName();
+    }
+
+    /** @return Query start time. */
+    @Order(3)
+    public Date startTime() {
+        return new Date(qry.startTime());
+    }
+
+    /** @return Query duration. */
+    @Order(4)
+    public long duration() {
+        return U.currentTimeMillis() - qry.startTime();
+    }
+
+    /** @return {@code True} if query is local. */
+    public boolean local() {
+        return qry.local();
+    }
+}
diff --git 
a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
 
b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
index 0e3a0e8..63b39e6 100644
--- 
a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
+++ 
b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
@@ -53,14 +53,16 @@ import org.apache.ignite.events.EventType;
 import org.apache.ignite.internal.GridKernalContext;
 import org.apache.ignite.internal.GridTopic;
 import org.apache.ignite.internal.IgniteInternalFuture;
-import 
org.apache.ignite.internal.cluster.ClusterTopologyServerNotFoundException;
 import org.apache.ignite.internal.cluster.ClusterReadOnlyModeCheckedException;
+import 
org.apache.ignite.internal.cluster.ClusterTopologyServerNotFoundException;
 import org.apache.ignite.internal.managers.IgniteMBeansManager;
 import org.apache.ignite.internal.managers.communication.GridMessageListener;
 import org.apache.ignite.internal.managers.eventstorage.GridLocalEventListener;
-import 
org.apache.ignite.internal.managers.systemview.walker.SqlTableColumnViewWalker;
 import 
org.apache.ignite.internal.managers.systemview.walker.SqlIndexViewWalker;
+import 
org.apache.ignite.internal.managers.systemview.walker.SqlQueryHistoryViewWalker;
+import 
org.apache.ignite.internal.managers.systemview.walker.SqlQueryViewWalker;
 import 
org.apache.ignite.internal.managers.systemview.walker.SqlSchemaViewWalker;
+import 
org.apache.ignite.internal.managers.systemview.walker.SqlTableColumnViewWalker;
 import 
org.apache.ignite.internal.managers.systemview.walker.SqlTableViewWalker;
 import 
org.apache.ignite.internal.managers.systemview.walker.SqlViewColumnViewWalker;
 import org.apache.ignite.internal.managers.systemview.walker.SqlViewViewWalker;
@@ -99,8 +101,8 @@ import 
org.apache.ignite.internal.processors.cache.query.RegisteredQueryCursor;
 import 
org.apache.ignite.internal.processors.cache.transactions.IgniteTxAdapter;
 import org.apache.ignite.internal.processors.cache.tree.CacheDataTree;
 import org.apache.ignite.internal.processors.odbc.SqlStateCode;
-import org.apache.ignite.internal.processors.query.ColumnInformation;
 import org.apache.ignite.internal.processors.odbc.jdbc.JdbcParameterMeta;
+import org.apache.ignite.internal.processors.query.ColumnInformation;
 import org.apache.ignite.internal.processors.query.EnlistOperation;
 import 
org.apache.ignite.internal.processors.query.GridQueryCacheObjectsIterator;
 import org.apache.ignite.internal.processors.query.GridQueryCancel;
@@ -183,9 +185,11 @@ import 
org.apache.ignite.plugin.security.SecurityPermission;
 import org.apache.ignite.resources.LoggerResource;
 import org.apache.ignite.spi.indexing.IndexingQueryFilter;
 import org.apache.ignite.spi.indexing.IndexingQueryFilterImpl;
-import org.apache.ignite.spi.systemview.view.SqlTableColumnView;
 import org.apache.ignite.spi.systemview.view.SqlIndexView;
+import org.apache.ignite.spi.systemview.view.SqlQueryHistoryView;
+import org.apache.ignite.spi.systemview.view.SqlQueryView;
 import org.apache.ignite.spi.systemview.view.SqlSchemaView;
+import org.apache.ignite.spi.systemview.view.SqlTableColumnView;
 import org.apache.ignite.spi.systemview.view.SqlTableView;
 import org.apache.ignite.spi.systemview.view.SqlViewColumnView;
 import org.apache.ignite.spi.systemview.view.SqlViewView;
@@ -2070,6 +2074,8 @@ public class IgniteH2Indexing implements 
GridQueryIndexing {
         ctx.systemView().registerWalker(SqlIndexView.class, new 
SqlIndexViewWalker());
         ctx.systemView().registerWalker(SqlTableColumnView.class, new 
SqlTableColumnViewWalker());
         ctx.systemView().registerWalker(SqlViewColumnView.class, new 
SqlViewColumnViewWalker());
+        ctx.systemView().registerWalker(SqlQueryView.class, new 
SqlQueryViewWalker());
+        ctx.systemView().registerWalker(SqlQueryHistoryView.class, new 
SqlQueryHistoryViewWalker());
 
         partReservationMgr = new PartitionReservationManager(ctx);
 
diff --git 
a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/SchemaManager.java
 
b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/SchemaManager.java
index 59120d0..a641fe0 100644
--- 
a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/SchemaManager.java
+++ 
b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/SchemaManager.java
@@ -55,15 +55,13 @@ import 
org.apache.ignite.internal.processors.query.h2.sys.view.SqlSystemViewBase
 import 
org.apache.ignite.internal.processors.query.h2.sys.view.SqlSystemViewCacheGroupsIOStatistics;
 import 
org.apache.ignite.internal.processors.query.h2.sys.view.SqlSystemViewNodeAttributes;
 import 
org.apache.ignite.internal.processors.query.h2.sys.view.SqlSystemViewNodeMetrics;
-import 
org.apache.ignite.internal.processors.query.h2.sys.view.SqlSystemViewQueryHistoryMetrics;
-import 
org.apache.ignite.internal.processors.query.h2.sys.view.SqlSystemViewRunningQueries;
 import 
org.apache.ignite.internal.processors.query.schema.SchemaIndexCacheVisitor;
 import org.apache.ignite.internal.util.GridConcurrentHashSet;
 import org.apache.ignite.internal.util.typedef.F;
 import org.apache.ignite.internal.util.typedef.internal.U;
-import org.apache.ignite.spi.systemview.view.SqlTableColumnView;
 import org.apache.ignite.spi.systemview.view.SqlIndexView;
 import org.apache.ignite.spi.systemview.view.SqlSchemaView;
+import org.apache.ignite.spi.systemview.view.SqlTableColumnView;
 import org.apache.ignite.spi.systemview.view.SqlTableView;
 import org.apache.ignite.spi.systemview.view.SqlViewColumnView;
 import org.apache.ignite.spi.systemview.view.SqlViewView;
@@ -258,8 +256,6 @@ public class SchemaManager {
         views.add(new SqlSystemViewBaselineNodes(ctx));
         views.add(new SqlSystemViewNodeMetrics(ctx));
         views.add(new SqlSystemViewCacheGroupsIOStatistics(ctx));
-        views.add(new SqlSystemViewRunningQueries(ctx));
-        views.add(new SqlSystemViewQueryHistoryMetrics(ctx));
 
         return views;
     }
diff --git 
a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sys/view/SqlSystemViewQueryHistoryMetrics.java
 
b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sys/view/SqlSystemViewQueryHistoryMetrics.java
deleted file mode 100644
index 98d84f4..0000000
--- 
a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sys/view/SqlSystemViewQueryHistoryMetrics.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package org.apache.ignite.internal.processors.query.h2.sys.view;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import org.apache.ignite.internal.GridKernalContext;
-import org.apache.ignite.internal.processors.query.QueryHistoryMetrics;
-import org.apache.ignite.internal.processors.query.QueryHistoryMetricsKey;
-import org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing;
-import org.h2.engine.Session;
-import org.h2.result.Row;
-import org.h2.result.SearchRow;
-import org.h2.value.Value;
-
-/**
- * View that contains query history statistics on local node.
- */
-public class SqlSystemViewQueryHistoryMetrics extends 
SqlAbstractLocalSystemView {
-
-   /**
-     * Creates view with columns.
-     *
-     * @param ctx kernal context.
-     */
-    public SqlSystemViewQueryHistoryMetrics(GridKernalContext ctx) {
-        super("LOCAL_SQL_QUERY_HISTORY", "Ignite SQL query history metrics", 
ctx,
-            newColumn("SCHEMA_NAME"),
-            newColumn("SQL"),
-            newColumn("LOCAL", Value.BOOLEAN),
-            newColumn("EXECUTIONS", Value.LONG),
-            newColumn("FAILURES", Value.LONG),
-            newColumn("DURATION_MIN", Value.LONG),
-            newColumn("DURATION_MAX", Value.LONG),
-            newColumn("LAST_START_TIME", Value.TIMESTAMP)
-        );
-
-    }
-
-    /** {@inheritDoc} */
-    @Override public Iterator<Row> getRows(Session ses, SearchRow first, 
SearchRow last) {
-        Map<QueryHistoryMetricsKey, QueryHistoryMetrics> qryHistMetrics =
-            
((IgniteH2Indexing)ctx.query().getIndexing()).runningQueryManager().queryHistoryMetrics();
-
-        List<Row> rows = new ArrayList<>();
-
-        qryHistMetrics.values().forEach(m -> {
-            Object[] data = new Object[] {
-                m.schema(),
-                m.query(),
-                m.local(),
-                m.executions(),
-                m.failures(),
-                m.minimumTime(),
-                m.maximumTime(),
-                valueTimestampFromMillis(m.lastStartTime()),
-            };
-
-            rows.add(createRow(ses, data));
-        });
-
-        return rows.iterator();
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean canGetRowCount() {
-        return true;
-    }
-
-    /** {@inheritDoc} */
-    @Override public long getRowCount() {
-        return 
((IgniteH2Indexing)ctx.query().getIndexing()).runningQueryManager().queryHistoryMetrics().size();
-    }
-}
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
deleted file mode 100644
index d692be9..0000000
--- 
a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/sys/view/SqlSystemViewRunningQueries.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package org.apache.ignite.internal.processors.query.h2.sys.view;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import org.apache.ignite.internal.GridKernalContext;
-import org.apache.ignite.internal.processors.query.GridRunningQueryInfo;
-import org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing;
-import org.h2.engine.Session;
-import org.h2.result.Row;
-import org.h2.result.SearchRow;
-import org.h2.value.Value;
-
-/**
- * System view: running queries
- */
-public class SqlSystemViewRunningQueries extends SqlAbstractLocalSystemView {
-    /**
-     * @param ctx Grid context.
-     */
-    public SqlSystemViewRunningQueries(GridKernalContext ctx) {
-        super("LOCAL_SQL_RUNNING_QUERIES", "Running queries", ctx, new 
String[] {"QUERY_ID"},
-            newColumn("QUERY_ID"),
-            newColumn("SQL"),
-            newColumn("SCHEMA_NAME"),
-            newColumn("LOCAL", Value.BOOLEAN),
-            newColumn("START_TIME", Value.TIMESTAMP),
-            newColumn("DURATION", Value.LONG)
-        );
-    }
-
-    /** {@inheritDoc} */
-    @Override public Iterator<Row> getRows(Session ses, SearchRow first, 
SearchRow last) {
-        SqlSystemViewColumnCondition qryIdCond = 
conditionForColumn("QUERY_ID", first, last);
-
-        List<GridRunningQueryInfo> runningSqlQueries = 
((IgniteH2Indexing)ctx.query().getIndexing()).runningSqlQueries();
-
-        if (qryIdCond.isEquality()) {
-            String qryId = qryIdCond.valueForEquality().getString();
-
-            runningSqlQueries = runningSqlQueries.stream()
-                .filter((r) -> r.globalQueryId().equals(qryId))
-                .findFirst()
-                .map(Collections::singletonList)
-                .orElse(Collections.emptyList());
-        }
-
-        if (runningSqlQueries.isEmpty())
-            return Collections.emptyIterator();
-
-        long now = System.currentTimeMillis();
-
-        List<Row> rows = new ArrayList<>(runningSqlQueries.size());
-
-        for (GridRunningQueryInfo info : runningSqlQueries) {
-            long duration = now - info.startTime();
-
-            rows.add(
-                createRow(ses,
-                    info.globalQueryId(),
-                    info.query(),
-                    info.schemaName(),
-                    info.local(),
-                    valueTimestampFromMillis(info.startTime()),
-                    duration
-                )
-            );
-        }
-
-        return rows.iterator();
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean canGetRowCount() {
-        return true;
-    }
-
-    /** {@inheritDoc} */
-    @Override public long getRowCount() {
-        return 
((IgniteH2Indexing)ctx.query().getIndexing()).runningSqlQueries().size();
-    }
-}
diff --git 
a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/metric/SqlViewExporterSpiTest.java
 
b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/metric/SqlViewExporterSpiTest.java
index 9dec659..bd64a7b 100644
--- 
a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/metric/SqlViewExporterSpiTest.java
+++ 
b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/metric/SqlViewExporterSpiTest.java
@@ -397,14 +397,14 @@ public class SqlViewExporterSpiTest extends 
AbstractExporterSpiTest {
             "CACHE_GROUPS",
             "CACHES",
             "TASKS",
-            "LOCAL_SQL_QUERY_HISTORY",
+            "SQL_QUERIES_HISTORY",
             "NODES",
             "SCHEMAS",
             "NODE_METRICS",
             "BASELINE_NODES",
             "INDEXES",
             "LOCAL_CACHE_GROUPS_IO",
-            "LOCAL_SQL_RUNNING_QUERIES",
+            "SQL_QUERIES",
             "SCAN_QUERIES",
             "NODE_ATTRIBUTES",
             "TABLES",
@@ -413,7 +413,7 @@ public class SqlViewExporterSpiTest extends 
AbstractExporterSpiTest {
             "TABLE_COLUMNS",
             "VIEW_COLUMNS",
             "TRANSACTIONS",
-            "QUERY_CONTINUOUS"
+            "CONTINUOUS_QUERIES"
         ));
 
         Set<String> actViews = new HashSet<>();
@@ -528,8 +528,8 @@ public class SqlViewExporterSpiTest extends 
AbstractExporterSpiTest {
     public void testContinuousQuery() throws Exception {
         IgniteCache<Integer, Integer> cache = ignite0.createCache("cache-1");
 
-        assertTrue(execute(ignite0, "SELECT * FROM 
SYS.QUERY_CONTINUOUS").isEmpty());
-        assertTrue(execute(ignite1, "SELECT * FROM 
SYS.QUERY_CONTINUOUS").isEmpty());
+        assertTrue(execute(ignite0, "SELECT * FROM 
SYS.CONTINUOUS_QUERIES").isEmpty());
+        assertTrue(execute(ignite1, "SELECT * FROM 
SYS.CONTINUOUS_QUERIES").isEmpty());
 
         try (QueryCursor qry = cache.query(new ContinuousQuery<>()
             .setInitialQuery(new ScanQuery<>())
@@ -547,8 +547,8 @@ public class SqlViewExporterSpiTest extends 
AbstractExporterSpiTest {
             checkContinuouQueryView(ignite1, false);
         }
 
-        assertTrue(execute(ignite0, "SELECT * FROM 
SYS.QUERY_CONTINUOUS").isEmpty());
-        assertTrue(execute(ignite1, "SELECT * FROM 
SYS.QUERY_CONTINUOUS").isEmpty());
+        assertTrue(execute(ignite0, "SELECT * FROM 
SYS.CONTINUOUS_QUERIES").isEmpty());
+        assertTrue(execute(ignite1, "SELECT * FROM 
SYS.CONTINUOUS_QUERIES").isEmpty());
     }
 
     /** */
@@ -563,7 +563,7 @@ public class SqlViewExporterSpiTest extends 
AbstractExporterSpiTest {
             "  REMOTE_FILTER, " +
             "  LOCAL_TRANSFORMED_LISTENER, " +
             "  REMOTE_TRANSFORMER " +
-            "FROM SYS.QUERY_CONTINUOUS");
+            "FROM SYS.CONTINUOUS_QUERIES");
 
         assertEquals(1, qrys.size());
 
diff --git 
a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/SqlQueryHistorySelfTest.java
 
b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/SqlQueryHistorySelfTest.java
index 5c10d68..a4327d6 100644
--- 
a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/SqlQueryHistorySelfTest.java
+++ 
b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/SqlQueryHistorySelfTest.java
@@ -200,12 +200,12 @@ public class SqlQueryHistorySelfTest extends 
GridCommonAbstractTest {
 
         // Check that collected metrics contains correct items: metrics for 
last N queries.
 
-        Collection<QueryHistoryMetrics> metrics = 
((IgniteH2Indexing)queryNode().context().query().getIndexing())
+        Collection<QueryHistory> metrics = 
((IgniteH2Indexing)queryNode().context().query().getIndexing())
             .runningQueryManager().queryHistoryMetrics().values();
 
         assertEquals(QUERY_HISTORY_SIZE, metrics.size());
 
-        Set<String> qries = 
metrics.stream().map(QueryHistoryMetrics::query).collect(Collectors.toSet());
+        Set<String> qries = 
metrics.stream().map(QueryHistory::query).collect(Collectors.toSet());
 
         for (int i = 0; i < cmds.size(); i++)
             assertTrue(qries.contains(cmds.get(QUERY_HISTORY_SIZE - 1 - i)));
@@ -291,12 +291,12 @@ public class SqlQueryHistorySelfTest extends 
GridCommonAbstractTest {
             checkMetrics(QUERY_HISTORY_SIZE, i, 1, 0, false);
 
         // Check that collected metrics contains correct items: metrics for 
last N queries.
-        Collection<QueryHistoryMetrics> metrics = 
((IgniteH2Indexing)queryNode().context().query().getIndexing())
+        Collection<QueryHistory> metrics = 
((IgniteH2Indexing)queryNode().context().query().getIndexing())
             .runningQueryManager().queryHistoryMetrics().values();
 
         assertEquals(QUERY_HISTORY_SIZE, metrics.size());
 
-        Set<String> qries = 
metrics.stream().map(QueryHistoryMetrics::query).collect(Collectors.toSet());
+        Set<String> qries = 
metrics.stream().map(QueryHistory::query).collect(Collectors.toSet());
 
         assertTrue(qries.contains("SELECT \"A\".\"STRING\"._KEY, 
\"A\".\"STRING\"._VAL from String"));
         assertTrue(qries.contains("select * from String limit 2"));
@@ -423,7 +423,7 @@ public class SqlQueryHistorySelfTest extends 
GridCommonAbstractTest {
     private void checkMetrics(int sz, int idx, int execs, int failures,
         boolean first) {
 
-        Collection<QueryHistoryMetrics> metrics = 
((IgniteH2Indexing)queryNode().context().query().getIndexing())
+        Collection<QueryHistory> metrics = 
((IgniteH2Indexing)queryNode().context().query().getIndexing())
             .runningQueryManager().queryHistoryMetrics().values();
 
         assertNotNull(metrics);
@@ -432,7 +432,7 @@ public class SqlQueryHistorySelfTest extends 
GridCommonAbstractTest {
         if (sz == 0)
             return;
 
-        QueryHistoryMetrics m = new ArrayList<>(metrics).get(idx);
+        QueryHistory m = new ArrayList<>(metrics).get(idx);
 
         info("Metrics: " + m);
 
@@ -564,7 +564,7 @@ public class SqlQueryHistorySelfTest extends 
GridCommonAbstractTest {
      */
     private void waitingFor(final String cond, final int exp) throws 
IgniteInterruptedCheckedException {
         GridTestUtils.waitForCondition(() -> {
-            Collection<QueryHistoryMetrics> metrics = 
((IgniteH2Indexing)queryNode().context().query().getIndexing())
+            Collection<QueryHistory> metrics = 
((IgniteH2Indexing)queryNode().context().query().getIndexing())
                 .runningQueryManager().queryHistoryMetrics().values();
 
             switch (cond) {
@@ -574,7 +574,7 @@ public class SqlQueryHistorySelfTest extends 
GridCommonAbstractTest {
                 case "executions":
                     int executions = 0;
 
-                    for (QueryHistoryMetrics m : metrics)
+                    for (QueryHistory m : metrics)
                         executions += m.executions();
 
                     return executions == exp;
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 ae992be..e762d9f 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
@@ -409,7 +409,7 @@ public class SqlSystemViewsSelfTest extends 
AbstractIndexingCommonTest {
             "Exception calling user-defined function");
 
         String sqlHist = "SELECT SCHEMA_NAME, SQL, LOCAL, EXECUTIONS, 
FAILURES, DURATION_MIN, DURATION_MAX, LAST_START_TIME " +
-            "FROM " + systemSchemaName() + ".LOCAL_SQL_QUERY_HISTORY ORDER BY 
LAST_START_TIME";
+            "FROM " + systemSchemaName() + ".SQL_QUERIES_HISTORY ORDER BY 
LAST_START_TIME";
 
         cache.query(new SqlFieldsQuery(sqlHist).setLocal(true)).getAll();
         cache.query(new SqlFieldsQuery(sqlHist).setLocal(true)).getAll();
@@ -469,7 +469,7 @@ public class SqlSystemViewsSelfTest extends 
AbstractIndexingCommonTest {
         cache.put(100,"200");
 
         String sql = "SELECT SQL, QUERY_ID, SCHEMA_NAME, LOCAL, START_TIME, 
DURATION FROM " +
-            systemSchemaName() + ".LOCAL_SQL_RUNNING_QUERIES";
+            systemSchemaName() + ".SQL_QUERIES";
 
         FieldsQueryCursor notClosedFieldQryCursor = cache.query(new 
SqlFieldsQuery(sql).setLocal(true));
 
@@ -536,15 +536,15 @@ public class SqlSystemViewsSelfTest extends 
AbstractIndexingCommonTest {
 
         notClosedQryCursor.close();
 
-        sql = "SELECT SQL, QUERY_ID FROM " + systemSchemaName() + 
".LOCAL_SQL_RUNNING_QUERIES WHERE QUERY_ID='" + qryPrefix + "7'";
+        sql = "SELECT SQL, QUERY_ID FROM " + systemSchemaName() + 
".SQL_QUERIES WHERE QUERY_ID='" + qryPrefix + "7'";
 
         assertEquals(qryPrefix + "7", ((List<?>)cache.query(new 
SqlFieldsQuery(sql)).getAll().get(0)).get(1));
 
-        sql = "SELECT SQL FROM " + systemSchemaName() + 
".LOCAL_SQL_RUNNING_QUERIES WHERE DURATION > 100000";
+        sql = "SELECT SQL FROM " + systemSchemaName() + ".SQL_QUERIES WHERE 
DURATION > 100000";
 
         assertTrue(cache.query(new SqlFieldsQuery(sql)).getAll().isEmpty());
 
-        sql = "SELECT SQL FROM " + systemSchemaName() + 
".LOCAL_SQL_RUNNING_QUERIES WHERE QUERY_ID='UNKNOWN'";
+        sql = "SELECT SQL FROM " + systemSchemaName() + ".SQL_QUERIES WHERE 
QUERY_ID='UNKNOWN'";
 
         assertTrue(cache.query(new SqlFieldsQuery(sql)).getAll().isEmpty());
     }

Reply via email to