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)
|
priv = parse_priv_from_db(row)
|
||||||
res['rows'][0].setdefault(row['deftype'], []).append(priv)
|
res['rows'][0].setdefault(row['deftype'], []).append(priv)
|
||||||
|
|
||||||
|
res['rows'][0]['schema'] = self.schema
|
||||||
|
|
||||||
return True, res['rows'][0]
|
return True, res['rows'][0]
|
||||||
|
|
||||||
@check_precondition(action="create")
|
@check_precondition(action="create")
|
||||||
@ -593,8 +595,12 @@ class PackageView(PGChildNodeView, SchemaDiffObjectCompare):
|
|||||||
u'name'
|
u'name'
|
||||||
]
|
]
|
||||||
|
|
||||||
if pkgid is not None and not sqltab:
|
if diff_schema:
|
||||||
|
data['schema'] = diff_schema
|
||||||
|
else:
|
||||||
data['schema'] = self.schema
|
data['schema'] = self.schema
|
||||||
|
|
||||||
|
if pkgid is not None and not sqltab:
|
||||||
SQL = render_template(
|
SQL = render_template(
|
||||||
"/".join([self.template_path, 'properties.sql']), scid=scid,
|
"/".join([self.template_path, 'properties.sql']), scid=scid,
|
||||||
pkgid=pkgid)
|
pkgid=pkgid)
|
||||||
@ -646,9 +652,6 @@ class PackageView(PGChildNodeView, SchemaDiffObjectCompare):
|
|||||||
if arg not in data:
|
if arg not in data:
|
||||||
data[arg] = old_data[arg]
|
data[arg] = old_data[arg]
|
||||||
|
|
||||||
if diff_schema:
|
|
||||||
data['schema'] = diff_schema
|
|
||||||
|
|
||||||
SQL = render_template("/".join([self.template_path, 'update.sql']),
|
SQL = render_template("/".join([self.template_path, 'update.sql']),
|
||||||
data=data, o_data=old_data, conn=self.conn,
|
data=data, o_data=old_data, conn=self.conn,
|
||||||
is_schema_diff=diff_schema)
|
is_schema_diff=diff_schema)
|
||||||
|
@ -1,7 +1,9 @@
|
|||||||
{% import 'macros/schemas/privilege.macros' as PRIVILEGE %}
|
{% import 'macros/schemas/privilege.macros' as PRIVILEGE %}
|
||||||
|
|
||||||
{% if data %}
|
{% 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) }};
|
DROP PACKAGE BODY {{ conn|qtIdent(data.schema,data.name) }};
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if data.pkgheadsrc %}
|
{% if data.pkgheadsrc %}
|
||||||
@ -11,11 +13,13 @@ IS
|
|||||||
{{data.pkgheadsrc}}
|
{{data.pkgheadsrc}}
|
||||||
END {{ conn|qtIdent(data.name) }};
|
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) }}
|
CREATE OR REPLACE PACKAGE BODY {{ conn|qtIdent(data.schema,data.name) }}
|
||||||
IS
|
IS
|
||||||
{{data.pkgbodysrc}}
|
{% if data.pkgbodysrc %}{{data.pkgbodysrc}}{% else %}{{o_data.pkgbodysrc}}{% endif %}
|
||||||
|
|
||||||
END {{ conn|qtIdent(data.name) }};
|
END {{ conn|qtIdent(data.name) }};
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if data.pkgacl %}
|
{% if data.pkgacl %}
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
{% if data %}
|
{% if data %}
|
||||||
{% set recreate_pkg_body = false %}
|
{% 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 %}
|
{% 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) }};
|
DROP PACKAGE BODY {{ conn|qtIdent(data.schema,data.name) }};
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -1,21 +1,21 @@
|
|||||||
-- Package: public.pkg_emp_$%{}[]()&*^!@"'`\/#
|
-- 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
|
IS
|
||||||
FUNCTION func1(v1 integer) RETURN integer;
|
FUNCTION func1(v1 integer) RETURN integer;
|
||||||
PROCEDURE proc1(v1 integer);
|
PROCEDURE proc1(v1 integer);
|
||||||
END "pkg_emp_$%{}[]()&*^!@""'`\/#";
|
END "pkg_emp_$%{}[]()&*^!@""'`\/#";
|
||||||
|
|
||||||
CREATE OR REPLACE PACKAGE BODY "pkg_emp_$%{}[]()&*^!@""'`\/#"
|
CREATE OR REPLACE PACKAGE BODY public."pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||||
IS
|
IS
|
||||||
FUNCTION func1(v1 integer) RETURN integer IS BEGIN RETURN V1+10; END FUNC1;
|
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;
|
PROCEDURE proc1(v1 integer) IS BEGIN DBMS_OUTPUT.put_line(v1+50); END;
|
||||||
|
|
||||||
END "pkg_emp_$%{}[]()&*^!@""'`\/#";
|
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';
|
IS 'test comment updated';
|
||||||
|
@ -1,23 +1,23 @@
|
|||||||
-- Package: public.pkg_emp_$%{}[]()&*^!@"'`\/#
|
-- 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
|
IS
|
||||||
FUNCTION func1(v1 integer) RETURN integer;
|
FUNCTION func1(v1 integer) RETURN integer;
|
||||||
PROCEDURE proc1(v1 integer);
|
PROCEDURE proc1(v1 integer);
|
||||||
END "pkg_emp_$%{}[]()&*^!@""'`\/#";
|
END "pkg_emp_$%{}[]()&*^!@""'`\/#";
|
||||||
|
|
||||||
CREATE OR REPLACE PACKAGE BODY "pkg_emp_$%{}[]()&*^!@""'`\/#"
|
CREATE OR REPLACE PACKAGE BODY public."pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||||
IS
|
IS
|
||||||
FUNCTION func1(v1 integer) RETURN integer IS BEGIN RETURN V1+10; END FUNC1;
|
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;
|
PROCEDURE proc1(v1 integer) IS BEGIN DBMS_OUTPUT.put_line(v1+50); END;
|
||||||
|
|
||||||
END "pkg_emp_$%{}[]()&*^!@""'`\/#";
|
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';
|
IS 'test comment';
|
||||||
|
@ -1,21 +1,21 @@
|
|||||||
-- Package: public.pkg_emp_$%{}[]()&*^!@"'`\/#
|
-- 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
|
IS
|
||||||
FUNCTION func1(v1 integer) RETURN integer;
|
FUNCTION func1(v1 integer) RETURN integer;
|
||||||
PROCEDURE proc1(v1 integer);
|
PROCEDURE proc1(v1 integer);
|
||||||
END "pkg_emp_$%{}[]()&*^!@""'`\/#";
|
END "pkg_emp_$%{}[]()&*^!@""'`\/#";
|
||||||
|
|
||||||
CREATE OR REPLACE PACKAGE BODY "pkg_emp_$%{}[]()&*^!@""'`\/#"
|
CREATE OR REPLACE PACKAGE BODY public."pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||||
IS
|
IS
|
||||||
FUNCTION func1(v1 integer) RETURN integer IS BEGIN RETURN V1+10; END;
|
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;
|
PROCEDURE proc1(v1 integer) IS BEGIN DBMS_OUTPUT.put_line(v1+50); END;
|
||||||
|
|
||||||
END "pkg_emp_$%{}[]()&*^!@""'`\/#";
|
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';
|
IS 'test comment updated';
|
||||||
|
@ -1,23 +1,23 @@
|
|||||||
-- Package: public.pkg_emp_$%{}[]()&*^!@"'`\/#
|
-- 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
|
IS
|
||||||
FUNCTION func1(v1 integer) RETURN integer;
|
FUNCTION func1(v1 integer) RETURN integer;
|
||||||
PROCEDURE proc1(v1 integer);
|
PROCEDURE proc1(v1 integer);
|
||||||
END "pkg_emp_$%{}[]()&*^!@""'`\/#";
|
END "pkg_emp_$%{}[]()&*^!@""'`\/#";
|
||||||
|
|
||||||
CREATE OR REPLACE PACKAGE BODY "pkg_emp_$%{}[]()&*^!@""'`\/#"
|
CREATE OR REPLACE PACKAGE BODY public."pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||||
IS
|
IS
|
||||||
FUNCTION func1(v1 integer) RETURN integer IS BEGIN RETURN V1+10; END;
|
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;
|
PROCEDURE proc1(v1 integer) IS BEGIN DBMS_OUTPUT.put_line(v1+50); END;
|
||||||
|
|
||||||
END "pkg_emp_$%{}[]()&*^!@""'`\/#";
|
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';
|
IS 'test comment';
|
||||||
|
Loading…
Reference in New Issue
Block a user