1) Fixed issue of opening Query Tool and Debugger in new Tab with QT 5.8 and annulen webkit
 2) Moved unload event of window from javascript files to html.
 3) Change alertify messages for debugger.
 4) Closed all connections created by debugger. Previously only one connection has been closed.
This commit is contained in:
Neel Patel
2017-05-09 13:03:44 +05:30
committed by Akshay Joshi
parent 63d42745ef
commit d0e9c82fea
11 changed files with 292 additions and 133 deletions

View File

@@ -510,7 +510,8 @@ def close(trans_id):
trans_id
- unique transaction id.
"""
# As debugger data is not in session that means we have already deleted and close the target
# As debugger data is not in session that means we have already
# deleted and close the target
if 'debuggerData' not in session:
return make_json_response(data={'status': True})
@@ -523,30 +524,17 @@ def close(trans_id):
try:
manager = get_driver(PG_DEFAULT_DRIVER).connection_manager(obj['server_id'])
conn = manager.connection(did=obj['database_id'], conn_id=obj['conn_id'])
except Exception as e:
return internal_server_error(errormsg=str(e))
# find the debugger version and execute the query accordingly
dbg_version = obj['debugger_version']
if dbg_version <= 2:
template_path = 'debugger/sql/v1'
else:
template_path = 'debugger/sql/v2'
# Release the connection
if conn.connected():
# on successful connection cancel the running transaction
status, result = conn.cancel_transaction(obj['conn_id'], obj['database_id'])
conn.cancel_transaction(obj['conn_id'], obj['database_id'])
conn = manager.connection(did=obj['database_id'], conn_id=obj['exe_conn_id'])
conn.cancel_transaction(obj['exe_conn_id'], obj['database_id'])
manager.release(conn_id=obj['conn_id'])
manager.release(conn_id=obj['exe_conn_id'])
# Delete the existing debugger data in session variable
del session['debuggerData'][str(trans_id)]
del session['functionData'][str(trans_id)]
# Release the connection acquired during the debugging
manager.release(did=obj['database_id'], conn_id=obj['conn_id'])
return make_json_response(data={'status': True})
else:
return make_json_response(data={'status': False})
except Exception as e:
return internal_server_error(errormsg=str(e))
@blueprint.route('/restart/<int:trans_id>', methods=['GET'])

View File

@@ -1,19 +1,25 @@
{% extends "base.html" %}
{% block title %}{{ _('Debugger - ') + function_name }}{% endblock %}
{% block init_script %}
try {
require(
['pgadmin', 'pgadmin.tools.debugger.direct'],
function(pgAdmin, pgDirectDebug) {
pgDirectDebug.init({{ uniqueId }}, {{ debug_type }});
},
function() {
/* TODO:: Show proper error dialog */
console.log(arguments);
});
require(
['pgadmin', 'pgadmin.tools.debugger.direct'],
function(pgAdmin, pgDirectDebug) {
pgDirectDebug.init({{ uniqueId }}, {{ debug_type }});
window.onbeforeunload = function(ev) {
$.ajax({
url: "{{ url_for('debugger.index') }}close/{{ uniqueId }}",
method: 'GET'
});
};
},
function() {
console.log(arguments);
});
} catch (err) {
/* Show proper error dialog */
console.log(err);
console.log(err);
}
{% endblock %}
{% block body %}

View File

@@ -242,16 +242,7 @@ define(
var url = "{{ url_for('debugger.index') }}" + "direct/" + res.data.debuggerTransId;
if (res.data.newBrowserTab) {
var newWin = window.open(url, '_blank');
// Listen on the window closed event.
newWin.addEventListener("unload", function(e){
var closeUrl = "{{ url_for('debugger.index') }}" + "close/" + res.data.debuggerTransId;
$.ajax({
url: closeUrl,
method: 'GET'
});
}, false);
window.open(url, '_blank');
} else {
pgBrowser.Events.once(
'pgadmin-browser:frame:urlloaded:frm_debugger', function(frame) {
@@ -345,16 +336,7 @@ define(
var url = "{{ url_for('debugger.index') }}" + "direct/" + res.data.debuggerTransId;
if (res.data.newBrowserTab) {
var newWin = window.open(url, '_blank');
// Listen on the window closed event.
newWin.addEventListener("unload", function(e){
var closeUrl = "{{ url_for('debugger.index') }}" + "close/" + res.data.debuggerTransId;
$.ajax({
url: closeUrl,
method: 'GET'
});
}, false);
window.open(url, '_blank');
} else {
pgBrowser.Events.once(
'pgadmin-browser:frame:urlloaded:frm_debugger', function(frame) {

View File

@@ -554,16 +554,7 @@ define(
var url = "{{ url_for('debugger.index') }}" + "direct/" + res.data.debuggerTransId;
if (res.data.newBrowserTab) {
var newWin = window.open(url, '_blank');
// Listen on the window closed event.
newWin.addEventListener("unload", function(e){
var closeUrl = "{{ url_for('debugger.index') }}" + "close/" + res.data.debuggerTransId;
$.ajax({
url: closeUrl,
method: 'GET'
});
}, false);
window.open(url, '_blank');
} else {
pgBrowser.Events.once(
'pgadmin-browser:frame:urlloaded:frm_debugger', function(frame) {

View File

@@ -43,7 +43,8 @@ define(
},
error: function(e) {
Alertify.alert(
'Debugger: Breakpoint set execution error'
'Debugger Error',
'Error while setting debugging breakpoint.'
);
}
});
@@ -102,13 +103,15 @@ define(
}
else if (res.data.status === 'NotConnected') {
Alertify.alert(
'Debugger: Error fetching breakpoint information'
'Debugger Error',
'Error while fetching breakpoint information.'
);
}
},
error: function(e) {
Alertify.alert(
'Debugger: Error fetching breakpoint information'
'Debugger Error',
'Error while fetching breakpoint information.'
);
}
});
@@ -132,13 +135,15 @@ define(
}
else if (res.data.status === 'NotConnected') {
Alertify.alert(
'Debugger: Start execution error'
'Debugger Error',
'Error while starting debugging session.'
);
}
},
error: function(e) {
Alertify.alert(
'Debugger: Start execution error'
'Debugger Error',
'Error while starting debugging session.'
);
}
});
@@ -170,13 +175,15 @@ define(
}
else if (res.data.status === 'NotConnected') {
Alertify.alert(
'Debugger: Execution error'
'Debugger Error',
'Error while executing requested debugging information.'
);
}
},
error: function(e) {
Alertify.alert(
'Debugger: Execution error'
'Debugger Error',
'Error while executing requested debugging information.'
);
}
});
@@ -207,13 +214,15 @@ define(
}
else if (res.data.status === 'NotConnected') {
Alertify.alert(
'Debugger: Error fetching variable information'
'Debugger Error',
'Error while fetching variable information.'
);
}
},
error: function(e) {
Alertify.alert(
'Debugger: Error fetching variable information'
'Debugger Error',
'Error while fetching variable information.'
);
}
});
@@ -237,13 +246,15 @@ define(
}
else if (res.data.status === 'NotConnected') {
Alertify.alert(
'Debugger: Error fetching stack information'
'Debugger Error',
'Error while fetching stack information.'
);
}
},
error: function(e) {
Alertify.alert(
'Debugger: Error fetching stack information'
'Debugger Error',
'Error while fetching stack information.'
);
}
});
@@ -367,13 +378,15 @@ define(
}
else if (res.data.status === 'NotConnected') {
Alertify.alert(
'Debugger Poll Result Error'
'Debugger Error',
'Error while polling result.'
);
}
},
error: function(e) {
Alertify.alert(
'Debugger Poll Result Error'
'Debugger Error',
'Error while polling result.'
);
}
});
@@ -559,8 +572,8 @@ define(
},
error: function(e) {
Alertify.alert(
'Debugger poll end execution error',
e.responseJSON.errormsg
'Debugger Error',
'Error while polling result.'
);
}
});
@@ -619,8 +632,8 @@ define(
},
error: function(e) {
Alertify.alert(
'Debugger listener starting error',
e.responseJSON.errormsg
'Debugger Error',
'Error while polling result.'
);
}
});
@@ -665,13 +678,15 @@ define(
}
else {
Alertify.alert(
'Debugger: Continue execution error'
'Debugger Error',
'Error while executing continue in debugging session.'
);
}
},
error: function(e) {
Alertify.alert(
'Debugger: Continue execution error'
'Debugger Error',
'Error while executing continue in debugging session.'
);
}
});
@@ -699,13 +714,15 @@ define(
}
else {
Alertify.alert(
'Debugger: Step over execution error'
'Debugger Error',
'Error while executing step over in debugging session.'
);
}
},
error: function(e) {
Alertify.alert(
'Debugger: Step over execution error'
'Debugger Error',
'Error while executing step over in debugging session.'
);
}
});
@@ -732,13 +749,15 @@ define(
}
else {
Alertify.alert(
'Debugger: Step into execution error'
'Debugger Error',
'Error while executing step into in debugging session.'
);
}
},
error: function(e) {
Alertify.alert(
'Debugger: Step into execution error'
'Debugger Error',
'Error while executing step into in debugging session.'
);
}
});
@@ -779,13 +798,15 @@ define(
}
else if (res.data.status === 'NotConnected') {
Alertify.alert(
'Debugger: Stop execution error'
'Debugger Error',
'Error while executing stop in debugging session.'
);
}
},
error: function(e) {
Alertify.alert(
'Debugger: Stop execution error'
'Debugger Error',
'Error while executing stop in debugging session.'
);
}
});
@@ -841,13 +862,15 @@ define(
}
else if (res.data.status === 'NotConnected') {
Alertify.alert(
'Debugger: Toggle breakpoint execution error'
'Debugger Error',
'Error while toggling breakpoint.'
);
}
},
error: function(e) {
Alertify.alert(
'Debugger: Toggle breakpoint execution error'
'Debugger Error',
'Error while toggling breakpoint.'
);
}
});
@@ -904,7 +927,8 @@ define(
},
error: function(e) {
Alertify.alert(
'Debugger: Clear all breakpoint execution error'
'Debugger Error',
'Error while clearing all breakpoint.'
);
}
});
@@ -1164,8 +1188,8 @@ define(
},
error: function(e) {
Alertify.alert(
'Debugger: Deposit value execution error',
e.responseJSON.errormsg
'Debugger Error',
'Error while depositing variable value.'
);
}
});
@@ -1193,8 +1217,8 @@ define(
},
error: function(e) {
Alertify.alert(
'Debugger: Select frame execution error',
e.responseJSON.errormsg
'Debugger Error',
'Error while selecting frame.'
);
}
});
@@ -1364,8 +1388,8 @@ define(
},
error: function(e) {
Alertify.alert(
'Debugger listener starting error',
e.responseJSON.errormsg
'Debugger Error',
'Error while starting debugging listener.'
);
}
});
@@ -1385,8 +1409,8 @@ define(
},
error: function(e) {
Alertify.alert(
'Debugger listener starting error',
e.responseJSON.errormsg
'Debugger Error',
'Error while starting debugging listener.'
);
}
});
@@ -1424,7 +1448,8 @@ define(
},
error: function(e) {
Alertify.alert(
'Debugger: Error fetching messages information'
'Debugger Error',
'Error while fetching messages information.'
);
}
});