Hi,
Please find attached patch to show tablespace on partitions.
Also reformatted sql slightly in sql tab.
--
*Harshal Dhumal*
*Sr. Software Engineer*
EnterpriseDB India: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/partition/sql/10_plus/create.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/partition/sql/10_plus/create.sql
index b5e9404..19eea8c 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/partition/sql/10_plus/create.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/partition/sql/10_plus/create.sql
@@ -19,9 +19,15 @@ CREATE {% if data.relpersistence %}UNLOGGED {% endif %}TABLE {{conn|qtIdent(data
{% endif %}
{{ data.partition_value }}{% if data.is_partitioned is defined and data.is_partitioned %}
- PARTITION BY {{ data.partition_scheme }}{% endif %};
+ PARTITION BY {{ data.partition_scheme }}{% endif %}
+{### SQL for Tablespace ###}
+{% if data.spcname %}
+TABLESPACE {{ conn|qtIdent(data.spcname) }};
+{% else %}
+;
+{% endif %}
{### Alter SQL for Owner ###}
{% if data.relowner %}
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/utils.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/utils.py
index 555133f..1b16454 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/utils.py
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/utils.py
@@ -1030,26 +1030,27 @@ class BaseTableView(PGChildNodeView):
if not status:
return internal_server_error(errormsg=rset)
- sql_header = u"\n-- Partitions SQL"
- partition_sql = ''
- for row in rset['rows']:
- part_data = dict()
- part_data['partitioned_table_name'] = data['name']
- part_data['parent_schema'] = data['schema']
- part_data['schema'] = row['schema_name']
- part_data['relispartition'] = True
- part_data['name'] = row['name']
- part_data['partition_value'] = row['partition_value']
- part_data['is_partitioned'] = row ['is_partitioned']
- part_data['partition_scheme'] = row['partition_scheme']
-
- partition_sql += render_template("/".join(
- [self.partition_template_path, 'create.sql']),
- data=part_data, conn=self.conn)
-
- # Add into main sql
- partition_sql = re.sub('\n{2,}', '\n\n', partition_sql)
- main_sql.append(sql_header + '\n\n' + partition_sql.strip('\n'))
+ if len(rset['rows']):
+ sql_header = u"\n-- Partitions SQL"
+ partition_sql = ''
+ for row in rset['rows']:
+ part_data = dict()
+ part_data['partitioned_table_name'] = data['name']
+ part_data['parent_schema'] = data['schema']
+ part_data['schema'] = row['schema_name']
+ part_data['relispartition'] = True
+ part_data['name'] = row['name']
+ part_data['partition_value'] = row['partition_value']
+ part_data['is_partitioned'] = row ['is_partitioned']
+ part_data['partition_scheme'] = row['partition_scheme']
+
+ partition_sql += render_template("/".join(
+ [self.partition_template_path, 'create.sql']),
+ data=part_data, conn=self.conn)
+
+ # Add into main sql
+ partition_sql = re.sub('\n{2,}', '\n\n', partition_sql)
+ main_sql.append(sql_header + '\n\n' + partition_sql.strip('\n'))
sql = '\n'.join(main_sql)