@@ -341,11 +341,10 @@ create or replace package body ut_suite_manager is
341341 from ]'||l_ut_owner||q'[.ut_suite_cache_package i
342342 where
343343 not exists (
344- select 1 from ]'||l_objects_view ||q'[ o
345- where o.owner = i.object_owner
344+ select 1 from ]'||l_ut_owner ||q'[.ut_annotation_cache_info o
345+ where o.object_owner = i.object_owner
346346 and o.object_name = i.object_name
347347 and o.object_type = 'PACKAGE'
348- and o.owner = ']'||a_object_owner||q'['
349348 )
350349 and i.object_owner = ']'||a_object_owner||q'[']';
351350 open l_rows for l_cursor_text;
@@ -479,7 +478,7 @@ create or replace package body ut_suite_manager is
479478 a_owner_name varchar2
480479 ) return boolean is
481480 begin
482- return sys_context( 'userenv', 'current_schema' ) = a_owner_name or ut_metadata.user_has_execute_any_proc();
481+ return sys_context( 'userenv', 'current_schema' ) = a_owner_name or ut_metadata.user_has_execute_any_proc() or ut_trigger_check.is_alive() ;
483482 end;
484483
485484 procedure build_and_cache_suites(
@@ -493,6 +492,7 @@ create or replace package body ut_suite_manager is
493492 ex_string_too_small exception;
494493 pragma exception_init (ex_string_too_small,-06502);
495494 begin
495+ ut_event_manager.trigger_event('build_and_cache_suites - start');
496496 loop
497497 fetch a_annotated_objects bulk collect into l_annotated_objects limit 10;
498498
@@ -521,35 +521,33 @@ create or replace package body ut_suite_manager is
521521 ut_utils.to_string(gc_suitpath_error_message||ut_utils.table_to_clob(l_bad_suitepath_obj,','))
522522 );
523523 end if;
524+ ut_event_manager.trigger_event('build_and_cache_suites - end');
524525 end;
525526
526527 procedure refresh_cache(
527- a_owner_name varchar2,
528- a_annotations_cursor sys_refcursor := null
528+ a_owner_name varchar2
529529 ) is
530530 l_annotations_cursor sys_refcursor;
531531 l_suite_cache_time timestamp;
532532 begin
533+ ut_event_manager.trigger_event('refresh_cache - start');
533534 l_suite_cache_time := ut_suite_cache_manager.get_schema_parse_time(a_owner_name);
534- if a_annotations_cursor is not null then
535- l_annotations_cursor := a_annotations_cursor;
536- else
537- open l_annotations_cursor for
538- q'[select value(x)
539- from table(
540- ]' || ut_utils.ut_owner || q'[.ut_annotation_manager.get_annotated_objects(
541- :a_owner_name, 'PACKAGE', :a_suite_cache_parse_time
542- )
543- )x ]'
544- using a_owner_name, l_suite_cache_time;
545- end if;
535+ open l_annotations_cursor for
536+ q'[select value(x)
537+ from table(
538+ ]' || ut_utils.ut_owner || q'[.ut_annotation_manager.get_annotated_objects(
539+ :a_owner_name, 'PACKAGE', :a_suite_cache_parse_time
540+ )
541+ )x ]'
542+ using a_owner_name, l_suite_cache_time;
546543
547544 build_and_cache_suites(a_owner_name, l_annotations_cursor);
548545
549546 if can_skip_all_objects_scan(a_owner_name) or ut_metadata.is_object_visible( 'dba_objects') then
550547 ut_suite_cache_manager.remove_from_cache( a_owner_name, get_missing_objects(a_owner_name) );
551548 end if;
552549
550+ ut_event_manager.trigger_event('refresh_cache - end');
553551 end;
554552
555553 procedure add_suites_for_path(
@@ -672,6 +670,7 @@ create or replace package body ut_suite_manager is
672670 l_index varchar2(4000 char);
673671 l_schema_paths t_schema_paths;
674672 begin
673+ ut_event_manager.trigger_event('configure_execution_by_path - start');
675674 a_suites := ut_suite_items();
676675 --resolve schema names from paths and group paths by schema name
677676 resolve_schema_names(l_paths);
@@ -711,6 +710,7 @@ create or replace package body ut_suite_manager is
711710 a_suites(i).set_rollback_type( a_suites(i).get_rollback_type() );
712711 end loop;
713712
713+ ut_event_manager.trigger_event('configure_execution_by_path - start');
714714 end configure_execution_by_path;
715715
716716 function get_suites_info(
0 commit comments