Skip to content

Commit 482a609

Browse files
authored
Merge branch 'develop' into bugfix/autonomous_transaction_dirty_on_timeout
2 parents dd25571 + e4245f0 commit 482a609

2 files changed

Lines changed: 16 additions & 3 deletions

File tree

docs/userguide/install.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,13 @@ The following tools that support the SQL*Plus commands can be used to run the in
8585
- [SQLcl](http://www.oracle.com/technetwork/developer-tools/sqlcl/overview/index.html)
8686
- [Oracle SQL Developer](http://www.oracle.com/technetwork/developer-tools/sql-developer/overview/index.html)
8787

88+
# Additional requirements
89+
90+
In order to use Code Coverage functionality of utPLSQL users executing the tests must have the CREATE privilege on the PLSQL code that the coverage is gathered on.
91+
This is a requirement of [DBMS_PROFILER package](https://docs.oracle.com/cd/E18283_01/appdev.112/e16760/d_profil.htm#i999476).
92+
93+
In practice, user running tests for PLSQL code that he does not own, needs to have CREATE ANY PROCEDURE/CREATE ANY TRIGGER privileges.
94+
Running code coverage on objects that the user does not own will not produce any coverage information without those privileges.
8895

8996
# Uninstalling utPLSQL
9097

source/core/ut_suite_manager.pkb

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ create or replace package body ut_suite_manager is
1515
See the License for the specific language governing permissions and
1616
limitations under the License.
1717
*/
18-
18+
1919
type t_schema_info is record (changed_at date, obj_cnt integer);
2020

2121
type tt_schema_suites is table of ut_logical_suite index by varchar2(4000 char);
@@ -63,11 +63,17 @@ create or replace package body ut_suite_manager is
6363

6464
l_suite_rollback integer;
6565
l_suite_rollback_annotation varchar2(4000);
66-
66+
e_insufficient_priv exception;
67+
pragma exception_init(e_insufficient_priv,-01031);
6768
begin
6869
l_owner_name := a_owner_name;
6970
l_object_name := a_object_name;
70-
ut_metadata.do_resolve(a_owner => l_owner_name, a_object => l_object_name);
71+
begin
72+
ut_metadata.do_resolve(a_owner => l_owner_name, a_object => l_object_name);
73+
exception
74+
when e_insufficient_priv then
75+
return null;
76+
end;
7177
l_annotation_data := ut_annotations.get_package_annotations(a_owner_name => l_owner_name, a_name => l_object_name);
7278

7379
if l_annotation_data.package_annotations.exists('suite') then

0 commit comments

Comments
 (0)