diff --git a/web/pgadmin/tools/debugger/static/js/direct.js b/web/pgadmin/tools/debugger/static/js/direct.js index 640bcf2..2085654 100644 --- a/web/pgadmin/tools/debugger/static/js/direct.js +++ b/web/pgadmin/tools/debugger/static/js/direct.js @@ -979,6 +979,7 @@ define([ var DebuggerStackModel = Backbone.Model.extend({ defaults: { + frame_id: 0, name: undefined, value: undefined, line_no: undefined @@ -991,17 +992,22 @@ define([ }); var stackGridCols = [ - {name: 'name', label: gettext('Name'), type:'text', editable: false, cell:'string'}, - {name: 'value', label: gettext('Value'), type:'text', editable: false, cell:'string'}, - {name: 'line_no', label: gettext('Line No.'), type:'text', editable: false, cell:'string'} + {name: 'name', label: gettext('Name'), type:'text', + editable: false, cell:'string'}, + {name: 'value', label: gettext('Value'), type:'text', + editable: false, cell:'string'}, + {name: 'line_no', label: gettext('Line No.'), type:'text', + editable: false, cell:'string'} ]; var my_obj = []; - if (result.length != 0) - { - for (var i = 0; i < result.length; i++) { - my_obj.push({ "name": result[i].targetname, "value": result[i].args, "line_no": result[i].linenumber }); - } + for (var i = 0; i < result.length; i++) { + my_obj.push({ + "frame_id": i, + "name": result[i].targetname, + "value": result[i].args, + "line_no": result[i].linenumber + }); } var stackColl = this.stackColl = new StackCollection(my_obj); @@ -1018,14 +1024,11 @@ define([ }, rowClick: function(e) { //Find which row is selected and depending on that send the frame id - for (var i = 0; i < this.model.collection.length; i++) { - if (this.model.collection.models[i].get('name') == this.model.get('name')) { - self.frame_id_ = i; - break; - } - } + self.frame_id = this.model.get('frame_id'); this.model.trigger('backgrid:row:selected', this); - self.stack_grid.$el.find("td").css("background-color", this.disabledColor); + self.stack_grid.$el.find("td").css( + "background-color", this.disabledColor + ); this.$el.find("td").css("background-color", this.highlightColor); } }), @@ -1036,7 +1039,10 @@ define([ stack_grid.render(); // Render the stack grid into stack panel - pgTools.DirectDebug.stack_pane_panel.$container.find('.stack_pane').append(stack_grid.el); + pgTools.DirectDebug.stack_pane_panel + .$container + .find('.stack_pane') + .append(stack_grid.el); }, @@ -1235,7 +1241,7 @@ define([ // Make ajax call to listen the database message var baseUrl = url_for('debugger.select_frame', { 'trans_id': pgTools.DirectDebug.trans_id, - 'frame_id': self.frame_id_ + 'frame_id': self.frame_id }); $.ajax({ url: baseUrl, diff --git a/web/pgadmin/tools/debugger/templates/debugger/sql/v1/continue.sql b/web/pgadmin/tools/debugger/templates/debugger/sql/v1/continue.sql index ff51aa9..6eaac13 100644 --- a/web/pgadmin/tools/debugger/templates/debugger/sql/v1/continue.sql +++ b/web/pgadmin/tools/debugger/templates/debugger/sql/v1/continue.sql @@ -6,6 +6,6 @@ SELECT (SELECT s.args FROM pldbg_get_stack({{session_id}}::INTEGER) s - WHERE s.func = p.func AND s.pkg = p.pkg) AS args + WHERE s.func = p.func AND s.pkg = p.pkg ORDER BY s.level LIMIT 1) AS args FROM pldbg_continue({{session_id}}::INTEGER) p -{% endif %} \ No newline at end of file +{% endif %} diff --git a/web/pgadmin/tools/debugger/templates/debugger/sql/v1/select_frame.sql b/web/pgadmin/tools/debugger/templates/debugger/sql/v1/select_frame.sql index c70def7..f887417 100644 --- a/web/pgadmin/tools/debugger/templates/debugger/sql/v1/select_frame.sql +++ b/web/pgadmin/tools/debugger/templates/debugger/sql/v1/select_frame.sql @@ -7,6 +7,6 @@ SELECT (SELECT s.args FROM pldbg_get_stack({{session_id}}::INTEGER) s - WHERE s.func = p.func AND s.pkg = p.pkg) AS args + WHERE s.func = p.func AND s.pkg = p.pkg ORDER BY s.level LIMIT 1) AS args FROM pldbg_select_frame({{session_id}}::INTEGER, {{frame_id}}::INTEGER) p -{% endif %} \ No newline at end of file +{% endif %} diff --git a/web/pgadmin/tools/debugger/templates/debugger/sql/v1/step_into.sql b/web/pgadmin/tools/debugger/templates/debugger/sql/v1/step_into.sql index 676bbe0..dfbf19c 100644 --- a/web/pgadmin/tools/debugger/templates/debugger/sql/v1/step_into.sql +++ b/web/pgadmin/tools/debugger/templates/debugger/sql/v1/step_into.sql @@ -6,6 +6,6 @@ SELECT (SELECT s.args FROM pldbg_get_stack({{session_id}}::INTEGER) s - WHERE s.func = p.func AND s.pkg = p.pkg) AS args + WHERE s.func = p.func AND s.pkg = p.pkg ORDER BY s.level LIMIT 1) AS args FROM pldbg_step_into({{session_id}}::INTEGER) p -{% endif %} \ No newline at end of file +{% endif %} diff --git a/web/pgadmin/tools/debugger/templates/debugger/sql/v1/step_over.sql b/web/pgadmin/tools/debugger/templates/debugger/sql/v1/step_over.sql index 572aa80..4b9848b 100644 --- a/web/pgadmin/tools/debugger/templates/debugger/sql/v1/step_over.sql +++ b/web/pgadmin/tools/debugger/templates/debugger/sql/v1/step_over.sql @@ -6,6 +6,6 @@ SELECT (SELECT s.args FROM pldbg_get_stack({{session_id}}::INTEGER) s - WHERE s.func = p.func AND s.pkg = p.pkg) AS args + WHERE s.func = p.func AND s.pkg = p.pkg ORDER BY s.level LIMIT 1) AS args FROM pldbg_step_over({{session_id}}::INTEGER) p -{% endif %} \ No newline at end of file +{% endif %} diff --git a/web/pgadmin/tools/debugger/templates/debugger/sql/v1/wait_for_breakpoint.sql b/web/pgadmin/tools/debugger/templates/debugger/sql/v1/wait_for_breakpoint.sql index eb98625..a1eb1fd 100644 --- a/web/pgadmin/tools/debugger/templates/debugger/sql/v1/wait_for_breakpoint.sql +++ b/web/pgadmin/tools/debugger/templates/debugger/sql/v1/wait_for_breakpoint.sql @@ -6,6 +6,6 @@ SELECT (SELECT s.args FROM pldbg_get_stack({{session_id}}::INTEGER) s - WHERE s.func = p.func AND s.pkg = p.pkg) AS args + WHERE s.func = p.func AND s.pkg = p.pkg ORDER BY s.level LIMIT 1) AS args FROM pldbg_wait_for_breakpoint({{session_id}}::INTEGER) p; -{% endif %} \ No newline at end of file +{% endif %} diff --git a/web/pgadmin/tools/debugger/templates/debugger/sql/v2/continue.sql b/web/pgadmin/tools/debugger/templates/debugger/sql/v2/continue.sql index 3cbeeab..67fd863 100644 --- a/web/pgadmin/tools/debugger/templates/debugger/sql/v2/continue.sql +++ b/web/pgadmin/tools/debugger/templates/debugger/sql/v2/continue.sql @@ -6,6 +6,6 @@ SELECT (SELECT s.args FROM pldbg_get_stack({{session_id}}::INTEGER) s - WHERE s.func = p.func) AS args + WHERE s.func = p.func ORDER BY s.level LIMIT 1) AS args FROM pldbg_continue({{session_id}}::INTEGER) p -{% endif %} \ No newline at end of file +{% endif %} diff --git a/web/pgadmin/tools/debugger/templates/debugger/sql/v2/select_frame.sql b/web/pgadmin/tools/debugger/templates/debugger/sql/v2/select_frame.sql index ac2bc77..4ae0356 100644 --- a/web/pgadmin/tools/debugger/templates/debugger/sql/v2/select_frame.sql +++ b/web/pgadmin/tools/debugger/templates/debugger/sql/v2/select_frame.sql @@ -6,6 +6,6 @@ SELECT (SELECT s.args FROM pldbg_get_stack({{session_id}}::INTEGER) s - WHERE s.func = p.func) AS args + WHERE s.func = p.func ORDER BY s.level LIMIT 1) AS args FROM pldbg_select_frame({{session_id}}::INTEGER, {{frame_id}}::INTEGER) p -{% endif %} \ No newline at end of file +{% endif %} diff --git a/web/pgadmin/tools/debugger/templates/debugger/sql/v2/step_into.sql b/web/pgadmin/tools/debugger/templates/debugger/sql/v2/step_into.sql index 2645a69..dcccbde 100644 --- a/web/pgadmin/tools/debugger/templates/debugger/sql/v2/step_into.sql +++ b/web/pgadmin/tools/debugger/templates/debugger/sql/v2/step_into.sql @@ -6,6 +6,6 @@ SELECT (SELECT s.args FROM pldbg_get_stack({{session_id}}::INTEGER) s - WHERE s.func = p.func) AS args + WHERE s.func = p.func ORDER BY s.level LIMIT 1) AS args FROM pldbg_step_into({{session_id}}::INTEGER) p -{% endif %} \ No newline at end of file +{% endif %} diff --git a/web/pgadmin/tools/debugger/templates/debugger/sql/v2/step_over.sql b/web/pgadmin/tools/debugger/templates/debugger/sql/v2/step_over.sql index d77a0ae..4ee9dab 100644 --- a/web/pgadmin/tools/debugger/templates/debugger/sql/v2/step_over.sql +++ b/web/pgadmin/tools/debugger/templates/debugger/sql/v2/step_over.sql @@ -6,6 +6,6 @@ SELECT (SELECT s.args FROM pldbg_get_stack({{session_id}}::INTEGER) s - WHERE s.func = p.func) AS args + WHERE s.func = p.func ORDER BY s.level LIMIT 1) AS args FROM pldbg_step_over({{session_id}}::INTEGER) p -{% endif %} \ No newline at end of file +{% endif %} diff --git a/web/pgadmin/tools/debugger/templates/debugger/sql/v2/wait_for_breakpoint.sql b/web/pgadmin/tools/debugger/templates/debugger/sql/v2/wait_for_breakpoint.sql index befca11..3d78103 100644 --- a/web/pgadmin/tools/debugger/templates/debugger/sql/v2/wait_for_breakpoint.sql +++ b/web/pgadmin/tools/debugger/templates/debugger/sql/v2/wait_for_breakpoint.sql @@ -7,6 +7,6 @@ SELECT (SELECT s.args FROM pldbg_get_stack({{session_id}}::INTEGER) s - WHERE s.func = p.func) AS args + WHERE s.func = p.func ORDER BY s.level LIMIT 1) AS args FROM pldbg_wait_for_breakpoint({{session_id}}::INTEGER) p -{% endif %} \ No newline at end of file +{% endif %}