@@ -131,8 +131,8 @@ create or replace package body ut_coverage is
131131
132132 if not ut_coverage_helper.is_tmp_table_populated() or is_develop_mode() then
133133 ut_coverage_helper.cleanup_tmp_table();
134-
135- l_cov_sources_crsr := get_cov_sources_cursor(a_coverage_options,a_sql);
134+ ut_event_manager.trigger_event(ut_event_manager.gc_debug, ut_key_anyvalues().put('a_sql',a_sql) );
135+ l_cov_sources_crsr := get_cov_sources_cursor(a_coverage_options, a_sql);
136136
137137 loop
138138 fetch l_cov_sources_crsr bulk collect into l_cov_sources_data limit 10000;
@@ -209,48 +209,50 @@ create or replace package body ut_coverage is
209209 l_line_no binary_integer;
210210 begin
211211 --prepare global temp table with sources
212+ ut_event_manager.trigger_event('about to populate coverage temp table');
212213 populate_tmp_table(a_coverage_options, get_cov_sources_sql(a_coverage_options));
214+ ut_event_manager.trigger_event('coverage temp table populated');
213215
214216 -- Get raw data for both reporters, order is important as tmp table will skip headers and dont populate
215217 -- tmp table for block again.
216218 l_result_profiler_enrich:= ut_coverage_profiler.get_coverage_data( a_coverage_options, get_coverage_id(gc_proftab_coverage) );
217-
218- -- If block coverage available we will use it.
219- $if dbms_db_version.version = 12 and dbms_db_version.release >= 2 or dbms_db_version.version > 12 $then
220- l_result_block := ut_coverage_block.get_coverage_data( a_coverage_options, get_coverage_id(gc_block_coverage) );
221-
222- -- Enrich profiler results with some of the block results
223- l_object := l_result_profiler_enrich.objects.first;
224- while (l_object is not null)
225- loop
226-
227- l_line_no := l_result_profiler_enrich.objects(l_object).lines.first;
228-
229- -- to avoid no data found check if we got object in profiler
230- if l_result_block.objects.exists(l_object) then
231- while (l_line_no is not null)
232- loop
233- -- To avoid no data check for object line
234- if l_result_block.objects(l_object).lines.exists(l_line_no) then
235- -- enrich line level stats
236- l_result_profiler_enrich.objects(l_object).lines(l_line_no).partcove := l_result_block.objects(l_object).lines(l_line_no).partcove;
237- l_result_profiler_enrich.objects(l_object).lines(l_line_no).covered_blocks := l_result_block.objects(l_object).lines(l_line_no).covered_blocks;
238- l_result_profiler_enrich.objects(l_object).lines(l_line_no).no_blocks := l_result_block.objects(l_object).lines(l_line_no).no_blocks;
239- -- enrich object level stats
240- l_result_profiler_enrich.objects(l_object).partcovered_lines := nvl(l_result_profiler_enrich.objects(l_object).partcovered_lines,0) + l_result_block.objects(l_object).lines(l_line_no).partcove;
219+ ut_event_manager.trigger_event('profiler coverage data retrieved');
220+
221+ -- If block coverage available we will use it.
222+ $if dbms_db_version.version = 12 and dbms_db_version.release >= 2 or dbms_db_version.version > 12 $then
223+ l_result_block := ut_coverage_block.get_coverage_data( a_coverage_options, get_coverage_id(gc_block_coverage) );
224+ ut_event_manager.trigger_event('block coverage data retrieved');
225+
226+ -- Enrich profiler results with some of the block results
227+ l_object := l_result_profiler_enrich.objects.first;
228+ while (l_object is not null) loop
229+
230+ l_line_no := l_result_profiler_enrich.objects(l_object).lines.first;
231+
232+ -- to avoid no data found check if we got object in profiler
233+ if l_result_block.objects.exists(l_object) then
234+ while (l_line_no is not null) loop
235+ -- To avoid no data check for object line
236+ if l_result_block.objects(l_object).lines.exists(l_line_no) then
237+ -- enrich line level stats
238+ l_result_profiler_enrich.objects(l_object).lines(l_line_no).partcove := l_result_block.objects(l_object).lines(l_line_no).partcove;
239+ l_result_profiler_enrich.objects(l_object).lines(l_line_no).covered_blocks := l_result_block.objects(l_object).lines(l_line_no).covered_blocks;
240+ l_result_profiler_enrich.objects(l_object).lines(l_line_no).no_blocks := l_result_block.objects(l_object).lines(l_line_no).no_blocks;
241+ -- enrich object level stats
242+ l_result_profiler_enrich.objects(l_object).partcovered_lines := nvl(l_result_profiler_enrich.objects(l_object).partcovered_lines,0) + l_result_block.objects(l_object).lines(l_line_no).partcove;
243+ end if;
244+ --At the end go to next line
245+ l_line_no := l_result_profiler_enrich.objects(l_object).lines.next(l_line_no);
246+ end loop;
247+ --total level stats enrich
248+ l_result_profiler_enrich.partcovered_lines := nvl(l_result_profiler_enrich.partcovered_lines,0) + l_result_profiler_enrich.objects(l_object).partcovered_lines;
249+ -- At the end go to next object
241250 end if;
242- --At the end go to next line
243- l_line_no := l_result_profiler_enrich.objects(l_object).lines.next(l_line_no);
244- end loop;
245- --total level stats enrich
246- l_result_profiler_enrich.partcovered_lines := nvl(l_result_profiler_enrich.partcovered_lines,0) + l_result_profiler_enrich.objects(l_object).partcovered_lines;
247- -- At the end go to next object
248- end if;
249-
250- l_object := l_result_profiler_enrich.objects.next(l_object);
251-
252- end loop;
253- $end
251+
252+ l_object := l_result_profiler_enrich.objects.next(l_object);
253+ end loop;
254+ ut_event_manager.trigger_event('coverage data combined');
255+ $end
254256
255257 return l_result_profiler_enrich;
256258 end get_coverage_data;
0 commit comments