Fixed an issue where copy/paste rows in view data paste the wrong value for boolean type. Fixes #6312

This commit is contained in:
Nikhil Mohite 2021-03-16 11:29:47 +05:30 committed by Akshay Joshi
parent 60dbb81883
commit 9395ce3fda
3 changed files with 18 additions and 0 deletions

View File

@ -49,3 +49,4 @@ Bug fixes
| `Issue #6286 <https://redmine.postgresql.org/issues/6286>`_ - Ensure that the template database should be visible while creating the database.
| `Issue #6292 <https://redmine.postgresql.org/issues/6292>`_ - Fixed string index out of range error where the dependent tab is in focus and selecting any publication or table.
| `Issue #6294 <https://redmine.postgresql.org/issues/6294>`_ - Fixed an issue where the dependent tab throwing an error when selecting any login/group role.
| `Issue #6312 <https://redmine.postgresql.org/issues/6312>`_ - Fixed an issue where copy/paste rows in view data paste the wrong value for boolean type.

View File

@ -158,6 +158,8 @@ define(['sources/selection/range_selection_helper', 'json-bignumber'],
val = quote_char + JSONBigNumber.stringify(val) + quote_char;
} else if (val && cell_type != 'number' && cell_type != 'boolean') {
val = quote_char + escape(val.toString()) + quote_char;
} else if (cell_type == 'string' && _.isNull(val)){
val = null;
} else if (_.isNull(val) || _.isUndefined(val)) {
val = '';
}

View File

@ -4172,6 +4172,7 @@ define('tools.querytool', [
if(pgAdmin.SqlEditor.copiedInOtherSessionWithHeaders) {
copied_rows = copied_rows.slice(1);
}
var row_index = 0;
copied_rows = copied_rows.reduce((partial, values) => {
// split each row with field separator character
let row = {};
@ -4182,13 +4183,27 @@ define('tools.querytool', [
if(v === '') {
if(self.columns[col].has_default_val) {
v = undefined;
} else if (self.copied_rows[row_index][self.columns[col].display_name] === null) {
v = null;
} else {
v = '';
}
}
if(self.columns[col].cell === 'boolean') {
if(v == 'true') {
v = true;
} else if(v == 'false') {
v = false;
} else {
v = null;
}
}
row[self.columns[col].name] = v;
}
partial.push(row);
row_index ++;
return partial;
}, []);