diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/static/js/table.ui.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/static/js/table.ui.js index a8e1b8cca..f8127cc3f 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/static/js/table.ui.js +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/static/js/table.ui.js @@ -537,7 +537,24 @@ export default class TableSchema extends BaseUISchema { tabColsResponse.then((res)=>{ resolve((state)=>{ let finalCols = res.map((col)=>obj.columnsSchema.getNewData(col)); - finalCols = [...state.columns, ...finalCols]; + let currentSelectedCols = []; + if (!_.isEmpty(state.columns)){ + currentSelectedCols = state.columns; + } + let colNameList = []; + state.columns.forEach((col=>{ + colNameList.push(col.name); + })); + for (let col of Object.values(finalCols)) { + if(!colNameList.includes(col.name)){ + currentSelectedCols.push(col); + } + } + + if (!_.isEmpty(currentSelectedCols)){ + finalCols = currentSelectedCols; + } + obj.changeColumnOptions(finalCols); return { adding_inherit_cols: false, diff --git a/web/regression/javascript/schema_ui_files/table.ui.spec.js b/web/regression/javascript/schema_ui_files/table.ui.spec.js index 0ddf9accd..c225c532b 100644 --- a/web/regression/javascript/schema_ui_files/table.ui.spec.js +++ b/web/regression/javascript/schema_ui_files/table.ui.spec.js @@ -277,10 +277,10 @@ describe('TableSchema', ()=>{ }, }); deferredPromise.then((depChange)=>{ - let finalCols = [newCol, newCol]; + let finalCols = [newCol]; expect(depChange(state)).toEqual({ adding_inherit_cols: false, - columns: [newCol, newCol], + columns: [newCol], }); expect(schemaObj.changeColumnOptions).toHaveBeenCalledWith(finalCols); done();