From e94b14e7d75fe928ac2dd9ced37ec7f8a454bb84 Mon Sep 17 00:00:00 2001 From: Murtuza Zabuawala Date: Fri, 15 Jul 2016 12:13:57 +0100 Subject: [PATCH] Fix the issue in MATERIALIZED VIEW node where user was not able to add/update security label. Fixes #1458 --- .../views/templates/mview/pg/9.3_plus/sql/grant.sql | 4 ++-- .../views/templates/mview/pg/9.3_plus/sql/update.sql | 8 ++++---- .../views/templates/mview/pg/9.4_plus/sql/grant.sql | 4 ++-- .../views/templates/mview/pg/9.4_plus/sql/update.sql | 8 ++++---- .../views/templates/mview/ppas/9.3_plus/sql/grant.sql | 4 ++-- .../views/templates/mview/ppas/9.3_plus/sql/update.sql | 8 ++++---- 6 files changed, 18 insertions(+), 18 deletions(-) diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mview/pg/9.3_plus/sql/grant.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mview/pg/9.3_plus/sql/grant.sql index f46184863..be6e6de8c 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mview/pg/9.3_plus/sql/grant.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mview/pg/9.3_plus/sql/grant.sql @@ -1,6 +1,6 @@ {# ===== Grant Permissions to User Role on Views/Tables ==== #} -{% import 'macros/security.macros' as SECLABLE %} +{% import 'macros/schemas/security.macros' as SECLABLE %} {% import 'macros/schemas/privilege.macros' as PRIVILEGE %} {# We will generate Security Label SQL using macro #} -{% if data.seclabels %}{% for r in data.seclabels %}{{ SECLABLE.APPLY(conn, 'VIEW', data.name, r.provider, r.label) }}{% endfor %}{% endif %} +{% if data.seclabels %}{% for r in data.seclabels %}{{ SECLABLE.SET(conn, 'MATERIALIZED VIEW', data.name, r.provider, r.label, data.schema) }}{% endfor %}{% endif %} {% if data.datacl %}{% for priv in data.datacl %}{{ PRIVILEGE.SET(conn, 'TABLE', priv.grantee, data.name, priv.without_grant, priv.with_grant, data.schema) }}{% endfor %}{% endif %} diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mview/pg/9.3_plus/sql/update.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mview/pg/9.3_plus/sql/update.sql index e1f42fe85..1cc0db70f 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mview/pg/9.3_plus/sql/update.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mview/pg/9.3_plus/sql/update.sql @@ -1,5 +1,5 @@ {# ===================== Update View ===================#} -{% import 'macros/security.macros' as SECLABLE %} +{% import 'macros/schemas/security.macros' as SECLABLE %} {% import 'macros/schemas/privilege.macros' as PRIVILEGE %} {%- if data -%} {% set view_name = data.name if data.name else o_data.name %} @@ -197,17 +197,17 @@ COMMENT ON MATERIALIZED VIEW {{ conn|qtIdent(view_schema, view_name) }} {% set seclabels = data.seclabels %} {% if 'deleted' in seclabels and seclabels.deleted|length > 0 %} {% for r in seclabels.deleted %} -{{ SECLABLE.DROP(conn, 'VIEW', data.name, r.provider) }} +{{ SECLABLE.UNSET(conn, 'MATERIALIZED VIEW', data.name, r.provider, data.schema) }} {% endfor %} {% endif %} {% if 'added' in seclabels and seclabels.added|length > 0 %} {% for r in seclabels.added %} -{{ SECLABLE.APPLY(conn, 'VIEW', data.name, r.provider, r.label) }} +{{ SECLABLE.SET(conn, 'MATERIALIZED VIEW', data.name, r.provider, r.label, data.schema) }} {% endfor %} {% endif %} {% if 'changed' in seclabels and seclabels.changed|length > 0 %} {% for r in seclabels.changed %} -{{ SECLABLE.APPLY(conn, 'VIEW', data.name, r.provider, r.label) }} +{{ SECLABLE.SET(conn, 'MATERIALIZED VIEW', data.name, r.provider, r.label, data.schema) }} {% endfor %} {% endif %} {% endif %} diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mview/pg/9.4_plus/sql/grant.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mview/pg/9.4_plus/sql/grant.sql index f46184863..be6e6de8c 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mview/pg/9.4_plus/sql/grant.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mview/pg/9.4_plus/sql/grant.sql @@ -1,6 +1,6 @@ {# ===== Grant Permissions to User Role on Views/Tables ==== #} -{% import 'macros/security.macros' as SECLABLE %} +{% import 'macros/schemas/security.macros' as SECLABLE %} {% import 'macros/schemas/privilege.macros' as PRIVILEGE %} {# We will generate Security Label SQL using macro #} -{% if data.seclabels %}{% for r in data.seclabels %}{{ SECLABLE.APPLY(conn, 'VIEW', data.name, r.provider, r.label) }}{% endfor %}{% endif %} +{% if data.seclabels %}{% for r in data.seclabels %}{{ SECLABLE.SET(conn, 'MATERIALIZED VIEW', data.name, r.provider, r.label, data.schema) }}{% endfor %}{% endif %} {% if data.datacl %}{% for priv in data.datacl %}{{ PRIVILEGE.SET(conn, 'TABLE', priv.grantee, data.name, priv.without_grant, priv.with_grant, data.schema) }}{% endfor %}{% endif %} diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mview/pg/9.4_plus/sql/update.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mview/pg/9.4_plus/sql/update.sql index e1f42fe85..1cc0db70f 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mview/pg/9.4_plus/sql/update.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mview/pg/9.4_plus/sql/update.sql @@ -1,5 +1,5 @@ {# ===================== Update View ===================#} -{% import 'macros/security.macros' as SECLABLE %} +{% import 'macros/schemas/security.macros' as SECLABLE %} {% import 'macros/schemas/privilege.macros' as PRIVILEGE %} {%- if data -%} {% set view_name = data.name if data.name else o_data.name %} @@ -197,17 +197,17 @@ COMMENT ON MATERIALIZED VIEW {{ conn|qtIdent(view_schema, view_name) }} {% set seclabels = data.seclabels %} {% if 'deleted' in seclabels and seclabels.deleted|length > 0 %} {% for r in seclabels.deleted %} -{{ SECLABLE.DROP(conn, 'VIEW', data.name, r.provider) }} +{{ SECLABLE.UNSET(conn, 'MATERIALIZED VIEW', data.name, r.provider, data.schema) }} {% endfor %} {% endif %} {% if 'added' in seclabels and seclabels.added|length > 0 %} {% for r in seclabels.added %} -{{ SECLABLE.APPLY(conn, 'VIEW', data.name, r.provider, r.label) }} +{{ SECLABLE.SET(conn, 'MATERIALIZED VIEW', data.name, r.provider, r.label, data.schema) }} {% endfor %} {% endif %} {% if 'changed' in seclabels and seclabels.changed|length > 0 %} {% for r in seclabels.changed %} -{{ SECLABLE.APPLY(conn, 'VIEW', data.name, r.provider, r.label) }} +{{ SECLABLE.SET(conn, 'MATERIALIZED VIEW', data.name, r.provider, r.label, data.schema) }} {% endfor %} {% endif %} {% endif %} diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mview/ppas/9.3_plus/sql/grant.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mview/ppas/9.3_plus/sql/grant.sql index f46184863..be6e6de8c 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mview/ppas/9.3_plus/sql/grant.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mview/ppas/9.3_plus/sql/grant.sql @@ -1,6 +1,6 @@ {# ===== Grant Permissions to User Role on Views/Tables ==== #} -{% import 'macros/security.macros' as SECLABLE %} +{% import 'macros/schemas/security.macros' as SECLABLE %} {% import 'macros/schemas/privilege.macros' as PRIVILEGE %} {# We will generate Security Label SQL using macro #} -{% if data.seclabels %}{% for r in data.seclabels %}{{ SECLABLE.APPLY(conn, 'VIEW', data.name, r.provider, r.label) }}{% endfor %}{% endif %} +{% if data.seclabels %}{% for r in data.seclabels %}{{ SECLABLE.SET(conn, 'MATERIALIZED VIEW', data.name, r.provider, r.label, data.schema) }}{% endfor %}{% endif %} {% if data.datacl %}{% for priv in data.datacl %}{{ PRIVILEGE.SET(conn, 'TABLE', priv.grantee, data.name, priv.without_grant, priv.with_grant, data.schema) }}{% endfor %}{% endif %} diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mview/ppas/9.3_plus/sql/update.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mview/ppas/9.3_plus/sql/update.sql index e1f42fe85..1cc0db70f 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mview/ppas/9.3_plus/sql/update.sql +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/views/templates/mview/ppas/9.3_plus/sql/update.sql @@ -1,5 +1,5 @@ {# ===================== Update View ===================#} -{% import 'macros/security.macros' as SECLABLE %} +{% import 'macros/schemas/security.macros' as SECLABLE %} {% import 'macros/schemas/privilege.macros' as PRIVILEGE %} {%- if data -%} {% set view_name = data.name if data.name else o_data.name %} @@ -197,17 +197,17 @@ COMMENT ON MATERIALIZED VIEW {{ conn|qtIdent(view_schema, view_name) }} {% set seclabels = data.seclabels %} {% if 'deleted' in seclabels and seclabels.deleted|length > 0 %} {% for r in seclabels.deleted %} -{{ SECLABLE.DROP(conn, 'VIEW', data.name, r.provider) }} +{{ SECLABLE.UNSET(conn, 'MATERIALIZED VIEW', data.name, r.provider, data.schema) }} {% endfor %} {% endif %} {% if 'added' in seclabels and seclabels.added|length > 0 %} {% for r in seclabels.added %} -{{ SECLABLE.APPLY(conn, 'VIEW', data.name, r.provider, r.label) }} +{{ SECLABLE.SET(conn, 'MATERIALIZED VIEW', data.name, r.provider, r.label, data.schema) }} {% endfor %} {% endif %} {% if 'changed' in seclabels and seclabels.changed|length > 0 %} {% for r in seclabels.changed %} -{{ SECLABLE.APPLY(conn, 'VIEW', data.name, r.provider, r.label) }} +{{ SECLABLE.SET(conn, 'MATERIALIZED VIEW', data.name, r.provider, r.label, data.schema) }} {% endfor %} {% endif %} {% endif %}