From b8d03d5dc23afa3f52810ab056d646f43a21ab91 Mon Sep 17 00:00:00 2001 From: Akshay Joshi Date: Fri, 9 Dec 2016 12:05:46 +0000 Subject: [PATCH] Don't cast data when saving in the edit grid, so errors are seen and data doesn't get silently modified. Fixes #1994 --- .../sqleditor/templates/sqleditor/js/sqleditor.js | 14 ++++++++++++-- .../templates/sqleditor/sql/9.1_plus/insert.sql | 2 +- .../templates/sqleditor/sql/9.1_plus/update.sql | 2 +- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/web/pgadmin/tools/sqleditor/templates/sqleditor/js/sqleditor.js b/web/pgadmin/tools/sqleditor/templates/sqleditor/js/sqleditor.js index 7c68010f0..561d04168 100644 --- a/web/pgadmin/tools/sqleditor/templates/sqleditor/js/sqleditor.js +++ b/web/pgadmin/tools/sqleditor/templates/sqleditor/js/sqleditor.js @@ -1980,8 +1980,6 @@ define( ')'; } - column_label = c.display_name + '
' + col_type; - // Identify cell type of column. switch(type) { case "json": @@ -2002,10 +2000,22 @@ define( case "boolean": col_cell = 'boolean'; break; + case "character": + case "character[]": + case "character varying": + case "character varying[]": + if (c.internal_size && c.internal_size != 65535) { + // Update column type to display length on column header + col_type += ' (' + c.internal_size + ')'; + } + col_cell = 'string'; + break; default: col_cell = 'string'; } + column_label = c.display_name + '
' + col_type; + var col = { 'name': c.name, 'label': column_label, diff --git a/web/pgadmin/tools/sqleditor/templates/sqleditor/sql/9.1_plus/insert.sql b/web/pgadmin/tools/sqleditor/templates/sqleditor/sql/9.1_plus/insert.sql index 24100aedd..f7139e483 100644 --- a/web/pgadmin/tools/sqleditor/templates/sqleditor/sql/9.1_plus/insert.sql +++ b/web/pgadmin/tools/sqleditor/templates/sqleditor/sql/9.1_plus/insert.sql @@ -12,5 +12,5 @@ INSERT INTO {{ conn|qtIdent(nsp_name, object_name) }} ( {% set col_value = data_to_be_saved[col]|qtLiteral %} {% endif %} {########################################################} -{% if not loop.first %}, {% endif %}{{ col_value }}::{{data_type[col]}}{% endfor %} +{% if not loop.first %}, {% endif %}{{ col_value }}{% endfor %} ); \ No newline at end of file diff --git a/web/pgadmin/tools/sqleditor/templates/sqleditor/sql/9.1_plus/update.sql b/web/pgadmin/tools/sqleditor/templates/sqleditor/sql/9.1_plus/update.sql index b95f19922..da649e38b 100644 --- a/web/pgadmin/tools/sqleditor/templates/sqleditor/sql/9.1_plus/update.sql +++ b/web/pgadmin/tools/sqleditor/templates/sqleditor/sql/9.1_plus/update.sql @@ -9,7 +9,7 @@ UPDATE {{ conn|qtIdent(nsp_name, object_name) }} SET {% set col_value = data_to_be_saved[col]|qtLiteral %} {% endif %} {########################################################} -{% if not loop.first %}, {% endif %}{{ conn|qtIdent(col) }} = {{ col_value }}::{{data_type[col]}}{% endfor %} +{% if not loop.first %}, {% endif %}{{ conn|qtIdent(col) }} = {{ col_value }}{% endfor %} WHERE {% for pk in primary_keys %} {% if not loop.first %} AND {% endif %}{{ conn|qtIdent(pk) }} = {{ primary_keys[pk]|qtLiteral }}{% endfor %}; \ No newline at end of file