Hi,

PFA patch to fix the issue where in column node we were not displaying
column's default value properly, for example if the default value is zero.
RM#1860

I have also fixed similar issue in foreign table module.

Please review.

--
Regards,
Murtuza Zabuawala
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
diff --git 
a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/9.2_plus/create.sql
 
b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/9.2_plus/create.sql
index d055de0..e751c7f 100644
--- 
a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/9.2_plus/create.sql
+++ 
b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/9.2_plus/create.sql
@@ -8,7 +8,7 @@ CREATE FOREIGN TABLE {{ conn|qtIdent(data.basensp, data.name) 
}}(
 {% for o in c.coloptions %}{% if o.option and o.value %}
 {% if loop.first %} OPTIONS ({% endif %}{% if not loop.first %}, {% endif 
%}{{o.option}} {{o.value|qtLiteral}}{% if loop.last %}){% endif %}{% endif %}
 {% endfor %}{% endif %}{% if c.attnotnull %}
- NOT NULL{% else %} NULL{% endif %}{% if c.typdefault %}
+ NOT NULL{% else %} NULL{% endif %}{% if c.typdefault is defined and 
c.typdefault is not none %}
  DEFAULT {{c.typdefault}}{% endif %}{% if c.collname %}
  COLLATE {{c.collname}}{% endif %}
 {% if not loop.last %},
diff --git 
a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/9.2_plus/update.sql
 
b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/9.2_plus/update.sql
index 8b85b90..ae01782 100644
--- 
a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/9.2_plus/update.sql
+++ 
b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/9.2_plus/update.sql
@@ -29,7 +29,7 @@ ALTER FOREIGN TABLE {{ conn|qtIdent(o_data.basensp, name) }}
 {% if loop.first %} OPTIONS ({% endif %}{% if not loop.first %}, {% endif 
%}{{o.option}} {{o.value|qtLiteral}}{% if loop.last %}){% endif %}{% endif %}
 {% endfor %}{% endif %}
 {% if c.attnotnull %} NOT NULL{% else %} NULL{% endif %}
-{% if c.typdefault %} DEFAULT {{c.typdefault}}{% endif %}
+{% if c.typdefault is defined and c.typdefault is not none %} DEFAULT 
{{c.typdefault}}{% endif %}
 {% if c.collname %} COLLATE {{c.collname}}{% endif %};
 {% endfor -%}
 {% for c in data.columns.changed %}
@@ -51,10 +51,10 @@ c.precision != o_data['columns'][c.attnum]['precision'] %}
 ALTER FOREIGN TABLE {{ conn|qtIdent(o_data.basensp, name) }}
     ALTER COLUMN {{conn|qtIdent(col_name)}} TYPE {{ 
conn|qtTypeIdent(c.datatype) }}{% if c.typlen %}({{c.typlen}}{% if c.precision 
%}, {{c.precision}}{% endif %}){% endif %}{% if c.isArrayType %}[]{% endif %};
 {% endif %}
-{% if c.typdefault != o_data['columns'][c.attnum]['typdefault'] %}
+{% if c.typdefault is defined and c.typdefault != 
o_data['columns'][c.attnum]['typdefault'] %}
 
 ALTER FOREIGN TABLE {{ conn|qtIdent(o_data.basensp, name) }}
-    ALTER COLUMN {{conn|qtIdent(col_name)}}{% if c.typdefault %} SET DEFAULT 
{{c.typdefault}}{% else %} DROP DEFAULT{% endif %};
+    ALTER COLUMN {{conn|qtIdent(col_name)}}{% if c.typdefault is defined and 
c.typdefault != '' %} SET DEFAULT {{c.typdefault}}{% else %} DROP DEFAULT{% 
endif %};
 {% endif %}
 {% if c.attstattarget != o_data['columns'][c.attnum]['attstattarget'] %}
 
diff --git 
a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/9.5_plus/create.sql
 
