mirror of
https://github.com/pgadmin-org/pgadmin4.git
synced 2025-02-25 18:55:31 -06:00
Fixed following issues for packages:
1) Removing the package header removes the body as well. 2) Schema is not visible on the properties dialog. 3) Reverse engineering SQL and Create script not showing schema-qualified packages. Fixes #5410
This commit is contained in:
parent
8d4f3c07c7
commit
f289dfb762
@ -348,6 +348,8 @@ class PackageView(PGChildNodeView, SchemaDiffObjectCompare):
|
||||
priv = parse_priv_from_db(row)
|
||||
res['rows'][0].setdefault(row['deftype'], []).append(priv)
|
||||
|
||||
res['rows'][0]['schema'] = self.schema
|
||||
|
||||
return True, res['rows'][0]
|
||||
|
||||
@check_precondition(action="create")
|
||||
@ -593,8 +595,12 @@ class PackageView(PGChildNodeView, SchemaDiffObjectCompare):
|
||||
u'name'
|
||||
]
|
||||
|
||||
if pkgid is not None and not sqltab:
|
||||
if diff_schema:
|
||||
data['schema'] = diff_schema
|
||||
else:
|
||||
data['schema'] = self.schema
|
||||
|
||||
if pkgid is not None and not sqltab:
|
||||
SQL = render_template(
|
||||
"/".join([self.template_path, 'properties.sql']), scid=scid,
|
||||
pkgid=pkgid)
|
||||
@ -646,9 +652,6 @@ class PackageView(PGChildNodeView, SchemaDiffObjectCompare):
|
||||
if arg not in data:
|
||||
data[arg] = old_data[arg]
|
||||
|
||||
if diff_schema:
|
||||
data['schema'] = diff_schema
|
||||
|
||||
SQL = render_template("/".join([self.template_path, 'update.sql']),
|
||||
data=data, o_data=old_data, conn=self.conn,
|
||||
is_schema_diff=diff_schema)
|
||||
|
@ -1,7 +1,9 @@
|
||||
{% import 'macros/schemas/privilege.macros' as PRIVILEGE %}
|
||||
|
||||
{% if data %}
|
||||
{% if data.pkgheadsrc is defined and data.pkgheadsrc != o_data.pkgheadsrc and o_data.pkgbodysrc != None or (data.pkgbodysrc is defined and data.pkgbodysrc == '') %}
|
||||
{% set recreate_pkg_body = false %}
|
||||
{% if data.pkgbodysrc is defined and data.pkgbodysrc == '' %}
|
||||
{% if is_schema_diff is defined and is_schema_diff != None %}{% set recreate_pkg_body = true %}{% endif %}
|
||||
DROP PACKAGE BODY {{ conn|qtIdent(data.schema,data.name) }};
|
||||
{% endif %}
|
||||
{% if data.pkgheadsrc %}
|
||||
@ -11,11 +13,13 @@ IS
|
||||
{{data.pkgheadsrc}}
|
||||
END {{ conn|qtIdent(data.name) }};
|
||||
|
||||
{% if data.pkgbodysrc %}
|
||||
{% endif %}
|
||||
{% if data.pkgbodysrc or (o_data.pkgbodysrc and recreate_pkg_body) %}
|
||||
|
||||
CREATE OR REPLACE PACKAGE BODY {{ conn|qtIdent(data.schema,data.name) }}
|
||||
IS
|
||||
{{data.pkgbodysrc}}
|
||||
{% if data.pkgbodysrc %}{{data.pkgbodysrc}}{% else %}{{o_data.pkgbodysrc}}{% endif %}
|
||||
|
||||
END {{ conn|qtIdent(data.name) }};
|
||||
{% endif %}
|
||||
{% if data.pkgacl %}
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
{% if data %}
|
||||
{% set recreate_pkg_body = false %}
|
||||
{% if data.pkgheadsrc is defined and data.pkgheadsrc != o_data.pkgheadsrc and o_data.pkgbodysrc != None or (data.pkgbodysrc is defined and data.pkgbodysrc == '') %}
|
||||
{% if data.pkgbodysrc is defined and data.pkgbodysrc == '' %}
|
||||
{% if is_schema_diff is defined and is_schema_diff != None %}{% set recreate_pkg_body = true %}{% endif %}
|
||||
DROP PACKAGE BODY {{ conn|qtIdent(data.schema,data.name) }};
|
||||
{% endif %}
|
||||
|
@ -1,21 +1,21 @@
|
||||
-- Package: public.pkg_emp_$%{}[]()&*^!@"'`\/#
|
||||
|
||||
-- DROP PACKAGE "pkg_emp_$%{}[]()&*^!@""'`\/#";
|
||||
-- DROP PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#";
|
||||
|
||||
CREATE OR REPLACE PACKAGE "pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||
CREATE OR REPLACE PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||
IS
|
||||
FUNCTION func1(v1 integer) RETURN integer;
|
||||
PROCEDURE proc1(v1 integer);
|
||||
END "pkg_emp_$%{}[]()&*^!@""'`\/#";
|
||||
|
||||
CREATE OR REPLACE PACKAGE BODY "pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||
CREATE OR REPLACE PACKAGE BODY public."pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||
IS
|
||||
FUNCTION func1(v1 integer) RETURN integer IS BEGIN RETURN V1+10; END FUNC1;
|
||||
PROCEDURE proc1(v1 integer) IS BEGIN DBMS_OUTPUT.put_line(v1+50); END;
|
||||
|
||||
END "pkg_emp_$%{}[]()&*^!@""'`\/#";
|
||||
|
||||
GRANT EXECUTE ON PACKAGE "pkg_emp_$%{}[]()&*^!@""'`\/#" TO PUBLIC;
|
||||
GRANT EXECUTE ON PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#" TO PUBLIC;
|
||||
|
||||
COMMENT ON PACKAGE "pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||
COMMENT ON PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||
IS 'test comment updated';
|
||||
|
@ -1,23 +1,23 @@
|
||||
-- Package: public.pkg_emp_$%{}[]()&*^!@"'`\/#
|
||||
|
||||
-- DROP PACKAGE "pkg_emp_$%{}[]()&*^!@""'`\/#";
|
||||
-- DROP PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#";
|
||||
|
||||
CREATE OR REPLACE PACKAGE "pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||
CREATE OR REPLACE PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||
IS
|
||||
FUNCTION func1(v1 integer) RETURN integer;
|
||||
PROCEDURE proc1(v1 integer);
|
||||
END "pkg_emp_$%{}[]()&*^!@""'`\/#";
|
||||
|
||||
CREATE OR REPLACE PACKAGE BODY "pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||
CREATE OR REPLACE PACKAGE BODY public."pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||
IS
|
||||
FUNCTION func1(v1 integer) RETURN integer IS BEGIN RETURN V1+10; END FUNC1;
|
||||
PROCEDURE proc1(v1 integer) IS BEGIN DBMS_OUTPUT.put_line(v1+50); END;
|
||||
|
||||
END "pkg_emp_$%{}[]()&*^!@""'`\/#";
|
||||
|
||||
GRANT EXECUTE ON PACKAGE "pkg_emp_$%{}[]()&*^!@""'`\/#" TO PUBLIC;
|
||||
GRANT EXECUTE ON PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#" TO PUBLIC;
|
||||
|
||||
GRANT EXECUTE ON PACKAGE "pkg_emp_$%{}[]()&*^!@""'`\/#" TO enterprisedb WITH GRANT OPTION;
|
||||
GRANT EXECUTE ON PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#" TO enterprisedb WITH GRANT OPTION;
|
||||
|
||||
COMMENT ON PACKAGE "pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||
COMMENT ON PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||
IS 'test comment';
|
||||
|
@ -1,21 +1,21 @@
|
||||
-- Package: public.pkg_emp_$%{}[]()&*^!@"'`\/#
|
||||
|
||||
-- DROP PACKAGE "pkg_emp_$%{}[]()&*^!@""'`\/#";
|
||||
-- DROP PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#";
|
||||
|
||||
CREATE OR REPLACE PACKAGE "pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||
CREATE OR REPLACE PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||
IS
|
||||
FUNCTION func1(v1 integer) RETURN integer;
|
||||
PROCEDURE proc1(v1 integer);
|
||||
END "pkg_emp_$%{}[]()&*^!@""'`\/#";
|
||||
|
||||
CREATE OR REPLACE PACKAGE BODY "pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||
CREATE OR REPLACE PACKAGE BODY public."pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||
IS
|
||||
FUNCTION func1(v1 integer) RETURN integer IS BEGIN RETURN V1+10; END;
|
||||
PROCEDURE proc1(v1 integer) IS BEGIN DBMS_OUTPUT.put_line(v1+50); END;
|
||||
|
||||
END "pkg_emp_$%{}[]()&*^!@""'`\/#";
|
||||
|
||||
GRANT EXECUTE ON PACKAGE "pkg_emp_$%{}[]()&*^!@""'`\/#" TO PUBLIC;
|
||||
GRANT EXECUTE ON PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#" TO PUBLIC;
|
||||
|
||||
COMMENT ON PACKAGE "pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||
COMMENT ON PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||
IS 'test comment updated';
|
||||
|
@ -1,23 +1,23 @@
|
||||
-- Package: public.pkg_emp_$%{}[]()&*^!@"'`\/#
|
||||
|
||||
-- DROP PACKAGE "pkg_emp_$%{}[]()&*^!@""'`\/#";
|
||||
-- DROP PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#";
|
||||
|
||||
CREATE OR REPLACE PACKAGE "pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||
CREATE OR REPLACE PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||
IS
|
||||
FUNCTION func1(v1 integer) RETURN integer;
|
||||
PROCEDURE proc1(v1 integer);
|
||||
END "pkg_emp_$%{}[]()&*^!@""'`\/#";
|
||||
|
||||
CREATE OR REPLACE PACKAGE BODY "pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||
CREATE OR REPLACE PACKAGE BODY public."pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||
IS
|
||||
FUNCTION func1(v1 integer) RETURN integer IS BEGIN RETURN V1+10; END;
|
||||
PROCEDURE proc1(v1 integer) IS BEGIN DBMS_OUTPUT.put_line(v1+50); END;
|
||||
|
||||
END "pkg_emp_$%{}[]()&*^!@""'`\/#";
|
||||
|
||||
GRANT EXECUTE ON PACKAGE "pkg_emp_$%{}[]()&*^!@""'`\/#" TO PUBLIC;
|
||||
GRANT EXECUTE ON PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#" TO PUBLIC;
|
||||
|
||||
GRANT EXECUTE ON PACKAGE "pkg_emp_$%{}[]()&*^!@""'`\/#" TO enterprisedb WITH GRANT OPTION;
|
||||
GRANT EXECUTE ON PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#" TO enterprisedb WITH GRANT OPTION;
|
||||
|
||||
COMMENT ON PACKAGE "pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||
COMMENT ON PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||
IS 'test comment';
|
||||
|
Loading…
Reference in New Issue
Block a user