Hello Hackers,
In the attached patches we enable the display of partitions on GreenPlum
database and also correct SQL that was being used in the SQL tab form
Schemas
Thanks
Joao
diff --git
a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schema/gpdb_5.0_plus/sql/acl.sql
b/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schema/gpdb_5.0_plus/sql/acl.sql
index e1e64be6..a4a53863 100644
---
a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schema/gpdb_5.0_plus/sql/acl.sql
+++
b/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schema/gpdb_5.0_plus/sql/acl.sql
@@ -13,9 +13,24 @@ FROM
ELSE 'UNKNOWN - ' || (d).privilege_type
END AS privilege_type
FROM
-(SELECT aclexplode(nsp.nspacl) as d
-FROM pg_namespace nsp
-WHERE nsp.oid = {{ scid|qtLiteral }}::OID
+(
+SELECT
+u_grantor.oid AS grantor,
+grantee.oid AS grantee,
+pr.type AS privilege_type,
+aclcontains(nc.nspacl, makeaclitem(grantee.oid, u_grantor.oid,
pr.type, true)) AS is_grantable
+FROM pg_namespace nc, pg_authid u_grantor, (
+SELECT pg_authid.oid, pg_authid.rolname
+FROM pg_authid
+UNION ALL
+SELECT 0::oid AS oid, 'PUBLIC') grantee(oid, rolname),
+( SELECT 'CREATE'
+ UNION ALL
+ SELECT 'USAGE') pr(type)
+WHERE aclcontains(nc.nspacl, makeaclitem(grantee.oid, u_grantor.oid,
pr.type, false))
+AND (pg_has_role(u_grantor.oid, 'USAGE'::text) OR
pg_has_role(grantee.oid, 'USAGE'::text)
+OR grantee.rolname = 'PUBLIC'::name)
+AND nsp.oid = {{ scid|qtLiteral }}::OID
) a
) b
LEFT JOIN pg_catalog.pg_roles g ON (b.grantor = g.oid)
diff --git
a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schema/gpdb_5.0_plus/sql/defacl.sql
b/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schema/gpdb_5.0_plus/sql/defacl.sql
index 91c3085d..191e40cc 100644
---
a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schema/gpdb_5.0_plus/sql/defacl.sql
+++
b/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schema/gpdb_5.0_plus/sql/defacl.sql
@@ -1,40 +1,7 @@
SELECT
-CASE (a.deftype)
-WHEN 'r' THEN 'deftblacl'
-WHEN 'S' THEN 'defseqacl'
-WHEN 'f' THEN 'deffuncacl'
-WHEN 'T' THEN 'deftypeacl'
-ELSE 'UNKNOWN - ' || a.deftype
-END AS deftype,
-COALESCE(gt.rolname, 'PUBLIC') grantee, g.rolname grantor,
array_agg(a.privilege_type) as privileges, array_agg(a.is_grantable) as
grantable
-FROM
-(SELECT
-(acl).grantee as grantee, (acl).grantor AS grantor, (acl).is_grantable
AS is_grantable,
-CASE (acl).privilege_type
-WHEN 'CONNECT' THEN 'c'
-WHEN 'CREATE' THEN 'C'
-WHEN 'DELETE' THEN 'd'
-WHEN 'EXECUTE' THEN 'X'
-WHEN 'INSERT' THEN 'a'
-WHEN 'REFERENCES' THEN 'x'
-WHEN 'SELECT' THEN 'r'
-WHEN 'TEMPORARY' THEN 'T'
-WHEN 'TRIGGER' THEN 't'
-WHEN 'TRUNCATE' THEN 'D'
-WHEN 'UPDATE' THEN 'w'
-WHEN 'USAGE' THEN 'U'
-ELSE 'UNKNOWN - ' || (acl).privilege_type
-END AS privilege_type,
-defaclobjtype as deftype
-FROM
-(SELECT defaclobjtype, aclexplode(defaclacl) as acl
-FROM
-pg_namespace nsp
-LEFT OUTER JOIN pg_catalog.pg_default_acl dacl ON
(dacl.defaclnamespace = nsp.oid)
-WHERE
-nsp.oid={{scid}}::oid
-) d) a
-LEFT JOIN pg_catalog.pg_roles g ON (a.grantor = g.oid)
-LEFT JOIN pg_catalog.pg_roles gt ON (a.grantee = gt.oid)
-GROUP BY g.rolname, gt.rolname, a.deftype
-ORDER BY a.deftype;
+'' AS deftype,
+'' AS grantee,
+'' AS grantor,
+'' AS grantor,
+'' AS privileges,
+'' AS grantable
diff --git
a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schema/gpdb_5.0_plus/sql/properties.sql
b/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schema/gpdb_5.0_plus/sql/properties.sql
index ca2254d0..cce103ca 100644
---
a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schema/gpdb_5.0_plus/sql/properties.sql
+++
b/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schema/gpdb_5.0_plus/sql/properties.sql
@@ -13,30 +13,13 @@ SELECT
WHEN nspname LIKE E'pg\\_%' THEN true
ELSE false END AS is_sys_object,
{### Default ACL for Tables ###}
-(SELECT array_to_string(ARRAY(
-SELECT array_to_string(defaclacl::text[], ', ')
-FROM pg_default_acl
-WHERE defaclobjtype = 'r' AND defaclnamespace = nsp.oid
-), ', ')) AS tblacl,
+'' AS tblacl,
{### Default ACL for Sequnces ###}
-(SELECT array_to_string(ARRAY(
-SELECT array_to_string