diff --git a/docs/en_US/release_notes_9_0.rst b/docs/en_US/release_notes_9_0.rst index f04e52e574c..f569c3825ad 100644 --- a/docs/en_US/release_notes_9_0.rst +++ b/docs/en_US/release_notes_9_0.rst @@ -41,3 +41,4 @@ Bug fixes | `Issue #8255 `_ - Fixed an issue where tooltip on a dropdown button is blocking access to dropdown menu. | `Issue #8256 `_ - Fix the error occurring while loading preferences on startup. | `Issue #8273 `_ - Fixed an issue where copying query tool output cell is not working if any SQL text is selected. + | `Issue #8299 `_ - Ensure master password pop up is not shown on setting MASTER_PASSWORD_REQUIRED to false. diff --git a/web/pgadmin/utils/driver/psycopg3/connection.py b/web/pgadmin/utils/driver/psycopg3/connection.py index 6a092d6a05d..ac7e30df2dd 100644 --- a/web/pgadmin/utils/driver/psycopg3/connection.py +++ b/web/pgadmin/utils/driver/psycopg3/connection.py @@ -1675,26 +1675,23 @@ def _formatted_exception_msg(self, exception_obj, formatted_msg): message """ - if hasattr(exception_obj, 'pgerror'): - errmsg = exception_obj.pgerror - elif hasattr(exception_obj, 'diag') and \ - hasattr(exception_obj.diag, 'message_detail') and\ - exception_obj.diag.message_detail is not None: - errmsg = exception_obj.diag.message_detail + '\n' + \ - exception_obj.diag.message_primary - else: - errmsg = str(exception_obj) - # if formatted_msg is false then return from the function if not formatted_msg: + if hasattr(exception_obj, 'pgerror'): + errmsg = exception_obj.pgerror + elif hasattr(exception_obj, 'diag') and \ + hasattr(exception_obj.diag, 'message_detail') and\ + exception_obj.diag.message_detail is not None: + errmsg = (exception_obj.diag.message_primary + '\n' + + exception_obj.diag.message_detail) + else: + errmsg = str(exception_obj) + notices = self.get_notices() + errmsg = errmsg.replace('\n', '
') return errmsg if notices == '' else notices + '\n' + errmsg - # Do not append if error starts with `ERROR:` as most pg related - # error starts with `ERROR:` - if not errmsg.startswith('ERROR:'): - errmsg = gettext('ERROR: ') + errmsg + ' \n\n' - + errmsg = '' if exception_obj.diag.severity is not None \ and exception_obj.diag.message_primary is not None: ex_diag_message = "{0}: {1}".format( @@ -1717,29 +1714,25 @@ def _formatted_exception_msg(self, exception_obj, formatted_msg): errmsg += gettext('SQL state: ') errmsg += exception_obj.diag.sqlstate - if exception_obj.diag.message_detail is not None and \ - 'Detail:'.lower() not in errmsg.lower(): + if exception_obj.diag.message_detail is not None: if not errmsg.endswith('\n'): errmsg += '\n' errmsg += gettext('Detail: ') errmsg += exception_obj.diag.message_detail - if exception_obj.diag.message_hint is not None and \ - 'Hint:'.lower() not in errmsg.lower(): + if exception_obj.diag.message_hint is not None: if not errmsg.endswith('\n'): errmsg += '\n' errmsg += gettext('Hint: ') errmsg += exception_obj.diag.message_hint - if exception_obj.diag.statement_position is not None and \ - 'Character:'.lower() not in errmsg.lower(): + if exception_obj.diag.statement_position is not None: if not errmsg.endswith('\n'): errmsg += '\n' errmsg += gettext('Character: ') errmsg += exception_obj.diag.statement_position - if exception_obj.diag.context is not None and \ - 'Context:'.lower() not in errmsg.lower(): + if exception_obj.diag.context is not None: if not errmsg.endswith('\n'): errmsg += '\n' errmsg += gettext('Context: ')