diff --git a/docs/en_US/function_dialog.rst b/docs/en_US/function_dialog.rst index 0efdee33..c8a0c027 100644 --- a/docs/en_US/function_dialog.rst +++ b/docs/en_US/function_dialog.rst @@ -87,6 +87,8 @@ function: The default assumption is 1000 rows. * Move the *Leak proof?* switch to indicate whether the function has side effects. The default is *No*. This option can only be set by the superuser. +* Use the *Support function* field to specify the name (optionally schema-qualified) + of the planner support function to use for the function. Click the *Arguments* tab to continue. diff --git a/docs/en_US/images/function_options.png b/docs/en_US/images/function_options.png old mode 100755 new mode 100644 index bcb88ba9440c794879c0059f09c6155fa3b84d80..53d29e9a9730bf9ac51d4b2d82fe2d00cad28523 GIT binary patch literal 100267 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 h;@|1+J|ZZ%CzR#a0iTeF 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 0 %} + + ROWS {{data.prorows}}{% endif %} + + {% if data.prosupportfunc %}SUPPORT {{ data.prosupportfunc }}{% endif -%}{% if data.variables %}{% for v in data.variables %} + + SET {{ conn|qtIdent(v.name) }}={{ v.value|qtLiteral }}{% endfor %} +{% endif %} + +AS {% if data.lanname == 'c' %} +{{ data.probin|qtLiteral }}, {{ data.prosrc_c|qtLiteral }} +{% else %} +$BODY${{ data.prosrc }}$BODY${% endif -%}; +{% if data.funcowner %} + +ALTER FUNCTION {{ conn|qtIdent(data.pronamespace, data.name) }}({{data.func_args_without}}) + OWNER TO {{ conn|qtIdent(data.funcowner) }}; +{% endif -%} +{% if data.acl %} +{% for p in data.acl %} + +{{ PRIVILEGE.SET(conn, "FUNCTION", p.grantee, data.name, p.without_grant, p.with_grant, data.pronamespace, data.func_args_without)}} +{% endfor %}{% endif %} +{% if data.revoke_all %} + +{{ PRIVILEGE.UNSETALL(conn, "FUNCTION", "PUBLIC", data.name, data.pronamespace, data.func_args_without)}} +{% endif %} +{% if data.description %} + +COMMENT ON FUNCTION {{ conn|qtIdent(data.pronamespace, data.name) }}({{data.func_args_without}}) + IS {{ data.description|qtLiteral }}; +{% endif -%} +{% if data.seclabels %} +{% for r in data.seclabels %} +{% if r.label and r.provider %} + +{{ SECLABEL.SET(conn, 'FUNCTION', data.name, r.provider, r.label, data.pronamespace, data.func_args_without) }} +{% endif %} +{% endfor %} +{% endif -%} + +{% endif %} diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/pg/sql/12_plus/get_support_functions.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/pg/sql/12_plus/get_support_functions.sql new file mode 100644 index 00000000..4ce65f59 --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/pg/sql/12_plus/get_support_functions.sql @@ -0,0 +1,12 @@ +SELECT quote_ident(nspname) || '.' || quote_ident(proname) AS sfunctions +FROM pg_proc p, pg_namespace n, pg_language l +WHERE p.pronamespace = n.oid +AND p.prolang = l.oid +AND p.prorettype = 'internal'::regtype::oid +AND pg_catalog.array_to_string(p.proargtypes, ',') = 'internal'::regtype::oid::text +AND (l.lanname = 'internal' or l.lanname = 'c' ) +-- -- If Show SystemObjects is not true +{% if not show_system_objects %} + AND (nspname NOT LIKE 'pg\_%' AND nspname NOT in ('information_schema')) +{% endif %} +ORDER BY nspname ASC, proname ASC diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/pg/sql/12_plus/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/pg/sql/12_plus/properties.sql new file mode 100644 index 00000000..e28d46b7 --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/pg/sql/12_plus/properties.sql @@ -0,0 +1,40 @@ +SELECT + pr.oid, pr.xmin, pr.*, pr.prosrc AS prosrc_c, + pr.proname AS name, pg_get_function_result(pr.oid) AS prorettypename, + typns.nspname AS typnsp, lanname, proargnames, oidvectortypes(proargtypes) AS proargtypenames, + pg_get_expr(proargdefaults, 'pg_catalog.pg_class'::regclass) AS proargdefaultvals, + pronargdefaults, proconfig, pg_get_userbyid(proowner) AS funcowner, description, + CASE WHEN pr.prokind = 'w' THEN TRUE ELSE FALSE END AS proiswindow, + CASE WHEN prosupport = 0::oid THEN '' + ELSE ( + SELECT quote_ident(nspname) || '.' || quote_ident(proname) AS tfunctions + FROM pg_proc p, pg_namespace n + WHERE p.pronamespace = n.oid + AND p.oid = pr.prosupport::OID + ) END AS prosupportfunc, + (SELECT + array_agg(provider || '=' || label) + FROM + pg_seclabel sl1 + WHERE + sl1.objoid=pr.oid) AS seclabels +FROM + pg_proc pr +JOIN + pg_type typ ON typ.oid=prorettype +JOIN + pg_namespace typns ON typns.oid=typ.typnamespace +JOIN + pg_language lng ON lng.oid=prolang +LEFT OUTER JOIN + pg_description des ON (des.objoid=pr.oid AND des.classoid='pg_proc'::regclass) +WHERE + pr.prokind IN ('f', 'w') +{% if fnid %} + AND pr.oid = {{fnid}}::oid +{% else %} + AND pronamespace = {{scid}}::oid +{% endif %} + AND typname NOT IN ('trigger', 'event_trigger') +ORDER BY + proname; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/pg/sql/12_plus/update.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/pg/sql/12_plus/update.sql new file mode 100644 index 00000000..8edde791 --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/pg/sql/12_plus/update.sql @@ -0,0 +1,118 @@ +{% import 'macros/functions/security.macros' as SECLABEL %} +{% import 'macros/functions/privilege.macros' as PRIVILEGE %} +{% import 'macros/functions/variable.macros' as VARIABLE %}{% if data %} +{% set name = o_data.name %} +{% if data.name %} +{% if data.name != o_data.name %} +ALTER FUNCTION {{ conn|qtIdent(o_data.pronamespace, o_data.name) }}({{ +o_data.proargtypenames }}) + RENAME TO {{ conn|qtIdent(data.name) }}; +{% set name = data.name %} +{% endif %} +{% endif -%} +{% if data.change_func %} + +CREATE OR REPLACE FUNCTION {{ conn|qtIdent(o_data.pronamespace, name) }}({% if data.arguments %} +{% for p in data.arguments %}{% if p.argmode %}{{p.argmode}} {% endif %}{% if p.argname %}{{ conn|qtIdent(p.argname) }} {% endif %}{% if p.argtype %}{{ p.argtype }}{% endif %}{% if p.argdefval %} DEFAULT {{p.argdefval}}{% endif %} +{% if not loop.last %},{% endif %} +{% endfor %} +{% endif -%} +) + RETURNS {{ o_data.prorettypename }} +{% if 'lanname' in data %} + LANGUAGE {{ data.lanname|qtLiteral }} {% else %} + LANGUAGE {{ o_data.lanname|qtLiteral }} + {% endif %}{% if 'provolatile' in data and data.provolatile %}{{ data.provolatile }} {% elif 'provolatile' not in data and o_data.provolatile %}{{ o_data.provolatile }}{% endif %} +{% if ('proleakproof' in data and data.proleakproof) or ('proleakproof' not in data and o_data.proleakproof) %} LEAKPROOF{% elif 'proleakproof' in data and not data.proleakproof %} NOT LEAKPROOF{% endif %} +{% if ('proisstrict' in data and data.proisstrict) or ('proisstrict' not in data and o_data.proisstrict) %} STRICT{% endif %} +{% if ('prosecdef' in data and data.prosecdef) or ('prosecdef' not in data and o_data.prosecdef) %} SECURITY DEFINER{% endif %} +{% if ('proiswindow' in data and data.proiswindow) or ('proiswindow' not in data and o_data.proiswindow) %} WINDOW{% endif %} + + {% if 'proparallel' in data and data.proparallel %}PARALLEL {{ data.proparallel }}{% elif 'proparallel' not in data and o_data.proparallel %}PARALLEL {{ o_data.proparallel }}{% endif %} + + {% if data.procost %}COST {{data.procost}}{% elif o_data.procost %}COST {{o_data.procost}}{% endif %}{% if data.prorows %} + + ROWS {{data.prorows}}{% elif data.prorows is not defined and o_data.prorows and o_data.prorows != '0' %} ROWS {{o_data.prorows}} {%endif %} + + {% if data.prosupportfunc %}SUPPORT {{ data.prosupportfunc }}{% elif data.prosupportfunc is not defined and o_data.prosupportfunc %}SUPPORT {{ o_data.prosupportfunc }}{% endif -%}{% if data.merged_variables %}{% for v in data.merged_variables %} + + SET {{ conn|qtIdent(v.name) }}={{ v.value|qtLiteral }}{% endfor -%} + {% endif %} + +AS {% if 'probin' in data or 'prosrc_c' in data %} +{% if 'probin' in data %}{{ data.probin|qtLiteral }}{% else %}{{ o_data.probin|qtLiteral }}{% endif %}, {% if 'prosrc_c' in data %}{{ data.prosrc_c|qtLiteral }}{% else %}{{ o_data.prosrc_c|qtLiteral }}{% endif %}{% elif 'prosrc' in data %} +$BODY${{ data.prosrc }}$BODY${% elif o_data.lanname == 'c' %} +{{ o_data.probin|qtLiteral }}, {{ o_data.prosrc_c|qtLiteral }}{% else %} +$BODY${{ o_data.prosrc }}$BODY${% endif -%}; +{% endif -%} +{% if data.funcowner %} + +ALTER FUNCTION {{ conn|qtIdent(o_data.pronamespace, name) }}({{o_data.proargtypenames }}) + OWNER TO {{ conn|qtIdent(data.funcowner) }}; +{% endif -%} +{# The SQL generated below will change priviledges #} +{% if data.acl %} +{% if 'deleted' in data.acl %} +{% for priv in data.acl.deleted %} + +{{ PRIVILEGE.UNSETALL(conn, 'FUNCTION', priv.grantee, name, o_data.pronamespace, o_data.proargtypenames) }} +{% endfor %} +{% endif -%} +{% if 'changed' in data.datacl %} +{% for priv in data.acl.changed %} + +{{ PRIVILEGE.UNSETALL(conn, 'FUNCTION', priv.grantee, name, o_data.pronamespace, o_data.proargtypenames) }} + +{{ PRIVILEGE.SET(conn, 'FUNCTION', priv.grantee, name, priv.without_grant, priv.with_grant, o_data.pronamespace, o_data.proargtypenames) }} +{% endfor %} +{% endif -%} +{% if 'added' in data.acl %} +{% for priv in data.acl.added %} + +{{ PRIVILEGE.SET(conn, 'FUNCTION', priv.grantee, name, priv.without_grant, priv.with_grant, o_data.pronamespace, o_data.proargtypenames) }} +{% endfor %}{% endif -%} +{% endif -%} +{% if data.change_func == False %} +{% if data.variables %} +{% if 'deleted' in data.variables and data.variables.deleted|length > 0 %} + +{{ VARIABLE.UNSET(conn, 'FUNCTION', name, data.variables.deleted, o_data.pronamespace, o_data.proargtypenames) }} +{% endif -%} +{% if 'merged_variables' in data and data.merged_variables|length > 0 %} + +{{ VARIABLE.SET(conn, 'FUNCTION', name, data.merged_variables, o_data.pronamespace, o_data.proargtypenames) }} +{% endif -%} +{% endif -%} +{% endif -%} +{% set seclabels = data.seclabels %} +{% if 'deleted' in seclabels and seclabels.deleted|length > 0 %} +{% for r in seclabels.deleted %} + +{{ SECLABEL.UNSET(conn, 'FUNCTION', name, r.provider, o_data.pronamespace, o_data.proargtypenames) }} +{% endfor %} +{% endif -%} +{% if 'added' in seclabels and seclabels.added|length > 0 %} +{% for r in seclabels.added %} + +{{ SECLABEL.SET(conn, 'FUNCTION', name, r.provider, r.label, o_data.pronamespace, o_data.proargtypenames) }} +{% endfor %} +{% endif -%} +{% if 'changed' in seclabels and seclabels.changed|length > 0 %} +{% for r in seclabels.changed %} + +{{ SECLABEL.SET(conn, 'FUNCTION', name, r.provider, r.label, o_data.pronamespace, o_data.proargtypenames) }} +{% endfor %} +{% endif -%} +{% if data.description is defined and data.description != o_data.description%} + +COMMENT ON FUNCTION {{ conn|qtIdent(o_data.pronamespace, name) }}({{o_data.proargtypenames }}) + IS {{ data.description|qtLiteral }}; +{% endif -%} + +{% if data.pronamespace %} + +ALTER FUNCTION {{ conn|qtIdent(o_data.pronamespace, name) }}({{o_data.proargtypenames }}) + SET SCHEMA {{ conn|qtIdent(data.pronamespace) }}; +{% endif -%} + +{% endif %} diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/ppas/sql/12_plus/create.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/ppas/sql/12_plus/create.sql new file mode 100644 index 00000000..b39daf7f --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/ppas/sql/12_plus/create.sql @@ -0,0 +1,68 @@ +{% import 'macros/functions/security.macros' as SECLABEL %} +{% import 'macros/functions/privilege.macros' as PRIVILEGE %} +{% import 'macros/functions/variable.macros' as VARIABLE %} +{% set is_columns = [] %} +{% if data %} +{% if query_for == 'sql_panel' and func_def is defined %} +CREATE{% if query_type is defined %}{{' OR REPLACE'}}{% endif %} FUNCTION {{func_def}} +{% else %} +CREATE{% if query_type is defined %}{{' OR REPLACE'}}{% endif %} FUNCTION {{ conn|qtIdent(data.pronamespace, data.name) }}({% if data.arguments %} +{% for p in data.arguments %}{% if p.argmode %}{{p.argmode}} {% endif %}{% if p.argname %}{{ conn|qtIdent(p.argname) }} {% endif %}{% if p.argtype %}{{ p.argtype }}{% endif %}{% if p.argdefval %} DEFAULT {{p.argdefval}}{% endif %} +{% if not loop.last %},{% endif %} +{% endfor %} +{% endif -%} + ) +{% endif -%} + RETURNS{% if data.proretset and (data.prorettypename.startswith('SETOF ') or data.prorettypename.startswith('TABLE')) %} {{ data.prorettypename }} {% elif data.proretset %} SETOF {{ data.prorettypename }}{% else %} {{ data.prorettypename }}{% endif %} + + LANGUAGE {{ data.lanname|qtLiteral }} + {% if data.provolatile %}{% if data.provolatile == 'i' %}IMMUTABLE{% elif data.provolatile == 's' %}STABLE{% else %}VOLATILE{% endif %} {% endif %}{% if data.proleakproof %}LEAKPROOF {% endif %} +{% if data.proisstrict %}STRICT {% endif %} +{% if data.prosecdef %}SECURITY DEFINER {% endif %} +{% if data.proiswindow %}WINDOW {% endif %} +{% if data.proparallel and (data.proparallel == 'r' or data.proparallel == 's') %} +{% if data.proparallel == 'r' %}PARALLEL RESTRICTED{% elif data.proparallel == 's' %}PARALLEL SAFE{% endif %}{% endif %} +{% if data.procost %} + + COST {{data.procost}}{% endif %}{% if data.prorows and (data.prorows | int) > 0 %} + + ROWS {{data.prorows}}{% endif %} + + {% if data.prosupportfunc %}SUPPORT {{ data.prosupportfunc }}{% endif -%}{% if data.variables %}{% for v in data.variables %} + + SET {{ conn|qtIdent(v.name) }}={{ v.value|qtLiteral }}{% endfor %} +{% endif %} + +AS {% if data.lanname == 'c' %} +{{ data.probin|qtLiteral }}, {{ data.prosrc_c|qtLiteral }} +{% else %} +$BODY${{ data.prosrc }}$BODY${% endif -%}; +{% if data.funcowner %} + +ALTER FUNCTION {{ conn|qtIdent(data.pronamespace, data.name) }}({{data.func_args_without}}) + OWNER TO {{ conn|qtIdent(data.funcowner) }}; +{% endif -%} +{% if data.acl %} +{% for p in data.acl %} + +{{ PRIVILEGE.SET(conn, "FUNCTION", p.grantee, data.name, p.without_grant, p.with_grant, data.pronamespace, data.func_args_without)}} +{% endfor %}{% endif %} +{% if data.revoke_all %} + +{{ PRIVILEGE.UNSETALL(conn, "FUNCTION", "PUBLIC", data.name, data.pronamespace, data.func_args_without)}} +{% endif %} +{% if data.description %} + +COMMENT ON FUNCTION {{ conn|qtIdent(data.pronamespace, data.name) }}({{data.func_args_without}}) + IS {{ data.description|qtLiteral }}; +{% endif -%} +{% if data.seclabels %} +{% for r in data.seclabels %} +{% if r.label and r.provider %} + +{{ SECLABEL.SET(conn, 'FUNCTION', data.name, r.provider, r.label, data.pronamespace, data.func_args_without) }} +{% endif %} +{% endfor %} +{% endif -%} + +{% endif %} diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/ppas/sql/12_plus/properties.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/ppas/sql/12_plus/properties.sql new file mode 100644 index 00000000..1bb8c934 --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/ppas/sql/12_plus/properties.sql @@ -0,0 +1,33 @@ +SELECT + pr.oid, pr.xmin, pr.*, pr.prosrc AS prosrc_c, + pr.proname AS name, pg_get_function_result(pr.oid) AS prorettypename, + typns.nspname AS typnsp, lanname, proargnames, oidvectortypes(proargtypes) AS proargtypenames, + pg_get_expr(proargdefaults, 'pg_catalog.pg_class'::regclass) AS proargdefaultvals, + pronargdefaults, proconfig, pg_get_userbyid(proowner) AS funcowner, description, + CASE WHEN prosupport = 0::oid THEN '' ELSE prosupport::text END AS prosupportfunc, + (SELECT + array_agg(provider || '=' || label) + FROM + pg_seclabel sl1 + WHERE + sl1.objoid=pr.oid) AS seclabels +FROM + pg_proc pr +JOIN + pg_type typ ON typ.oid=prorettype +JOIN + pg_namespace typns ON typns.oid=typ.typnamespace +JOIN + pg_language lng ON lng.oid=prolang +LEFT OUTER JOIN + pg_description des ON (des.objoid=pr.oid AND des.classoid='pg_proc'::regclass) +WHERE + pr.prokind IN ('f', 'w') + AND typname NOT IN ('trigger', 'event_trigger') +{% if fnid %} + AND pr.oid = {{fnid}}::oid +{% else %} + AND pronamespace = {{scid}}::oid +{% endif %} +ORDER BY + proname; diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/ppas/sql/12_plus/update.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/ppas/sql/12_plus/update.sql new file mode 100644 index 00000000..8edde791 --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/templates/functions/ppas/sql/12_plus/update.sql @@ -0,0 +1,118 @@ +{% import 'macros/functions/security.macros' as SECLABEL %} +{% import 'macros/functions/privilege.macros' as PRIVILEGE %} +{% import 'macros/functions/variable.macros' as VARIABLE %}{% if data %} +{% set name = o_data.name %} +{% if data.name %} +{% if data.name != o_data.name %} +ALTER FUNCTION {{ conn|qtIdent(o_data.pronamespace, o_data.name) }}({{ +o_data.proargtypenames }}) + RENAME TO {{ conn|qtIdent(data.name) }}; +{% set name = data.name %} +{% endif %} +{% endif -%} +{% if data.change_func %} + +CREATE OR REPLACE FUNCTION {{ conn|qtIdent(o_data.pronamespace, name) }}({% if data.arguments %} +{% for p in data.arguments %}{% if p.argmode %}{{p.argmode}} {% endif %}{% if p.argname %}{{ conn|qtIdent(p.argname) }} {% endif %}{% if p.argtype %}{{ p.argtype }}{% endif %}{% if p.argdefval %} DEFAULT {{p.argdefval}}{% endif %} +{% if not loop.last %},{% endif %} +{% endfor %} +{% endif -%} +) + RETURNS {{ o_data.prorettypename }} +{% if 'lanname' in data %} + LANGUAGE {{ data.lanname|qtLiteral }} {% else %} + LANGUAGE {{ o_data.lanname|qtLiteral }} + {% endif %}{% if 'provolatile' in data and data.provolatile %}{{ data.provolatile }} {% elif 'provolatile' not in data and o_data.provolatile %}{{ o_data.provolatile }}{% endif %} +{% if ('proleakproof' in data and data.proleakproof) or ('proleakproof' not in data and o_data.proleakproof) %} LEAKPROOF{% elif 'proleakproof' in data and not data.proleakproof %} NOT LEAKPROOF{% endif %} +{% if ('proisstrict' in data and data.proisstrict) or ('proisstrict' not in data and o_data.proisstrict) %} STRICT{% endif %} +{% if ('prosecdef' in data and data.prosecdef) or ('prosecdef' not in data and o_data.prosecdef) %} SECURITY DEFINER{% endif %} +{% if ('proiswindow' in data and data.proiswindow) or ('proiswindow' not in data and o_data.proiswindow) %} WINDOW{% endif %} + + {% if 'proparallel' in data and data.proparallel %}PARALLEL {{ data.proparallel }}{% elif 'proparallel' not in data and o_data.proparallel %}PARALLEL {{ o_data.proparallel }}{% endif %} + + {% if data.procost %}COST {{data.procost}}{% elif o_data.procost %}COST {{o_data.procost}}{% endif %}{% if data.prorows %} + + ROWS {{data.prorows}}{% elif data.prorows is not defined and o_data.prorows and o_data.prorows != '0' %} ROWS {{o_data.prorows}} {%endif %} + + {% if data.prosupportfunc %}SUPPORT {{ data.prosupportfunc }}{% elif data.prosupportfunc is not defined and o_data.prosupportfunc %}SUPPORT {{ o_data.prosupportfunc }}{% endif -%}{% if data.merged_variables %}{% for v in data.merged_variables %} + + SET {{ conn|qtIdent(v.name) }}={{ v.value|qtLiteral }}{% endfor -%} + {% endif %} + +AS {% if 'probin' in data or 'prosrc_c' in data %} +{% if 'probin' in data %}{{ data.probin|qtLiteral }}{% else %}{{ o_data.probin|qtLiteral }}{% endif %}, {% if 'prosrc_c' in data %}{{ data.prosrc_c|qtLiteral }}{% else %}{{ o_data.prosrc_c|qtLiteral }}{% endif %}{% elif 'prosrc' in data %} +$BODY${{ data.prosrc }}$BODY${% elif o_data.lanname == 'c' %} +{{ o_data.probin|qtLiteral }}, {{ o_data.prosrc_c|qtLiteral }}{% else %} +$BODY${{ o_data.prosrc }}$BODY${% endif -%}; +{% endif -%} +{% if data.funcowner %} + +ALTER FUNCTION {{ conn|qtIdent(o_data.pronamespace, name) }}({{o_data.proargtypenames }}) + OWNER TO {{ conn|qtIdent(data.funcowner) }}; +{% endif -%} +{# The SQL generated below will change priviledges #} +{% if data.acl %} +{% if 'deleted' in data.acl %} +{% for priv in data.acl.deleted %} + +{{ PRIVILEGE.UNSETALL(conn, 'FUNCTION', priv.grantee, name, o_data.pronamespace, o_data.proargtypenames) }} +{% endfor %} +{% endif -%} +{% if 'changed' in data.datacl %} +{% for priv in data.acl.changed %} + +{{ PRIVILEGE.UNSETALL(conn, 'FUNCTION', priv.grantee, name, o_data.pronamespace, o_data.proargtypenames) }} + +{{ PRIVILEGE.SET(conn, 'FUNCTION', priv.grantee, name, priv.without_grant, priv.with_grant, o_data.pronamespace, o_data.proargtypenames) }} +{% endfor %} +{% endif -%} +{% if 'added' in data.acl %} +{% for priv in data.acl.added %} + +{{ PRIVILEGE.SET(conn, 'FUNCTION', priv.grantee, name, priv.without_grant, priv.with_grant, o_data.pronamespace, o_data.proargtypenames) }} +{% endfor %}{% endif -%} +{% endif -%} +{% if data.change_func == False %} +{% if data.variables %} +{% if 'deleted' in data.variables and data.variables.deleted|length > 0 %} + +{{ VARIABLE.UNSET(conn, 'FUNCTION', name, data.variables.deleted, o_data.pronamespace, o_data.proargtypenames) }} +{% endif -%} +{% if 'merged_variables' in data and data.merged_variables|length > 0 %} + +{{ VARIABLE.SET(conn, 'FUNCTION', name, data.merged_variables, o_data.pronamespace, o_data.proargtypenames) }} +{% endif -%} +{% endif -%} +{% endif -%} +{% set seclabels = data.seclabels %} +{% if 'deleted' in seclabels and seclabels.deleted|length > 0 %} +{% for r in seclabels.deleted %} + +{{ SECLABEL.UNSET(conn, 'FUNCTION', name, r.provider, o_data.pronamespace, o_data.proargtypenames) }} +{% endfor %} +{% endif -%} +{% if 'added' in seclabels and seclabels.added|length > 0 %} +{% for r in seclabels.added %} + +{{ SECLABEL.SET(conn, 'FUNCTION', name, r.provider, r.label, o_data.pronamespace, o_data.proargtypenames) }} +{% endfor %} +{% endif -%} +{% if 'changed' in seclabels and seclabels.changed|length > 0 %} +{% for r in seclabels.changed %} + +{{ SECLABEL.SET(conn, 'FUNCTION', name, r.provider, r.label, o_data.pronamespace, o_data.proargtypenames) }} +{% endfor %} +{% endif -%} +{% if data.description is defined and data.description != o_data.description%} + +COMMENT ON FUNCTION {{ conn|qtIdent(o_data.pronamespace, name) }}({{o_data.proargtypenames }}) + IS {{ data.description|qtLiteral }}; +{% endif -%} + +{% if data.pronamespace %} + +ALTER FUNCTION {{ conn|qtIdent(o_data.pronamespace, name) }}({{o_data.proargtypenames }}) + SET SCHEMA {{ conn|qtIdent(data.pronamespace) }}; +{% endif -%} + +{% endif %} diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_function_add.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_function_add.py index 3b995414..a3251ffe 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_function_add.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_function_add.py @@ -67,6 +67,18 @@ class FunctionAddTestCase(BaseTestGenerator): data['pronamespace'] = self.schema_id else: self.schema_id = data['pronamespace'] + + if self.server_version >= 120000: + support_function_name = 'supportfunc_%s' % str(uuid.uuid4())[1:8] + support_func = funcs_utils.create_support_internal_function( + self.server, + self.db_name, + self.schema_name, + support_function_name + ) + + data['prosupportfuc'] = support_function_name + response = self.tester.post( self.url + str(utils.SERVER_GROUP) + '/' + str(self.server_id) + '/' + str(self.db_id) + diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_function_put.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_function_put.py index eb649af6..870528df 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_function_put.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/test_function_put.py @@ -42,6 +42,17 @@ class FunctionPutTestCase(BaseTestGenerator): "id": func_id } + if self.server_version >= 120000: + support_function_name = 'supportfunc_%s' % str(uuid.uuid4())[1:8] + support_func = funcs_utils.create_support_internal_function( + self.server, + self.db_name, + self.schema_name, + support_function_name + ) + + data['prosupportfuc'] = support_function_name + put_response = self.tester.put( self.url + str(utils.SERVER_GROUP) + '/' + str(self.server_id) + '/' + str(self.db_id) + '/' + diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/utils.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/utils.py index fbfdb5f0..a1d3c285 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/utils.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/functions/tests/utils.py @@ -171,6 +171,34 @@ def create_function(server, db_name, schema_name, func_name): traceback.print_exc(file=sys.stderr) +def create_support_internal_function(server, db_name, schema_name, func_name): + """Add the function to schema which will be used as support function for + another function.""" + try: + connection = utils.get_db_connection(db_name, + server['username'], + server['db_password'], + server['host'], + server['port'], + server['sslmode']) + pg_cursor = connection.cursor() + query = "CREATE FUNCTION " + schema_name + "." + func_name + \ + "(internal)" \ + " RETURNS internal LANGUAGE 'internal'" \ + " AS $BODY$cidr_abbrev$BODY$;" + pg_cursor.execute(query) + connection.commit() + # Get 'oid' from newly created function + pg_cursor.execute("SELECT pro.oid, pro.proname FROM" + " pg_proc pro WHERE pro.proname='%s'" % + func_name) + functions = pg_cursor.fetchone() + connection.close() + return functions + except Exception: + traceback.print_exc(file=sys.stderr) + + def verify_procedure(server, db_name, proc_name): """This function verifies the procedure in db""" connection = utils.get_db_connection(db_name, diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/__init__.py index 0bdba79b..c64b3c48 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/__init__.py +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/triggers/__init__.py @@ -873,7 +873,7 @@ class TriggerView(PGChildNodeView): status, result = self.conn.execute_dict(SQL) if not status: - return internal_server_error(errormsg=res) + return internal_server_error(errormsg=result) # Update the trigger function which we have fetched with schema # name diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 00000000..fb57ccd1 --- /dev/null +++ b/yarn.lock @@ -0,0 +1,4 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + +