'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"); // ----------------------------------------------------------------------------- // --SECTION-- module "@arangodb/aql/queries" // ----------------------------------------------------------------------------- //////////////////////////////////////////////////////////////////////////////// /// @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", JSON.stringify(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; }; // ----------------------------------------------------------------------------- // --SECTION-- END-OF-FILE // ----------------------------------------------------------------------------- // Local Variables: // mode: outline-minor // outline-regexp: "/// @brief\\|/// @addtogroup\\|// --SECTION--\\|/// @page\\|/// @}\\|/\\*jslint" // End: