You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ag...@apache.org on 2017/10/09 14:48:43 UTC
[48/50] [abbrv] ignite git commit: IGNITE-6287 Web Console: Improved
DDL support: added checkbox "Use selected cache as default schema name".
IGNITE-6287 Web Console: Improved DDL support: added checkbox "Use selected cache as default schema name".
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/a45677cf
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/a45677cf
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/a45677cf
Branch: refs/heads/ignite-6305
Commit: a45677cf0b6b6ffa524fc10932c002d3b879f943
Parents: dc514c7
Author: Vasiliy Sisko <vs...@gridgain.com>
Authored: Mon Oct 9 19:23:23 2017 +0700
Committer: Alexey Kuznetsov <ak...@apache.org>
Committed: Mon Oct 9 19:23:23 2017 +0700
----------------------------------------------------------------------
.../ignite/internal/visor/query/VisorQueryTask.java | 15 +--------------
modules/web-console/backend/app/mongo.js | 1 +
.../frontend/app/modules/sql/sql.controller.js | 14 +++++++++++++-
.../frontend/public/stylesheets/style.scss | 8 ++++++++
modules/web-console/frontend/views/sql/sql.tpl.pug | 10 ++++++++++
5 files changed, 33 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/a45677cf/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryTask.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryTask.java
index a3668c8..933bacc 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryTask.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryTask.java
@@ -99,20 +99,7 @@ public class VisorQueryTask extends VisorOneNodeTask<VisorQueryTaskArg, VisorEit
if (c == null)
throw new SQLException("Fail to execute query. Cache not found: " + cacheName);
- try {
- qryCursor = c.withKeepBinary().query(qry);
- }
- catch (CacheException e) {
- // Work around for DDL without explicit schema name.
- if (X.hasCause(e, IgniteSQLException.class)
- && e.getMessage().contains("can only be executed on PUBLIC schema")) {
- qry.setSchema("PUBLIC");
-
- qryCursor = c.withKeepBinary().query(qry);
- }
- else
- throw e;
- }
+ qryCursor = c.withKeepBinary().query(qry);
}
VisorQueryCursor<List<?>> cur = new VisorQueryCursor<>(qryCursor);
http://git-wip-us.apache.org/repos/asf/ignite/blob/a45677cf/modules/web-console/backend/app/mongo.js
----------------------------------------------------------------------
diff --git a/modules/web-console/backend/app/mongo.js b/modules/web-console/backend/app/mongo.js
index ecc833f..a07f979 100644
--- a/modules/web-console/backend/app/mongo.js
+++ b/modules/web-console/backend/app/mongo.js
@@ -1036,6 +1036,7 @@ module.exports.factory = function(passportMongo, settings, pluginMongo, mongoose
maxPages: Number,
hideSystemColumns: Boolean,
cacheName: String,
+ useAsDefaultSchema: Boolean,
chartsOptions: {barChart: {stacked: Boolean}, areaChart: {style: String}},
rate: {
value: Number,
http://git-wip-us.apache.org/repos/asf/ignite/blob/a45677cf/modules/web-console/frontend/app/modules/sql/sql.controller.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/sql/sql.controller.js b/modules/web-console/frontend/app/modules/sql/sql.controller.js
index 8011b0f..a3fc0ca 100644
--- a/modules/web-console/frontend/app/modules/sql/sql.controller.js
+++ b/modules/web-console/frontend/app/modules/sql/sql.controller.js
@@ -32,6 +32,8 @@ const ENFORCE_JOIN_SINCE = [['1.7.9', '1.8.0'], ['1.8.4', '1.9.0'], '1.9.1'];
const LAZY_QUERY_SINCE = [['2.1.4-p1', '2.2.0'], '2.2.1'];
+const DDL_SINCE = [['2.1.6', '2.2.0'], '2.3.0'];
+
const _fullColName = (col) => {
const res = [];
@@ -56,6 +58,7 @@ class Paragraph {
self.qryType = paragraph.qryType || 'query';
self.maxPages = 0;
self.filter = '';
+ self.useAsDefaultSchema = false;
_.assign(this, paragraph);
@@ -1381,6 +1384,15 @@ export default ['$rootScope', '$scope', '$http', '$q', '$timeout', '$interval',
return false;
};
+ $scope.ddlAvailable = (paragraph) => {
+ const cache = _.find($scope.caches, {name: paragraph.cacheName});
+
+ if (cache)
+ return !!_.find(cache.nodes, (node) => Version.since(node.version, ...DDL_SINCE));
+
+ return false;
+ };
+
$scope.execute = (paragraph, local = false) => {
const nonCollocatedJoins = !!paragraph.nonCollocatedJoins;
const enforceJoinOrder = !!paragraph.enforceJoinOrder;
@@ -1399,7 +1411,7 @@ export default ['$rootScope', '$scope', '$http', '$q', '$timeout', '$interval',
.then(() => {
const args = paragraph.queryArgs = {
type: 'QUERY',
- cacheName: paragraph.cacheName,
+ cacheName: ($scope.ddlAvailable(paragraph) && !paragraph.useAsDefaultSchema) ? null : paragraph.cacheName,
query: paragraph.query,
pageSize: paragraph.pageSize,
maxPages: paragraph.maxPages,
http://git-wip-us.apache.org/repos/asf/ignite/blob/a45677cf/modules/web-console/frontend/public/stylesheets/style.scss
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/public/stylesheets/style.scss b/modules/web-console/frontend/public/stylesheets/style.scss
index eeb3a55..b259f1d 100644
--- a/modules/web-console/frontend/public/stylesheets/style.scss
+++ b/modules/web-console/frontend/public/stylesheets/style.scss
@@ -304,6 +304,14 @@ body > .wrapper > ui-view {
}
}
+.use-cache {
+ display: flex;
+
+ input[type="checkbox"] {
+ width: 20px;
+ }
+}
+
.group-section {
margin-top: 20px;
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/a45677cf/modules/web-console/frontend/views/sql/sql.tpl.pug
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/views/sql/sql.tpl.pug b/modules/web-console/frontend/views/sql/sql.tpl.pug
index 724c53c..7ee966d 100644
--- a/modules/web-console/frontend/views/sql/sql.tpl.pug
+++ b/modules/web-console/frontend/views/sql/sql.tpl.pug
@@ -240,6 +240,16 @@ mixin paragraph-query
td(style='width: 100%')
input.labelField(id='cache_{{ [paragraph.id, $index].join("_") }}' type='radio' value='{{cache.name}}' ng-model='paragraph.cacheName')
label(for='cache_{{ [paragraph.id, $index].join("_") }} ' ng-bind-html='cache.label')
+ .settings-row
+ .row(ng-if='ddlAvailable(paragraph)')
+ label.tipLabel.use-cache(bs-tooltip data-placement='bottom'
+ data-title=
+ 'Use selected cache as default schema name.<br/>\
+ This will allow to execute query on specified cache without specify schema name.<br/>\
+ <b>NOTE:</b> In future version of Ignite this feature will be removed.'
+ data-trigger='hover')
+ input(type='checkbox' ng-model='paragraph.useAsDefaultSchema')
+ span Use selected cache as default schema name
.empty-caches(ng-show='displayedCaches.length == 0 && caches.length != 0')
label Wrong caches filter
.empty-caches(ng-show='caches.length == 0')