mirror of https://gitee.com/bigwinds/arangodb
108 lines
3.3 KiB
JavaScript
108 lines
3.3 KiB
JavaScript
'use strict';
|
|
|
|
// //////////////////////////////////////////////////////////////////////////////
|
|
// / @brief AQL query management
|
|
// /
|
|
// / @file
|
|
// /
|
|
// / DISCLAIMER
|
|
// /
|
|
// / Copyright 2012 triagens GmbH, Cologne, Germany
|
|
// /
|
|
// / Licensed 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.
|
|
// /
|
|
// / Copyright holder is triAGENS GmbH, Cologne, Germany
|
|
// /
|
|
// / @author Jan Steemann
|
|
// / @author Copyright 2013, triAGENS GmbH, Cologne, Germany
|
|
// //////////////////////////////////////////////////////////////////////////////
|
|
|
|
var internal = require('internal');
|
|
var arangosh = require('@arangodb/arangosh');
|
|
|
|
// //////////////////////////////////////////////////////////////////////////////
|
|
// / @brief clears the slow query log
|
|
// //////////////////////////////////////////////////////////////////////////////
|
|
|
|
exports.clearSlow = function () {
|
|
var db = internal.db;
|
|
|
|
var requestResult = db._connection.DELETE('/_api/query/slow');
|
|
arangosh.checkRequestResult(requestResult);
|
|
|
|
return requestResult;
|
|
};
|
|
|
|
// //////////////////////////////////////////////////////////////////////////////
|
|
// / @brief returns the slow queries
|
|
// //////////////////////////////////////////////////////////////////////////////
|
|
|
|
exports.slow = function () {
|
|
var db = internal.db;
|
|
|
|
var requestResult = db._connection.GET('/_api/query/slow', '');
|
|
arangosh.checkRequestResult(requestResult);
|
|
|
|
return requestResult;
|
|
};
|
|
|
|
// //////////////////////////////////////////////////////////////////////////////
|
|
// / @brief returns the current queries
|
|
// //////////////////////////////////////////////////////////////////////////////
|
|
|
|
exports.current = function () {
|
|
var db = internal.db;
|
|
|
|
var requestResult = db._connection.GET('/_api/query/current', '');
|
|
arangosh.checkRequestResult(requestResult);
|
|
|
|
return requestResult;
|
|
};
|
|
|
|
// //////////////////////////////////////////////////////////////////////////////
|
|
// / @brief configures the query tracking properties
|
|
// //////////////////////////////////////////////////////////////////////////////
|
|
|
|
exports.properties = function (config) {
|
|
var db = internal.db;
|
|
|
|
var requestResult;
|
|
if (config === undefined) {
|
|
requestResult = db._connection.GET('/_api/query/properties');
|
|
} else {
|
|
requestResult = db._connection.PUT('/_api/query/properties', config);
|
|
}
|
|
|
|
arangosh.checkRequestResult(requestResult);
|
|
|
|
return requestResult;
|
|
};
|
|
|
|
// //////////////////////////////////////////////////////////////////////////////
|
|
// / @brief kills a query
|
|
// //////////////////////////////////////////////////////////////////////////////
|
|
|
|
exports.kill = function (id) {
|
|
if (typeof id === 'object' &&
|
|
id.hasOwnProperty('id')) {
|
|
id = id.id;
|
|
}
|
|
|
|
var db = internal.db;
|
|
|
|
var requestResult = db._connection.DELETE('/_api/query/' + encodeURIComponent(id));
|
|
arangosh.checkRequestResult(requestResult);
|
|
|
|
return requestResult;
|
|
};
|