1) Ensure that the Owner should not be disabled while creating the procedure. Fixes #7064

2) Fixed an issue where Explain Analyze shows negative exclusive time. Fixes #7003
This commit is contained in:
Nikhil Mohite
2021-12-09 16:59:43 +05:30
committed by Akshay Joshi
parent 4ee9a95360
commit 9ec8d05a64
5 changed files with 18 additions and 6 deletions

View File

@@ -209,7 +209,13 @@ export default class FunctionSchema extends BaseUISchema {
},{
id: 'funcowner', label: gettext('Owner'), cell: 'string',
options: this.fieldOptions.role, type: 'select',
disabled: (!(this.type === 'procedure')) ? obj.inCatalog() : obj.isGreaterThan95,
disabled: (state) => {
if (!(this.type === 'procedure')) {
obj.inCatalog(state);
} else {
obj.isGreaterThan95(state);
}
},
noEmpty: true,
},{
id: 'pronamespace', label: gettext('Schema'), cell: 'string',

View File

@@ -121,7 +121,7 @@ define('pgadmin.node.procedure', [
{
funcowner: pgBrowser.serverInfo[treeNodeInfo.server._id].user.name,
pronamespace: treeNodeInfo.schema ? treeNodeInfo.schema._id : null,
lanname: 'edbspl',
lanname: treeNodeInfo.server.server_type != 'ppas' ? 'sql' : 'edbspl',
}
);
},

View File

@@ -660,7 +660,7 @@ define('pgadmin.misc.explain', [
if ('Actual Total Time' in data && 'Actual Loops' in data) {
data['inclusive'] = Math.ceil10(
data['Actual Total Time'] * data['Actual Loops'], -3
data['Actual Total Time'], -3
);
data['exclusive'] = data['inclusive'];
data['inclusive_factor'] = data['inclusive'] / (
@@ -687,7 +687,7 @@ define('pgadmin.misc.explain', [
data['rowsx_flag'] = data['rowsx'] <= 10 ? '1' : (
data['rowsx'] <= 100 ? '2' : (data['rowsx'] <= 1000 ? '3' : '4')
);
data['rowsx'] = Math.ceil10(data['rowsx'], -2);
data['rowsx'] = Math.ceil10(data['rowsx'] / data['loops'], -2);
}
// Start calculating xpos, ypos, width and height for child plans if any
@@ -709,6 +709,7 @@ define('pgadmin.misc.explain', [
ypos: ypos,
total_time: data['total_time'] || data['Actual Total Time'],
parent_node: lvl.join('_'),
loops: data['Actual Loops']
}), _opt));
if (maxChildWidth < plan.get('width')) {
@@ -717,7 +718,7 @@ define('pgadmin.misc.explain', [
if ('exclusive' in data) {
inclusive = plan.get('inclusive');
if (inclusive) {
if (inclusive && inclusive < data['exclusive']) {
data['exclusive'] -= inclusive;
}
}
@@ -734,6 +735,9 @@ define('pgadmin.misc.explain', [
plans.push(plan);
idx++;
});
} else{
data['inclusive'] = Math.ceil10(data['Actual Total Time'] / data['loops'], -3)
data['exclusive'] = data['inclusive'];
}
if ('exclusive' in data) {