public inbox for [email protected]
help / color / mirror / Atom feedPATCH: To fix the isssue where several default privileges cause error (pgAdmin4)
2+ messages / 2 participants
[nested] [flat]
* PATCH: To fix the isssue where several default privileges cause error (pgAdmin4)
@ 2016-09-16 11:17 Murtuza Zabuawala <[email protected]>
2016-09-16 15:09 ` Re: PATCH: To fix the isssue where several default privileges cause error (pgAdmin4) Dave Page <[email protected]>
0 siblings, 1 reply; 2+ messages in thread
From: Murtuza Zabuawala @ 2016-09-16 11:17 UTC (permalink / raw)
To: pgadmin-hackers
Hi,
PFA patch to fix the issue where several default privileges cause error on
database.
RM#1670
*Issue:*
There were multiple rows returned by subquery that was the issue.
--
Regards,
Murtuza Zabuawala
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
--
Sent via pgadmin-hackers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgadmin-hackers
Attachments:
[application/octet-stream] RM_1670.patch (15.3K, 3-RM_1670.patch)
download | inline diff:
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schema/pg/9.1_plus/sql/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schema/pg/9.1_plus/sql/properties.sql
index 8c9d47a..7e18973 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schema/pg/9.1_plus/sql/properties.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schema/pg/9.1_plus/sql/properties.sql
@@ -12,9 +12,24 @@ SELECT
CASE
WHEN nspname LIKE E'pg\\_%' THEN true
ELSE false END AS is_sys_object,
- (SELECT array_to_string(defaclacl::text[], ', ') FROM pg_default_acl WHERE defaclobjtype = 'r' AND defaclnamespace = nsp.oid) AS tblacl,
- (SELECT array_to_string(defaclacl::text[], ', ') FROM pg_default_acl WHERE defaclobjtype = 'S' AND defaclnamespace = nsp.oid) AS seqacl,
- (SELECT array_to_string(defaclacl::text[], ', ') FROM pg_default_acl WHERE defaclobjtype = 'f' AND defaclnamespace = nsp.oid) AS funcacl,
+ {### 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,
+ {### Default ACL for Sequnces ###}
+ (SELECT array_to_string(ARRAY(
+ SELECT array_to_string(defaclacl::text[], ', ')
+ FROM pg_default_acl
+ WHERE defaclobjtype = 'S' AND defaclnamespace = nsp.oid
+ ), ', ')) AS seqacl,
+ {### Default ACL for Functions ###}
+ (SELECT array_to_string(ARRAY(
+ SELECT array_to_string(defaclacl::text[], ', ')
+ FROM pg_default_acl
+ WHERE defaclobjtype = 'f' AND defaclnamespace = nsp.oid
+ ), ', ')) AS funcacl,
(SELECT array_agg(provider || '=' || label) FROM pg_seclabels sl1 WHERE sl1.objoid=nsp.oid) AS seclabels
FROM
pg_namespace nsp
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schema/pg/9.2_plus/sql/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schema/pg/9.2_plus/sql/properties.sql
index e46a630..3cb0572 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schema/pg/9.2_plus/sql/properties.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schema/pg/9.2_plus/sql/properties.sql
@@ -12,10 +12,30 @@ SELECT
CASE
WHEN nspname LIKE E'pg\\_%' THEN true
ELSE false END AS is_sys_object,
- (SELECT array_to_string(defaclacl::text[], ', ') FROM pg_default_acl WHERE defaclobjtype = 'r' AND defaclnamespace = nsp.oid) AS tblacl,
- (SELECT array_to_string(defaclacl::text[], ', ') FROM pg_default_acl WHERE defaclobjtype = 'S' AND defaclnamespace = nsp.oid) AS seqacl,
- (SELECT array_to_string(defaclacl::text[], ', ') FROM pg_default_acl WHERE defaclobjtype = 'f' AND defaclnamespace = nsp.oid) AS funcacl,
- (SELECT array_to_string(defaclacl::text[], ', ') FROM pg_default_acl WHERE defaclobjtype = 'T' AND defaclnamespace = nsp.oid) AS typeacl,
+ {### 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,
+ {### Default ACL for Sequnces ###}
+ (SELECT array_to_string(ARRAY(
+ SELECT array_to_string(defaclacl::text[], ', ')
+ FROM pg_default_acl
+ WHERE defaclobjtype = 'S' AND defaclnamespace = nsp.oid
+ ), ', ')) AS seqacl,
+ {### Default ACL for Functions ###}
+ (SELECT array_to_string(ARRAY(
+ SELECT array_to_string(defaclacl::text[], ', ')
+ FROM pg_default_acl
+ WHERE defaclobjtype = 'f' AND defaclnamespace = nsp.oid
+ ), ', ')) AS funcacl,
+ {### Default ACL for Type ###}
+ (SELECT array_to_string(ARRAY(
+ SELECT array_to_string(defaclacl::text[], ', ')
+ FROM pg_default_acl
+ WHERE defaclobjtype = 'T' AND defaclnamespace = nsp.oid
+ ), ', ')) AS typeacl,
(SELECT array_agg(provider || '=' || label) FROM pg_seclabels sl1 WHERE sl1.objoid=nsp.oid) AS seclabels
FROM
pg_namespace nsp
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schema/ppas/9.1_plus/sql/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schema/ppas/9.1_plus/sql/properties.sql
index fcb31ce..f3e7a08 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schema/ppas/9.1_plus/sql/properties.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schema/ppas/9.1_plus/sql/properties.sql
@@ -12,9 +12,24 @@ SELECT
CASE
WHEN nspname LIKE E'pg\\_%' THEN true
ELSE false END AS is_sys_object,
- (SELECT array_to_string(defaclacl::text[], ', ') FROM pg_default_acl WHERE defaclobjtype = 'r' AND defaclnamespace = nsp.oid) AS tblacl,
- (SELECT array_to_string(defaclacl::text[], ', ') FROM pg_default_acl WHERE defaclobjtype = 'S' AND defaclnamespace = nsp.oid) AS seqacl,
- (SELECT array_to_string(defaclacl::text[], ', ') FROM pg_default_acl WHERE defaclobjtype = 'f' AND defaclnamespace = nsp.oid) AS funcacl
+ {### 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,
+ {### Default ACL for Sequnces ###}
+ (SELECT array_to_string(ARRAY(
+ SELECT array_to_string(defaclacl::text[], ', ')
+ FROM pg_default_acl
+ WHERE defaclobjtype = 'S' AND defaclnamespace = nsp.oid
+ ), ', ')) AS seqacl,
+ {### Default ACL for Functions ###}
+ (SELECT array_to_string(ARRAY(
+ SELECT array_to_string(defaclacl::text[], ', ')
+ FROM pg_default_acl
+ WHERE defaclobjtype = 'f' AND defaclnamespace = nsp.oid
+ ), ', ')) AS funcacl
FROM
pg_namespace nsp
LEFT OUTER JOIN pg_description des ON
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schema/ppas/9.2_plus/sql/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schema/ppas/9.2_plus/sql/properties.sql
index 001b1ab..33dc16c 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schema/ppas/9.2_plus/sql/properties.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/templates/schema/ppas/9.2_plus/sql/properties.sql
@@ -12,10 +12,30 @@ SELECT
CASE
WHEN nspname LIKE E'pg\\_%' THEN true
ELSE false END AS is_sys_object,
- (SELECT array_to_string(defaclacl::text[], ', ') FROM pg_default_acl WHERE defaclobjtype = 'r' AND defaclnamespace = nsp.oid) AS tblacl,
- (SELECT array_to_string(defaclacl::text[], ', ') FROM pg_default_acl WHERE defaclobjtype = 'S' AND defaclnamespace = nsp.oid) AS seqacl,
- (SELECT array_to_string(defaclacl::text[], ', ') FROM pg_default_acl WHERE defaclobjtype = 'f' AND defaclnamespace = nsp.oid) AS funcacl,
- (SELECT array_to_string(defaclacl::text[], ', ') FROM pg_default_acl WHERE defaclobjtype = 'T' AND defaclnamespace = nsp.oid) AS typeacl
+ {### 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,
+ {### Default ACL for Sequnces ###}
+ (SELECT array_to_string(ARRAY(
+ SELECT array_to_string(defaclacl::text[], ', ')
+ FROM pg_default_acl
+ WHERE defaclobjtype = 'S' AND defaclnamespace = nsp.oid
+ ), ', ')) AS seqacl,
+ {### Default ACL for Functions ###}
+ (SELECT array_to_string(ARRAY(
+ SELECT array_to_string(defaclacl::text[], ', ')
+ FROM pg_default_acl
+ WHERE defaclobjtype = 'f' AND defaclnamespace = nsp.oid
+ ), ', ')) AS funcacl,
+ {### Default ACL for Type ###}
+ (SELECT array_to_string(ARRAY(
+ SELECT array_to_string(defaclacl::text[], ', ')
+ FROM pg_default_acl
+ WHERE defaclobjtype = 'T' AND defaclnamespace = nsp.oid
+ ), ', ')) AS typeacl
FROM
pg_namespace nsp
LEFT OUTER JOIN pg_description des ON
diff --git a/web/pgadmin/browser/server_groups/servers/databases/templates/databases/sql/9.1_plus/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/templates/databases/sql/9.1_plus/properties.sql
index 34969d6..65711ce 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/templates/databases/sql/9.1_plus/properties.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/templates/databases/sql/9.1_plus/properties.sql
@@ -5,9 +5,24 @@ SELECT
has_database_privilege(db.oid, 'CREATE') as cancreate,
current_setting('default_tablespace') AS default_tablespace,
descr.description as comments,
- (SELECT array_to_string(defaclacl::text[], ', ') FROM pg_default_acl WHERE defaclobjtype = 'r' AND defaclnamespace = 0::OID) AS tblacl,
- (SELECT array_to_string(defaclacl::text[], ', ') FROM pg_default_acl WHERE defaclobjtype = 'S' AND defaclnamespace = 0::OID) AS seqacl,
- (SELECT array_to_string(defaclacl::text[], ', ') FROM pg_default_acl WHERE defaclobjtype = 'f' AND defaclnamespace = 0::OID) AS funcacl,
+ {### Default ACL for Tables ###}
+ (SELECT array_to_string(ARRAY(
+ SELECT array_to_string(defaclacl::text[], ', ')
+ FROM pg_default_acl
+ WHERE defaclobjtype = 'r' AND defaclnamespace = 0::OID
+ ), ', ')) AS tblacl,
+ {### Default ACL for Sequnces ###}
+ (SELECT array_to_string(ARRAY(
+ SELECT array_to_string(defaclacl::text[], ', ')
+ FROM pg_default_acl
+ WHERE defaclobjtype = 'S' AND defaclnamespace = 0::OID
+ ), ', ')) AS seqacl,
+ {### Default ACL for Functions ###}
+ (SELECT array_to_string(ARRAY(
+ SELECT array_to_string(defaclacl::text[], ', ')
+ FROM pg_default_acl
+ WHERE defaclobjtype = 'f' AND defaclnamespace = 0::OID
+ ), ', ')) AS funcacl,
array_to_string(datacl::text[], ', ') AS acl
FROM pg_database db
LEFT OUTER JOIN pg_tablespace ta ON db.dattablespace=ta.OID
diff --git a/web/pgadmin/browser/server_groups/servers/databases/templates/databases/sql/9.2_plus/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/templates/databases/sql/9.2_plus/properties.sql
index 3c6a749..d519823 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/templates/databases/sql/9.2_plus/properties.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/templates/databases/sql/9.2_plus/properties.sql
@@ -5,10 +5,30 @@ SELECT
has_database_privilege(db.oid, 'CREATE') as cancreate,
current_setting('default_tablespace') AS default_tablespace,
descr.description as comments,
- (SELECT array_to_string(defaclacl::text[], ', ') FROM pg_default_acl WHERE defaclobjtype = 'r' AND defaclnamespace = 0::OID) AS tblacl,
- (SELECT array_to_string(defaclacl::text[], ', ') FROM pg_default_acl WHERE defaclobjtype = 'S' AND defaclnamespace = 0::OID) AS seqacl,
- (SELECT array_to_string(defaclacl::text[], ', ') FROM pg_default_acl WHERE defaclobjtype = 'f' AND defaclnamespace = 0::OID) AS funcacl,
- (SELECT array_to_string(defaclacl::text[], ', ') FROM pg_default_acl WHERE defaclobjtype = 'T' AND defaclnamespace = 0::OID) AS typeacl,
+ {### Default ACL for Tables ###}
+ (SELECT array_to_string(ARRAY(
+ SELECT array_to_string(defaclacl::text[], ', ')
+ FROM pg_default_acl
+ WHERE defaclobjtype = 'r' AND defaclnamespace = 0::OID
+ ), ', ')) AS tblacl,
+ {### Default ACL for Sequnces ###}
+ (SELECT array_to_string(ARRAY(
+ SELECT array_to_string(defaclacl::text[], ', ')
+ FROM pg_default_acl
+ WHERE defaclobjtype = 'S' AND defaclnamespace = 0::OID
+ ), ', ')) AS seqacl,
+ {### Default ACL for Functions ###}
+ (SELECT array_to_string(ARRAY(
+ SELECT array_to_string(defaclacl::text[], ', ')
+ FROM pg_default_acl
+ WHERE defaclobjtype = 'f' AND defaclnamespace = 0::OID
+ ), ', ')) AS funcacl,
+ {### Default ACL for Type ###}
+ (SELECT array_to_string(ARRAY(
+ SELECT array_to_string(defaclacl::text[], ', ')
+ FROM pg_default_acl
+ WHERE defaclobjtype = 'T' AND defaclnamespace = 0::OID
+ ), ', ')) AS typeacl,
(SELECT array_agg(provider || '=' || label) FROM pg_shseclabel sl1 WHERE sl1.objoid=db.oid) AS seclabels,
array_to_string(datacl::text[], ', ') AS acl
FROM pg_database db
@@ -22,4 +42,4 @@ db.datname = {{ name|qtLiteral }}::text{% else %}
db.oid > {{ last_system_oid|qtLiteral }}::OID
{% endif %}{% endif %}
-ORDER BY datname
+ORDER BY datname;
\ No newline at end of file
diff --git a/web/pgadmin/browser/server_groups/servers/databases/templates/databases/sql/9.3_plus/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/templates/databases/sql/9.3_plus/properties.sql
index 3c6a749..d519823 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/templates/databases/sql/9.3_plus/properties.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/templates/databases/sql/9.3_plus/properties.sql
@@ -5,10 +5,30 @@ SELECT
has_database_privilege(db.oid, 'CREATE') as cancreate,
current_setting('default_tablespace') AS default_tablespace,
descr.description as comments,
- (SELECT array_to_string(defaclacl::text[], ', ') FROM pg_default_acl WHERE defaclobjtype = 'r' AND defaclnamespace = 0::OID) AS tblacl,
- (SELECT array_to_string(defaclacl::text[], ', ') FROM pg_default_acl WHERE defaclobjtype = 'S' AND defaclnamespace = 0::OID) AS seqacl,
- (SELECT array_to_string(defaclacl::text[], ', ') FROM pg_default_acl WHERE defaclobjtype = 'f' AND defaclnamespace = 0::OID) AS funcacl,
- (SELECT array_to_string(defaclacl::text[], ', ') FROM pg_default_acl WHERE defaclobjtype = 'T' AND defaclnamespace = 0::OID) AS typeacl,
+ {### Default ACL for Tables ###}
+ (SELECT array_to_string(ARRAY(
+ SELECT array_to_string(defaclacl::text[], ', ')
+ FROM pg_default_acl
+ WHERE defaclobjtype = 'r' AND defaclnamespace = 0::OID
+ ), ', ')) AS tblacl,
+ {### Default ACL for Sequnces ###}
+ (SELECT array_to_string(ARRAY(
+ SELECT array_to_string(defaclacl::text[], ', ')
+ FROM pg_default_acl
+ WHERE defaclobjtype = 'S' AND defaclnamespace = 0::OID
+ ), ', ')) AS seqacl,
+ {### Default ACL for Functions ###}
+ (SELECT array_to_string(ARRAY(
+ SELECT array_to_string(defaclacl::text[], ', ')
+ FROM pg_default_acl
+ WHERE defaclobjtype = 'f' AND defaclnamespace = 0::OID
+ ), ', ')) AS funcacl,
+ {### Default ACL for Type ###}
+ (SELECT array_to_string(ARRAY(
+ SELECT array_to_string(defaclacl::text[], ', ')
+ FROM pg_default_acl
+ WHERE defaclobjtype = 'T' AND defaclnamespace = 0::OID
+ ), ', ')) AS typeacl,
(SELECT array_agg(provider || '=' || label) FROM pg_shseclabel sl1 WHERE sl1.objoid=db.oid) AS seclabels,
array_to_string(datacl::text[], ', ') AS acl
FROM pg_database db
@@ -22,4 +42,4 @@ db.datname = {{ name|qtLiteral }}::text{% else %}
db.oid > {{ last_system_oid|qtLiteral }}::OID
{% endif %}{% endif %}
-ORDER BY datname
+ORDER BY datname;
\ No newline at end of file
^ permalink raw reply [nested|flat] 2+ messages in thread
* Re: PATCH: To fix the isssue where several default privileges cause error (pgAdmin4)
2016-09-16 11:17 PATCH: To fix the isssue where several default privileges cause error (pgAdmin4) Murtuza Zabuawala <[email protected]>
@ 2016-09-16 15:09 ` Dave Page <[email protected]>
0 siblings, 0 replies; 2+ messages in thread
From: Dave Page @ 2016-09-16 15:09 UTC (permalink / raw)
To: Murtuza Zabuawala <[email protected]>; +Cc: pgadmin-hackers
Thanks, applied.
On Fri, Sep 16, 2016 at 12:17 PM, Murtuza Zabuawala
<[email protected]> wrote:
> Hi,
>
>
> PFA patch to fix the issue where several default privileges cause error on
> database.
> RM#1670
>
> Issue:
> There were multiple rows returned by subquery that was the issue.
>
> --
> Regards,
> Murtuza Zabuawala
> EnterpriseDB: http://www.enterprisedb.com
> The Enterprise PostgreSQL Company
>
>
> --
> Sent via pgadmin-hackers mailing list ([email protected])
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgadmin-hackers
>
--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake
EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
--
Sent via pgadmin-hackers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgadmin-hackers
^ permalink raw reply [nested|flat] 2+ messages in thread
end of thread, other threads:[~2016-09-16 15:09 UTC | newest]
Thread overview: 2+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2016-09-16 11:17 PATCH: To fix the isssue where several default privileges cause error (pgAdmin4) Murtuza Zabuawala <[email protected]>
2016-09-16 15:09 ` Dave Page <[email protected]>
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox