diff --git a/docs/en_US/release_notes_5_2.rst b/docs/en_US/release_notes_5_2.rst index a295aecf7..2a75caee9 100644 --- a/docs/en_US/release_notes_5_2.rst +++ b/docs/en_US/release_notes_5_2.rst @@ -20,6 +20,7 @@ Bug fixes | `Issue #5519 `_ - Ensure that the query tool tab should be closed after server disconnection when auto-commit/auto-rollback is set to false. | `Issue #6076 `_ - Fixed an issue where correct error not thrown while importing servers and JSON file has incorrect/insufficient keys. +| `Issue #6082 `_ - Ensure that the user should not be to change the connection when a long query is running. | `Issue #6220 `_ - Corrected the syntax for 'CREATE TRIGGER', use 'EXECUTE FUNCTION' instead of 'EXECUTE PROCEDURE' from v11 onwards. | `Issue #6293 `_ - Fixed an issue where the procedure creation is failed when providing the Volatility option. | `Issue #6325 `_ - Ensure that the file format for the storage manager should be 'All files' and for other dialogs, it should remember the last selected format. diff --git a/web/pgadmin/static/js/sqleditor/execute_query.js b/web/pgadmin/static/js/sqleditor/execute_query.js index 2c966550c..2ee9c321f 100644 --- a/web/pgadmin/static/js/sqleditor/execute_query.js +++ b/web/pgadmin/static/js/sqleditor/execute_query.js @@ -13,6 +13,7 @@ import url_for from '../url_for'; import axios from 'axios'; import * as httpErrorHandler from './query_tool_http_error_handler'; import * as queryTxnStatus from 'sources/sqleditor/query_txn_status_constants'; +import * as SqlEditorUtils from 'sources/sqleditor_utils'; class LoadingScreen { constructor(sqlEditor) { @@ -76,6 +77,9 @@ class ExecuteQuery { if (ExecuteQuery.isSqlCorrect(httpMessageData)) { self.loadingScreen.setMessage('Waiting for the query to complete...'); + // Disable drop down arrow to change connections + SqlEditorUtils.disable_connection_dropdown(true); + self.updateSqlEditorStateWithInformationFromServer(httpMessageData.data); // If status is True then poll the result. @@ -161,6 +165,10 @@ class ExecuteQuery { self.loadingScreen.hide(); self.sqlServerObject.update_msg_history(false, 'Execution Cancelled!', true); } + // Enable connection list drop down again for query tool only + if(self.sqlServerObject.is_query_tool && !ExecuteQuery.isQueryStillRunning(httpMessage)){ + SqlEditorUtils.disable_connection_dropdown(false); + } } ).catch( error => { @@ -171,6 +179,7 @@ class ExecuteQuery { self.sqlServerObject.setIsQueryRunning(false); if (self.sqlServerObject.is_query_tool) { self.enableSQLEditorButtons(); + SqlEditorUtils.disable_connection_dropdown(false); } if(error.response) { diff --git a/web/pgadmin/static/js/sqleditor_utils.js b/web/pgadmin/static/js/sqleditor_utils.js index 5f5b149e0..e51cab57b 100644 --- a/web/pgadmin/static/js/sqleditor_utils.js +++ b/web/pgadmin/static/js/sqleditor_utils.js @@ -57,6 +57,17 @@ define(['jquery', 'underscore', 'sources/gettext', 'sources/url_for'], return string.charAt(0).toUpperCase() + string.slice(1); }, + // Disables arrow to change connection + disable_connection_dropdown: function (status) { + if (status){ + $('.conn-info-dd').prop('disabled',true); + $('.connection-data').css({pointerEvents: 'none', cursor: 'arrow'}); + }else{ + $('.conn-info-dd').prop('disabled',false); + $('.connection-data').css({pointerEvents: 'auto', cursor: 'pointer'}); + } + }, + // Status flag previousStatus: null, diff --git a/web/pgadmin/tools/sqleditor/static/scss/_sqleditor.scss b/web/pgadmin/tools/sqleditor/static/scss/_sqleditor.scss index 9d5ba4deb..8ba3e5ebd 100644 --- a/web/pgadmin/tools/sqleditor/static/scss/_sqleditor.scss +++ b/web/pgadmin/tools/sqleditor/static/scss/_sqleditor.scss @@ -52,8 +52,6 @@ #editor-panel { z-index: 0; - position: absolute; - top: $sql-editor-panel-top; bottom: 0; left: 0; right: 0;