diff --git a/web/pgadmin/tools/debugger/__init__.py b/web/pgadmin/tools/debugger/__init__.py
index f7d0e7b..6543b13 100644
--- a/web/pgadmin/tools/debugger/__init__.py
+++ b/web/pgadmin/tools/debugger/__init__.py
@@ -1343,8 +1343,16 @@ def poll_end_execution_result(trans_id):
if conn.connected():
statusmsg = conn.status_message()
status, result, col_info = conn.poll()
- if status == ASYNC_OK and session['functionData'][str(trans_id)]['language'] == 'edbspl':
+ if status == ASYNC_OK and \
+ not session['functionData'][str(trans_id)]['is_func'] and \
+ session['functionData'][str(trans_id)]['language'] == 'edbspl':
status = 'Success'
+ additional_msgs = conn.messages()
+ if len(additional_msgs) > 0:
+ if statusmsg and statusmsg == 'SELECT 1':
+ statusmsg = ''
+ statusmsg = "
".join(additional_msgs) + "
" + statusmsg if statusmsg is not None else ''
+
return make_json_response(success=1, info=gettext("Execution Completed."),
data={'status': status, 'status_message': statusmsg})
if result:
@@ -1354,6 +1362,12 @@ def poll_end_execution_result(trans_id):
data={'status': status, 'status_message': result})
else:
status = 'Success'
+ additional_msgs = conn.messages()
+ if len(additional_msgs) > 0:
+ if statusmsg and statusmsg == 'SELECT 1':
+ statusmsg = ''
+ statusmsg = "
".join(additional_msgs) + "
" + statusmsg if statusmsg is not None else ''
+
columns = []
# Check column info is available or not
if col_info is not None and len(col_info) > 0:
@@ -1369,6 +1383,12 @@ def poll_end_execution_result(trans_id):
'col_info': columns, 'status_message': statusmsg})
else:
status = 'Busy'
+ additional_msgs = conn.messages()
+ if len(additional_msgs) > 0:
+ if statusmsg and statusmsg == 'SELECT 1':
+ statusmsg = ''
+ statusmsg = "
".join(additional_msgs) + "
" + statusmsg if statusmsg is not None else ''
+ return make_json_response(data={'status': status, 'result': result, 'status_message': statusmsg})
else:
status = 'NotConnected'
result = gettext('Not connected to server or connection with the server has been closed.')
diff --git a/web/pgadmin/tools/debugger/templates/debugger/js/direct.js b/web/pgadmin/tools/debugger/templates/debugger/js/direct.js
index 452617b..babd00c 100644
--- a/web/pgadmin/tools/debugger/templates/debugger/js/direct.js
+++ b/web/pgadmin/tools/debugger/templates/debugger/js/direct.js
@@ -392,6 +392,7 @@ define(
url: baseUrl,
method: 'GET',
success: function(res) {
+ var old_msgs='', new_msgs='';
if (res.data.status === 'Success') {
if(res.data.result == undefined ) {
/*
@@ -411,7 +412,15 @@ define(
);
// Update the message tab of the debugger
- pgTools.DirectDebug.dbmsMessages.$elem.text(res.data.status_message);
+ if (res.data.status_message) {
+ old_msgs = pgTools.DirectDebug.messages_panel.$container.find('.messages').html();
+ if(old_msgs) {
+ new_msgs = (old_msgs + '\n' + res.data.status_message).replace(/(?:\r\n|\r|\n)/g, '
');
+ } else {
+ new_msgs = res.data.status_message;
+ }
+ pgTools.DirectDebug.messages_panel.$container.find('.messages').html(new_msgs);
+ }
// Execution completed so disable the buttons other than "Continue/Start" button because user can still
// start the same execution again.
@@ -439,7 +448,15 @@ define(
);
// Update the message tab of the debugger
- pgTools.DirectDebug.messages_panel.$container.find('.messages').text(res.data.status_message);
+ if (res.data.status_message) {
+ old_msgs = pgTools.DirectDebug.messages_panel.$container.find('.messages').html();
+ if(old_msgs) {
+ new_msgs = (old_msgs + '\n' + res.data.status_message).replace(/(?:\r\n|\r|\n)/g, '
');
+ } else {
+ new_msgs = res.data.status_message;
+ }
+ pgTools.DirectDebug.messages_panel.$container.find('.messages').html(new_msgs);
+ }
// Execution completed so disable the buttons other than "Continue/Start" button because user can still
// start the same execution again.
@@ -454,6 +471,16 @@ define(
else if (res.data.status === 'Busy') {
// If status is Busy then poll the result by recursive call to the poll function
//self.poll_end_execution_result(trans_id);
+ // Update the message tab of the debugger
+ if(res.data.status_message) {
+ old_msgs = pgTools.DirectDebug.messages_panel.$container.find('.messages').html();
+ if(old_msgs) {
+ new_msgs = (old_msgs + '\n' + res.data.status_message).replace(/(?:\r\n|\r|\n)/g, '
');
+ } else {
+ new_msgs = res.data.status_message;
+ }
+ pgTools.DirectDebug.messages_panel.$container.find('.messages').html(new_msgs);
+ }
}
else if (res.data.status === 'NotConnected') {
Alertify.alert(
@@ -473,7 +500,16 @@ define(
function() { }
);
- pgTools.DirectDebug.messages_panel.$container.find('.messages').text(res.data.status_message);
+ if (res.data.status_message) {
+ old_msgs = pgTools.DirectDebug.messages_panel.$container.find('.messages').html();
+ if(old_msgs) {
+ new_msgs = (old_msgs + '\n' + res.data.status_message).replace(/(?:\r\n|\r|\n)/g, '
');
+ } else {
+ new_msgs = res.data.status_message;
+ }
+ pgTools.DirectDebug.messages_panel.$container.find('.messages').html(new_msgs);
+ }
+
pgTools.DirectDebug.messages_panel.focus();
// Execution completed so disable the buttons other than "Continue/Start" button because user can still