b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/9.5_plus/create.sql
index bccebd4..59250fe 100644
--- 
a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/9.5_plus/create.sql
+++ 
b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/9.5_plus/create.sql
@@ -12,7 +12,7 @@ CREATE FOREIGN TABLE {{ conn|qtIdent(data.basensp, data.name) 
}}(
 {% if loop.first %} OPTIONS ({% endif %}{% if not loop.first %}, {% endif 
%}{{o.option}} {{o.value|qtLiteral}}{% if loop.last %}){% endif %}{% endif %}
 {% endfor %}{% endif %}
 {% if c.attnotnull %} NOT NULL{% else %} NULL{% endif %}
-{% if c.typdefault %} DEFAULT {{c.typdefault}}{% endif %}
+{% if c.typdefault is defined and c.typdefault is not none %} DEFAULT 
{{c.typdefault}}{% endif %}
 {% if c.collname %} COLLATE {{c.collname}}{% endif %}
 {% if not loop.last %},
 {% endif %}
diff --git 
a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/9.5_plus/update.sql
 
b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/9.5_plus/update.sql
index 3fc81de..2cd59e3 100644
--- 
a/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/9.5_plus/update.sql
+++ 
b/web/pgadmin/browser/server_groups/servers/databases/schemas/foreign_tables/templates/foreign_tables/sql/9.5_plus/update.sql
@@ -29,7 +29,7 @@ ALTER FOREIGN TABLE {{ conn|qtIdent(o_data.basensp, name) }}
 {% if loop.first %} OPTIONS ({% endif %}{% if not loop.first %}, {% endif 
%}{{o.option}} {{o.value|qtLiteral}}{% if loop.last %}){% endif %}{% endif %}
 {% endfor %}{% endif %}
 {% if c.attnotnull %} NOT NULL{% else %} NULL{% endif %}
-{% if c.typdefault %} DEFAULT {{c.typdefault}}{% endif %}
+{% if c.typdefault is defined and c.typdefault is not none %} DEFAULT 
{{c.typdefault}}{% endif %}
 {% if c.collname %} COLLATE {{c.collname}}{% endif %};
 {% endif %}
 {% endfor -%}
@@ -52,10 +52,10 @@ c.precision != o_data['columns'][c.attnum]['precision'] %}
 ALTER FOREIGN TABLE {{ conn|qtIdent(o_data.basensp, name) }}
     ALTER COLUMN {{conn|qtIdent(col_name)}} TYPE {{ 
conn|qtTypeIdent(c.datatype) }}{% if c.typlen %}({{c.typlen}}{% if c.precision 
%}, {{c.precision}}{% endif %}){% endif %}{% if c.isArrayType %}[]{% endif %};
 {% endif %}
-{% if c.typdefault != o_data['columns'][c.attnum]['typdefault'] %}
+{% if c.typdefault is defined and c.typdefault != 
o_data['columns'][c.attnum]['typdefault'] %}
 
 ALTER FOREIGN TABLE {{ conn|qtIdent(o_data.basensp, name) }}
-    ALTER COLUMN {{conn|qtIdent(col_name)}}{% if c.typdefault %} SET DEFAULT 
{{c.typdefault}}{% else %} DROP DEFAULT{% endif %};
+    ALTER COLUMN {{conn|qtIdent(col_name)}}{% if c.typdefault is defined and 
c.typdefault != '' %} SET DEFAULT {{c.typdefault}}{% else %} DROP DEFAULT{% 
endif %};
 {% endif %}
 {% if c.attstattarget != o_data['columns'][c.attnum]['attstattarget'] %}
 
diff --git 
a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/column/sql/9.2_plus/update.sql
 
b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/column/sql/9.2_plus/update.sql
index 7728a2a..2fef3b4 100644
--- 
a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/column/sql/9.2_plus/update.sql
+++ 
b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/column/sql/9.2_plus/update.sql
@@ -15,7 +15,7 @@ ALTER TABLE {{conn|qtIdent(data.schema, data.table)}}
  COLLATE {{data.collspcname}}{% endif %};
 {% endif %}
 {###  Alter column default value ###}
-{% if data.defval and data.defval != o_data.defval %}
+{% if data.defval is defined and data.defval is not none and data.defval != '' 
and data.defval != o_data.defval %}
 ALTER TABLE {{conn|qtIdent(data.schema, data.table)}}
     ALTER COLUMN {% if data.name %}{{conn|qtTypeIdent(data.name)}}{% else 
%}{{conn|qtTypeIdent(o_data.name)}}{% endif %} SET DEFAULT {{data.defval}};
 
diff --git 
a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/column/sql/default/create.sql
 
b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/column/sql/default/create.sql
index 5bc521c..efeaf6b 100644
--- 
a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/column/sql/default/create.sql
+++ 
b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/column/sql/default/create.sql
@@ -7,7 +7,7 @@
 ALTER TABLE {{conn|qtIdent(data.schema, data.table)}}
     ADD COLUMN {{conn|qtIdent(data.name)}} {% if is_sql 
%}{{data.displaytypname}}{% else %}{{ GET_TYPE.CREATE_TYPE_SQL(conn, 
data.cltype, data.attlen, data.attprecision, data.hasSqrBracket) }}{% endif 
%}{% if data.collspcname %}
  COLLATE {{data.collspcname}}{% endif %}{% if data.attnotnull %}
- NOT NULL{% endif %}{% if data.defval %}
+ NOT NULL{% endif %}{% if data.defval is defined and data.defval is not none %}
  DEFAULT {{data.defval}}{% endif %};
 
 {% endif %}
diff --git 
a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/column/sql/default/update.sql
 
b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/column/sql/default/update.sql
index 5f48672..fe2c73e 100644
--- 
a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/column/sql/default/update.sql
+++ 
b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/column/sql/default/update.sql
@@ -15,7 +15,7 @@ ALTER TABLE {{conn|qtIdent(data.schema, data.table)}}
  COLLATE {{data.collspcname}}{% endif %};
 {% endif %}
 {###  Alter column default value ###}
-{% if data.defval and data.defval != o_data.defval %}
+{% if data.defval is defined and data.defval is not none and data.defval != '' 
and data.defval != o_data.defval %}
 ALTER TABLE {{conn|qtIdent(data.schema, data.table)}}
     ALTER COLUMN {% if data.name %}{{conn|qtTypeIdent(data.name)}}{% else 
%}{{conn|qtTypeIdent(o_data.name)}}{% endif %} SET DEFAULT {{data.defval}};
 

Reply via email to