diff --git a/docs/en_US/release_notes_4_17.rst b/docs/en_US/release_notes_4_17.rst index a2122e05a..f415694b2 100644 --- a/docs/en_US/release_notes_4_17.rst +++ b/docs/en_US/release_notes_4_17.rst @@ -17,4 +17,5 @@ Housekeeping Bug fixes ********* +| `Issue #4506 `_ - Fix an issue where clicking on an empty textbox like fill factor or comments, considers it as change and enabled the save button. | `Issue #5004 `_ - Fix vulnerability issues reported by 'yarn audit'. Replace the deprecated uglifyjs-webpack-plugin with a terser-webpack-plugin. \ No newline at end of file diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/12_plus/update.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/12_plus/update.sql index d12a83851..804620898 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/12_plus/update.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/12_plus/update.sql @@ -56,6 +56,9 @@ ALTER TABLE {{conn|qtIdent(data.schema, data.name)}} {% if data.fillfactor and data.fillfactor != o_data.fillfactor %} ALTER TABLE {{conn|qtIdent(data.schema, data.name)}} SET (FILLFACTOR={{data.fillfactor}}); +{% elif data.fillfactor == '' and data.fillfactor != o_data.fillfactor %} +ALTER TABLE {{conn|qtIdent(data.schema, data.name)}} + RESET (FILLFACTOR); {% endif %} {###############################} diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/default/update.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/default/update.sql index c8bf6db94..5673cff73 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/default/update.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/default/update.sql @@ -64,6 +64,9 @@ ALTER TABLE {{conn|qtIdent(data.schema, data.name)}} {% if data.fillfactor and data.fillfactor != o_data.fillfactor %} ALTER TABLE {{conn|qtIdent(data.schema, data.name)}} SET (FILLFACTOR={{data.fillfactor}}); +{% elif data.fillfactor == '' and data.fillfactor != o_data.fillfactor %} +ALTER TABLE {{conn|qtIdent(data.schema, data.name)}} + RESET (FILLFACTOR); {% endif %} {###############################} diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/static/js/mview.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/static/js/mview.js index 6d3dfbc05..77f5d6b60 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/static/js/mview.js +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/static/js/mview.js @@ -203,7 +203,7 @@ define('pgadmin.node.mview', [ },{ id: 'fillfactor', label: gettext('Fill factor'), group: gettext('Storage'), mode: ['edit', 'create'], - type: 'int', + type: 'int', min: 10, max: 100, },{ type: 'nested', control: 'tab', id: 'materialization', label: gettext('Parameter'), mode: ['edit', 'create'], diff --git a/web/pgadmin/browser/static/js/datamodel.js b/web/pgadmin/browser/static/js/datamodel.js index 514c40392..564f7f2c9 100644 --- a/web/pgadmin/browser/static/js/datamodel.js +++ b/web/pgadmin/browser/static/js/datamodel.js @@ -367,7 +367,8 @@ define([ return; } attrs[k] = v; - if (_.isEqual(self.origSessAttrs[k], v)) { + /* If the orig value was null and new one is empty string, then its a "no change" */ + if (_.isEqual(self.origSessAttrs[k], v) || (self.origSessAttrs[k] === null && v === '')) { delete self.sessAttrs[k]; } else { self.sessAttrs[k] = v; @@ -738,9 +739,7 @@ define([ field = this.fieldData[keys[i]]; msg = null; - if (!(_.isUndefined(value) || _.isNull(value) || - String(value).replace(/^\s+|\s+$/g, '') == '')) { - + if (!(_.isUndefined(value) || _.isNull(value) || String(value) === '')) { if (!field) { continue; } diff --git a/web/pgadmin/browser/templates/browser/js/messages.js b/web/pgadmin/browser/templates/browser/js/messages.js index 7621ca3ae..41301c4fc 100644 --- a/web/pgadmin/browser/templates/browser/js/messages.js +++ b/web/pgadmin/browser/templates/browser/js/messages.js @@ -26,8 +26,8 @@ define( 'SQL_NO_CHANGE': gettext('Nothing changed'), 'MUST_BE_INT' : gettext("'%s' must be an integer."), 'MUST_BE_NUM' : gettext("'%s' must be a numeric."), - 'MUST_GR_EQ' : gettext("%s' must be greater than or equal to %d."), - 'MUST_LESS_EQ' : gettext("'%s' must be less than or equal to %d."), + 'MUST_GR_EQ' : gettext("'%s' must be greater than or equal to %s."), + 'MUST_LESS_EQ' : gettext("'%s' must be less than or equal to %s."), 'STATISTICS_LABEL': gettext("Statistics"), 'STATISTICS_VALUE_LABEL': gettext("Value"), 'NODE_HAS_NO_SQL': gettext("No SQL could be generated for the selected object."),