mirror of
https://github.com/pgadmin-org/pgadmin4.git
synced 2025-02-20 11:48:31 -06:00
Added Modified SQL test cases for Packages.
This commit is contained in:
parent
4745ad56e9
commit
4690700a24
@ -365,11 +365,8 @@ class PackageView(PGChildNodeView):
|
||||
)
|
||||
)
|
||||
data['schema'] = self.schema
|
||||
# The SQL below will execute CREATE DDL only
|
||||
SQL = render_template(
|
||||
"/".join([self.template_path, 'create.sql']),
|
||||
data=data, conn=self.conn
|
||||
)
|
||||
|
||||
SQL, name = self.getSQL(gid, sid, did, data, scid, None)
|
||||
|
||||
status, msg = self.conn.execute_scalar(SQL)
|
||||
if not status:
|
||||
@ -555,7 +552,7 @@ class PackageView(PGChildNodeView):
|
||||
status=200
|
||||
)
|
||||
|
||||
def getSQL(self, gid, sid, did, data, scid, pkgid=None):
|
||||
def getSQL(self, gid, sid, did, data, scid, pkgid=None, sqltab=False):
|
||||
"""
|
||||
This function will generate sql from model data.
|
||||
|
||||
@ -571,7 +568,7 @@ class PackageView(PGChildNodeView):
|
||||
u'name'
|
||||
]
|
||||
|
||||
if pkgid is not None:
|
||||
if pkgid is not None and not sqltab:
|
||||
data['schema'] = self.schema
|
||||
SQL = render_template(
|
||||
"/".join([self.template_path, 'properties.sql']), scid=scid,
|
||||
@ -679,7 +676,7 @@ class PackageView(PGChildNodeView):
|
||||
res['rows'][0].setdefault(row['deftype'], []).append(priv)
|
||||
|
||||
result = res['rows'][0]
|
||||
sql, name = self.getSQL(gid, sid, did, result, scid, pkgid)
|
||||
sql, name = self.getSQL(gid, sid, did, result, scid, pkgid, True)
|
||||
# Most probably this is due to error
|
||||
if not isinstance(sql, (str, unicode)):
|
||||
return sql
|
||||
|
@ -33,3 +33,4 @@ FROM
|
||||
LEFT JOIN pg_catalog.pg_roles g ON (d.grantor = g.oid)
|
||||
LEFT JOIN pg_catalog.pg_roles gt ON (d.grantee = gt.oid)
|
||||
GROUP BY g.rolname, gt.rolname
|
||||
ORDER BY grantee
|
||||
|
@ -1,20 +1,20 @@
|
||||
-- Package: public."pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||
|
||||
-- DROP PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#";
|
||||
-- DROP PACKAGE "pkg_emp_$%{}[]()&*^!@""'`\/#";
|
||||
|
||||
CREATE OR REPLACE PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||
CREATE OR REPLACE PACKAGE "pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||
IS
|
||||
FUNCTION func2(v2 integer) RETURN integer;
|
||||
PROCEDURE proc2(v2 integer);
|
||||
gl_v character varying(50);
|
||||
FUNCTION func1(v1 integer) RETURN integer;
|
||||
PROCEDURE proc1(v1 integer);
|
||||
END "pkg_emp_$%{}[]()&*^!@""'`\/#";
|
||||
|
||||
|
||||
CREATE OR REPLACE PACKAGE BODY public."pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||
CREATE OR REPLACE PACKAGE BODY "pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||
IS
|
||||
FUNCTION func2(v2 integer) RETURN integer IS BEGIN RETURN V2+10; END FUNC2;
|
||||
PROCEDURE proc2(v2 integer) IS BEGIN DBMS_OUTPUT.put_line(v2+50); END;
|
||||
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_$%{}[]()&*^!@""'`\/#";
|
||||
|
||||
COMMENT ON PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||
GRANT EXECUTE ON PACKAGE "pkg_emp_$%{}[]()&*^!@""'`\/#" TO PUBLIC;
|
||||
|
||||
COMMENT ON PACKAGE "pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||
IS 'test comment updated';
|
||||
|
@ -0,0 +1,4 @@
|
||||
REVOKE ALL ON PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#" FROM enterprisedb;
|
||||
|
||||
COMMENT ON PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||
IS 'test comment updated';
|
@ -1,20 +1,22 @@
|
||||
-- Package: public."pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||
|
||||
-- DROP PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#";
|
||||
-- DROP PACKAGE "pkg_emp_$%{}[]()&*^!@""'`\/#";
|
||||
|
||||
CREATE OR REPLACE PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||
CREATE OR REPLACE PACKAGE "pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||
IS
|
||||
FUNCTION func1(v1 integer) RETURN integer;
|
||||
PROCEDURE proc1(v1 integer);
|
||||
gl_v character varying(50);
|
||||
END "pkg_emp_$%{}[]()&*^!@""'`\/#";
|
||||
|
||||
|
||||
CREATE OR REPLACE PACKAGE BODY public."pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||
CREATE OR REPLACE PACKAGE BODY "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_$%{}[]()&*^!@""'`\/#";
|
||||
|
||||
COMMENT ON PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||
GRANT EXECUTE ON PACKAGE "pkg_emp_$%{}[]()&*^!@""'`\/#" TO PUBLIC;
|
||||
|
||||
GRANT EXECUTE ON PACKAGE "pkg_emp_$%{}[]()&*^!@""'`\/#" TO enterprisedb WITH GRANT OPTION;
|
||||
|
||||
COMMENT ON PACKAGE "pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||
IS 'test comment';
|
||||
|
@ -0,0 +1,16 @@
|
||||
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 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 public."pkg_emp_$%{}[]()&*^!@""'`\/#" TO enterprisedb WITH GRANT OPTION;
|
||||
|
||||
COMMENT ON PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||
IS 'test comment';
|
@ -5,13 +5,16 @@
|
||||
"name": "Create Packages",
|
||||
"endpoint": "NODE-package.obj",
|
||||
"sql_endpoint": "NODE-package.sql_id",
|
||||
"msql_endpoint": "NODE-package.msql",
|
||||
"data":
|
||||
{
|
||||
"name": "pkg_emp_$%{}[]()&*^!@\"'`\\/#",
|
||||
"description": "test comment",
|
||||
"owner": "enterprisedb",
|
||||
"description": "test comment",
|
||||
"pkgheadsrc": "FUNCTION func1(v1 integer) RETURN integer;\nPROCEDURE proc1(v1 integer);",
|
||||
"pkgbodysrc": "FUNCTION func1(v1 integer) RETURN integer IS BEGIN RETURN V1+10; END FUNC1;\nPROCEDURE proc1(v1 integer) IS BEGIN DBMS_OUTPUT.put_line(v1+50); END;",
|
||||
"pkgacl": [{
|
||||
"grantee": "aq_administrator_role",
|
||||
"grantee": "enterprisedb",
|
||||
"grantor": "enterprisedb",
|
||||
"privileges": [{
|
||||
"privilege_type": "X",
|
||||
@ -19,26 +22,44 @@
|
||||
"with_grant": true
|
||||
}]
|
||||
}],
|
||||
"pkgheadsrc": "FUNCTION func1(v1 integer) RETURN integer;\nPROCEDURE proc1(v1 integer);\ngl_v character varying(50);",
|
||||
"pkgbodysrc": "FUNCTION func1(v1 integer) RETURN integer IS BEGIN RETURN V1+10; END FUNC1;\nPROCEDURE proc1(v1 integer) IS BEGIN DBMS_OUTPUT.put_line(v1+50); END;",
|
||||
"schema": "public"
|
||||
},
|
||||
"expected_sql_file": "create_package_with_all_options.sql"
|
||||
"expected_sql_file": "create_package_with_all_options.sql",
|
||||
"expected_msql_file": "create_package_with_all_options_msql.sql"
|
||||
},
|
||||
{
|
||||
"type": "alter",
|
||||
"name": "Alter Packages",
|
||||
"endpoint": "NODE-package.obj_id",
|
||||
"sql_endpoint": "NODE-package.sql_id",
|
||||
"msql_endpoint": "NODE-package.msql_id",
|
||||
"data":
|
||||
{
|
||||
"description": "test comment updated",
|
||||
"owner": "enterprisedb",
|
||||
"pkgheadsrc": "FUNCTION func2(v2 integer) RETURN integer;\nPROCEDURE proc2(v2 integer);\ngl_v character varying(50);",
|
||||
"pkgbodysrc": "FUNCTION func2(v2 integer) RETURN integer IS BEGIN RETURN V2+10; END FUNC2;\nPROCEDURE proc2(v2 integer) IS BEGIN DBMS_OUTPUT.put_line(v2+50); END;",
|
||||
"pkgacl": {
|
||||
"deleted": [{
|
||||
"grantee": "enterprisedb",
|
||||
"grantor": "enterprisedb",
|
||||
"privileges": [{
|
||||
"privilege_type": "X",
|
||||
"privilege": true,
|
||||
"with_grant": true
|
||||
}]
|
||||
}]
|
||||
},
|
||||
"schema": "public"
|
||||
},
|
||||
"expected_sql_file": "alter_package_headers_and_comment.sql"
|
||||
"expected_sql_file": "alter_package_headers_and_comment.sql",
|
||||
"expected_msql_file": "alter_package_headers_and_comment_msql.sql"
|
||||
},
|
||||
{
|
||||
"type": "delete",
|
||||
"name": "Drop Package",
|
||||
"endpoint": "NODE-package.delete_id",
|
||||
"data": {
|
||||
"name": "pkg_emp_$%{}[]()&*^!@\"'`\\/#"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -1,20 +1,20 @@
|
||||
-- Package: public."pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||
|
||||
-- DROP PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#";
|
||||
-- DROP PACKAGE "pkg_emp_$%{}[]()&*^!@""'`\/#";
|
||||
|
||||
CREATE OR REPLACE PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||
CREATE OR REPLACE PACKAGE "pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||
IS
|
||||
FUNCTION func2(v2 integer) RETURN integer;
|
||||
PROCEDURE proc2(v2 integer);
|
||||
gl_v character varying(50);
|
||||
FUNCTION func1(v1 integer) RETURN integer;
|
||||
PROCEDURE proc1(v1 integer);
|
||||
END "pkg_emp_$%{}[]()&*^!@""'`\/#";
|
||||
|
||||
|
||||
CREATE OR REPLACE PACKAGE BODY public."pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||
CREATE OR REPLACE PACKAGE BODY "pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||
IS
|
||||
FUNCTION func2(v2 integer) RETURN integer IS BEGIN RETURN V2+10; END;
|
||||
PROCEDURE proc2(v2 integer) IS BEGIN DBMS_OUTPUT.put_line(v2+50); 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;
|
||||
END "pkg_emp_$%{}[]()&*^!@""'`\/#";
|
||||
|
||||
COMMENT ON PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||
GRANT EXECUTE ON PACKAGE "pkg_emp_$%{}[]()&*^!@""'`\/#" TO PUBLIC;
|
||||
|
||||
COMMENT ON PACKAGE "pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||
IS 'test comment updated';
|
||||
|
@ -0,0 +1,4 @@
|
||||
REVOKE ALL ON PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#" FROM enterprisedb;
|
||||
|
||||
COMMENT ON PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||
IS 'test comment updated';
|
@ -1,20 +1,22 @@
|
||||
-- Package: public."pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||
|
||||
-- DROP PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#";
|
||||
-- DROP PACKAGE "pkg_emp_$%{}[]()&*^!@""'`\/#";
|
||||
|
||||
CREATE OR REPLACE PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||
CREATE OR REPLACE PACKAGE "pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||
IS
|
||||
FUNCTION func1(v1 integer) RETURN integer;
|
||||
PROCEDURE proc1(v1 integer);
|
||||
gl_v character varying(50);
|
||||
END "pkg_emp_$%{}[]()&*^!@""'`\/#";
|
||||
|
||||
|
||||
CREATE OR REPLACE PACKAGE BODY public."pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||
CREATE OR REPLACE PACKAGE BODY "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_$%{}[]()&*^!@""'`\/#";
|
||||
|
||||
COMMENT ON PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||
GRANT EXECUTE ON PACKAGE "pkg_emp_$%{}[]()&*^!@""'`\/#" TO PUBLIC;
|
||||
|
||||
GRANT EXECUTE ON PACKAGE "pkg_emp_$%{}[]()&*^!@""'`\/#" TO enterprisedb WITH GRANT OPTION;
|
||||
|
||||
COMMENT ON PACKAGE "pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||
IS 'test comment';
|
||||
|
@ -0,0 +1,16 @@
|
||||
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 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 public."pkg_emp_$%{}[]()&*^!@""'`\/#" TO enterprisedb WITH GRANT OPTION;
|
||||
|
||||
COMMENT ON PACKAGE public."pkg_emp_$%{}[]()&*^!@""'`\/#"
|
||||
IS 'test comment';
|
@ -5,13 +5,16 @@
|
||||
"name": "Create Packages",
|
||||
"endpoint": "NODE-package.obj",
|
||||
"sql_endpoint": "NODE-package.sql_id",
|
||||
"msql_endpoint": "NODE-package.msql",
|
||||
"data":
|
||||
{
|
||||
"name": "pkg_emp_$%{}[]()&*^!@\"'`\\/#",
|
||||
"description": "test comment",
|
||||
"owner": "enterprisedb",
|
||||
"description": "test comment",
|
||||
"pkgheadsrc": "FUNCTION func1(v1 integer) RETURN integer;\nPROCEDURE proc1(v1 integer);",
|
||||
"pkgbodysrc": "FUNCTION func1(v1 integer) RETURN integer IS BEGIN RETURN V1+10; END FUNC1;\nPROCEDURE proc1(v1 integer) IS BEGIN DBMS_OUTPUT.put_line(v1+50); END;",
|
||||
"pkgacl": [{
|
||||
"grantee": "aq_administrator_role",
|
||||
"grantee": "enterprisedb",
|
||||
"grantor": "enterprisedb",
|
||||
"privileges": [{
|
||||
"privilege_type": "X",
|
||||
@ -19,26 +22,44 @@
|
||||
"with_grant": true
|
||||
}]
|
||||
}],
|
||||
"pkgheadsrc": "FUNCTION func1(v1 integer) RETURN integer;\nPROCEDURE proc1(v1 integer);\ngl_v character varying(50);",
|
||||
"pkgbodysrc": "FUNCTION func1(v1 integer) RETURN integer IS BEGIN RETURN V1+10; END;\nPROCEDURE proc1(v1 integer) IS BEGIN DBMS_OUTPUT.put_line(v1+50); END;",
|
||||
"schema": "public"
|
||||
},
|
||||
"expected_sql_file": "create_package_with_all_options.sql"
|
||||
"expected_sql_file": "create_package_with_all_options.sql",
|
||||
"expected_msql_file": "create_package_with_all_options_msql.sql"
|
||||
},
|
||||
{
|
||||
"type": "alter",
|
||||
"name": "Alter Packages",
|
||||
"endpoint": "NODE-package.obj_id",
|
||||
"sql_endpoint": "NODE-package.sql_id",
|
||||
"msql_endpoint": "NODE-package.msql_id",
|
||||
"data":
|
||||
{
|
||||
"description": "test comment updated",
|
||||
"owner": "enterprisedb",
|
||||
"pkgheadsrc": "FUNCTION func2(v2 integer) RETURN integer;\nPROCEDURE proc2(v2 integer);\ngl_v character varying(50);",
|
||||
"pkgbodysrc": "FUNCTION func2(v2 integer) RETURN integer IS BEGIN RETURN V2+10; END;\nPROCEDURE proc2(v2 integer) IS BEGIN DBMS_OUTPUT.put_line(v2+50); END;",
|
||||
"pkgacl": {
|
||||
"deleted": [{
|
||||
"grantee": "enterprisedb",
|
||||
"grantor": "enterprisedb",
|
||||
"privileges": [{
|
||||
"privilege_type": "X",
|
||||
"privilege": true,
|
||||
"with_grant": true
|
||||
}]
|
||||
}]
|
||||
},
|
||||
"schema": "public"
|
||||
},
|
||||
"expected_sql_file": "alter_package_headers_and_comment.sql"
|
||||
"expected_sql_file": "alter_package_headers_and_comment.sql",
|
||||
"expected_msql_file": "alter_package_headers_and_comment_msql.sql"
|
||||
},
|
||||
{
|
||||
"type": "delete",
|
||||
"name": "Drop Package",
|
||||
"endpoint": "NODE-package.delete_id",
|
||||
"data": {
|
||||
"name": "pkg_emp_$%{}[]()&*^!@\"'`\\/#"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user