Repository: ignite Updated Branches: refs/heads/ignite-843-rc1 952dcd9fe -> 336d8a1e3
IGNITE-1769 Close the current query on server-side when user start new one Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/336d8a1e Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/336d8a1e Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/336d8a1e Branch: refs/heads/ignite-843-rc1 Commit: 336d8a1e30c4e2ff5d663aef576d8c53f303f5d0 Parents: 952dcd9 Author: Andrey <[email protected]> Authored: Mon Oct 26 12:32:24 2015 +0700 Committer: Andrey <[email protected]> Committed: Mon Oct 26 12:32:24 2015 +0700 ---------------------------------------------------------------------- .../src/main/js/controllers/sql-controller.js | 34 ++++++++++++++++---- .../src/main/js/routes/agent.js | 17 ++++++++++ 2 files changed, 45 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/336d8a1e/modules/control-center-web/src/main/js/controllers/sql-controller.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/controllers/sql-controller.js b/modules/control-center-web/src/main/js/controllers/sql-controller.js index de4ef51..8dd0664 100644 --- a/modules/control-center-web/src/main/js/controllers/sql-controller.js +++ b/modules/control-center-web/src/main/js/controllers/sql-controller.js @@ -538,6 +538,11 @@ consoleModule.controller('sqlController', return retainedCols; } + var _tryCloseQueryResult = function (queryId) { + if (queryId) + $http.post('/agent/query/close', { queryId: queryId }); + }; + var _processQueryResult = function (paragraph, refreshMode) { return function (res) { if (res.meta && !refreshMode) { @@ -626,6 +631,8 @@ consoleModule.controller('sqlController', }; var _executeRefresh = function (paragraph) { + _tryCloseQueryResult(paragraph.queryId); + $http.post('/agent/query', paragraph.queryArgs) .success(_processQueryResult(paragraph, true)) .error(function (errMsg) { @@ -645,6 +652,10 @@ consoleModule.controller('sqlController', paragraph.prevQuery = paragraph.queryArgs ? paragraph.queryArgs.query : paragraph.query; + _showLoading(paragraph, true); + + _tryCloseQueryResult(paragraph.queryId); + paragraph.queryArgs = { type: "QUERY", query: paragraph.query, @@ -652,8 +663,6 @@ consoleModule.controller('sqlController', cacheName: paragraph.cacheName }; - _showLoading(paragraph, true); - $http.post('/agent/query', paragraph.queryArgs) .success(function (res) { _processQueryResult(paragraph)(res); @@ -676,10 +685,17 @@ consoleModule.controller('sqlController', _cancelRefresh(paragraph); - paragraph.queryArgs = { type: "EXPLAIN", query: 'EXPLAIN ' + paragraph.query, pageSize: paragraph.pageSize, cacheName: paragraph.cacheName }; - _showLoading(paragraph, true); + _tryCloseQueryResult(paragraph.queryId); + + paragraph.queryArgs = { + type: "EXPLAIN", + query: 'EXPLAIN ' + paragraph.query, + pageSize: paragraph.pageSize, + cacheName: paragraph.cacheName + }; + $http.post('/agent/query', paragraph.queryArgs) .success(_processQueryResult(paragraph)) .error(function (errMsg) { @@ -696,10 +712,16 @@ consoleModule.controller('sqlController', _cancelRefresh(paragraph); - paragraph.queryArgs = { type: "SCAN", pageSize: paragraph.pageSize, cacheName: paragraph.cacheName }; - _showLoading(paragraph, true); + _tryCloseQueryResult(paragraph.queryId); + + paragraph.queryArgs = { + type: "SCAN", + pageSize: paragraph.pageSize, + cacheName: paragraph.cacheName + }; + $http.post('/agent/scan', paragraph.queryArgs) .success(_processQueryResult(paragraph)) .error(function (errMsg) { http://git-wip-us.apache.org/repos/asf/ignite/blob/336d8a1e/modules/control-center-web/src/main/js/routes/agent.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/routes/agent.js b/modules/control-center-web/src/main/js/routes/agent.js index 6becd7a..786c867 100644 --- a/modules/control-center-web/src/main/js/routes/agent.js +++ b/modules/control-center-web/src/main/js/routes/agent.js @@ -185,6 +185,23 @@ router.post('/query/fetch', function (req, res) { } }); +/* Close query cursor by id. */ +router.post('/query/close', function (req, res) { + var client = _client(req, res); + + if (client) { + var cache = client.ignite().cache(req.body.cacheName); + + var cmd = cache._createCommand('qrycls').addParam('qryId', req.body.queryId); + + cache.__createPromise(cmd).then(function () { + res.sendStatus(200); + }, function (err) { + res.status(500).send(err); + }); + } +}); + /* Get metadata for cache. */ router.post('/cache/metadata', function (req, res) { var client = _client(req, res);
