Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
114 commits
Select commit Hold shift + click to select a range
e623664
Merge remote-tracking branch 'origin/master' into develop
jgebal Feb 23, 2020
532073b
Updated version to 3.1.11
jgebal Feb 23, 2020
1b00d27
Updated project version after build [skip ci]
Feb 23, 2020
63f17a2
Improved the way utPLSQL checks if user has the `execute any procedur…
jgebal Mar 12, 2020
4979cf9
Added check for sys grants added via role when installing utPLSQL fra…
jgebal Mar 12, 2020
5532191
Merge pull request #1056 from utPLSQL/feature/improve_ut3_user_support
jgebal Mar 14, 2020
4d865ae
Fixed flay tests that can fail on occasion when a second flips during…
jgebal Mar 14, 2020
d9fc007
Merge pull request #1058 from utPLSQL/feature/fixing_flaky_tests
jgebal Mar 14, 2020
8d37591
Updated project version after build [skip ci]
Mar 14, 2020
725d367
Refactored and fixed code to use be fully schema-independent.
jgebal Mar 15, 2020
2c0b2d0
Refactored tests to comply with new schema layout
jgebal Mar 15, 2020
0d9eddc
Fixing examples run
jgebal Mar 15, 2020
179586a
Enabled echo and feedback for examples
jgebal Mar 15, 2020
0793607
Enabled echo and feedback for examples
jgebal Mar 15, 2020
eb5dad6
Changed the way session context is created.
jgebal Mar 15, 2020
22f0ec7
Fixed failing tests - wrong context name
jgebal Mar 16, 2020
09b79bf
Removed copy of ojdbc jar files - no longed valid and no longer needed.
jgebal Mar 17, 2020
6e2a4b4
Updated documentation. No need to download OJDBC drivers anymore.
jgebal Mar 17, 2020
6b1dad8
Merge pull request #1059 from utPLSQL/feature/swap_develop_schema
jgebal Mar 17, 2020
ea4c9fb
Updated project version after build [skip ci]
Mar 17, 2020
b8c0287
Resolves issue #1060 with suites not properly built with GERMAN (non-…
jgebal Mar 25, 2020
2689052
Merge pull request #1061 from utPLSQL/bugfix/suitepath_with_nlssort
jgebal Mar 25, 2020
fa4c6b7
Restructuring utPSLQL install guide.
jgebal Mar 25, 2020
62ef235
Fixed some typos
jgebal Mar 26, 2020
4be8465
Merge pull request #1063 from utPLSQL/feature/install_doc_update
jgebal Mar 27, 2020
72a6809
Updated project version after build [skip ci]
Mar 27, 2020
83ee513
Added explicit requirements
jgebal Mar 29, 2020
c5d53fb
Added explicit 11g release 2 requirement
jgebal Mar 29, 2020
41328a5
Merge pull request #1065 from utPLSQL/feature/add_explicit_requirements
jgebal Mar 31, 2020
789ad61
Updated project version after build [skip ci]
Apr 1, 2020
0dd978f
grant privileges to debug via UT3_USER
PhilippSalvisberg Jun 4, 2020
9ea6ab4
add test case to reproduce bug #1073
PhilippSalvisberg Jun 4, 2020
bfe94cd
handle nested CDATA sections to fix bug #1073
PhilippSalvisberg Jun 4, 2020
6631930
support Oracle DB 11.2, add ace only on 12c and higher
PhilippSalvisberg Jun 4, 2020
d9a0457
Merge pull request #1075 from utPLSQL/bugfix/issue-1073-nested-cdata
PhilippSalvisberg Jun 4, 2020
c465151
Updated project version after build [skip ci]
Jun 4, 2020
a3b3a20
Changed `dbms_plssqlcode` tables to be permanent.
jgebal Jun 10, 2020
199ce0b
Merge pull request #1078 from utPLSQL/feature/change_coverage_to_perm…
jgebal Jun 10, 2020
93fd222
Reworked coverage to allow for gathering coverage without calling utP…
jgebal Jun 10, 2020
a23f7be
Updated project version after build [skip ci]
Jun 10, 2020
641d87c
Removed mocking API for coverage,
jgebal Jun 13, 2020
52e1db9
Workaround for 12.2 issue with conditional compilation in package spec.
jgebal Jun 14, 2020
a17c3af
cleanup of unneeded safety code
jgebal Jun 14, 2020
09ab226
Refactoring tests
jgebal Jun 14, 2020
631d6da
Renamed master to main
jgebal Jun 14, 2020
d5cca04
Merge pull request #1080 from utPLSQL/feature/rename_from_master_to_main
jgebal Jun 15, 2020
4e7631b
Updated project version after build [skip ci]
Jun 15, 2020
e9e4b9e
Reorganized and cleaned up tests to have only one package used for co…
jgebal Jun 21, 2020
a4ae4cf
Removed dead code.
jgebal Jun 21, 2020
0e72abc
Added support for client_character_set as report parameter.
jgebal Jun 21, 2020
955de5c
Made coverage_run_id mandatory in `ut_coverage_options`
jgebal Jun 21, 2020
cd7d738
Fixed CDATA tagging in JUnit reporter
jgebal Jun 28, 2020
20bf6dd
Merge pull request #1085 from utPLSQL/feature/fix_cdata_tagging
jgebal Jul 18, 2020
2956d07
Updated project version after build [skip ci]
Jul 18, 2020
ad39737
Merge pull request #1079 from utPLSQL/feature/standalone_coverage
jgebal Jul 18, 2020
89d546a
Extended UK on ut_coverage_sources_tmp table.
jgebal Jul 18, 2020
461bc01
Updated project version after build [skip ci]
Jul 19, 2020
e96b978
Added object type to name in coverage reports.
jgebal Jul 20, 2020
09e495e
Merge pull request #1091 from utPLSQL/feature/fix_coverage_uk_violati…
jgebal Jul 20, 2020
507c176
Updated project version after build [skip ci]
Jul 20, 2020
959c1c9
Added example of a reporter that reports out all expectation outputs,…
jgebal Aug 3, 2020
81d4194
Fixes to annotation parsing.
jgebal Aug 3, 2020
86e335e
Fixed issue by removing owner from beginning of source code.
jgebal Aug 3, 2020
74b77b5
Merge pull request #1093 from utPLSQL/feature/fix_ddl_trigger_parsing
jgebal Aug 9, 2020
7eeae39
Updated project version after build [skip ci]
Aug 9, 2020
eced7a5
add executable flag (required on macOS and Linux)
PhilippSalvisberg Dec 9, 2020
7812a8a
resolves #1111 - use dbms_crypto instead of dbms_obfuscation_toolkit
PhilippSalvisberg Dec 9, 2020
abfa190
Merge pull request #1112 from utPLSQL/feature/issue-1111-oracle-21c
jgebal Dec 9, 2020
04b5f52
Updated project version after build [skip ci]
Dec 9, 2020
ae50802
Added missing <classes> tag
OsBlaineOra May 20, 2021
bbc8e9a
Merge pull request #1137 from OsBlaineOra/bugfix/partial_fix_1107_Mis…
jgebal May 20, 2021
ed87327
Merge pull request #1092 from utPLSQL/feature/sample_reporters
jgebal May 20, 2021
12f9bdf
Updated unit tests after coverage format fix
jgebal May 20, 2021
f671acf
Merge pull request #1138 from utPLSQL/feature/test_fixes_after_covera…
jgebal May 20, 2021
75037c8
Updated project version after build [skip ci]
May 20, 2021
7498530
Replaced hard coded 0 in total test coverage
OsBlaineOra Jun 1, 2021
70ccc22
Update readme.md
jgebal Aug 17, 2021
3b7687b
Update readme.md
jgebal Aug 17, 2021
cbfac19
Updated project version after build [skip ci]
Aug 17, 2021
4acb559
Adjusting build to work with new travis server.
jgebal Aug 17, 2021
59f630c
Merge pull request #1152 from utPLSQL/feature/move_to_travis-ci.com
jgebal Aug 18, 2021
ff11584
Updated project version after build [skip ci]
Aug 18, 2021
b0031ab
Update annotations documentation
jgebal Sep 3, 2021
b33d395
Updated project version after build [skip ci]
Sep 4, 2021
4e2b9f5
Fixed a divide by zero error.
OsBlaineOra Sep 7, 2021
9cbcaa1
Update of slack invite link
jgebal Oct 29, 2021
56ee7c9
Update link for slack
jgebal Oct 29, 2021
2967725
Adjusting tests for Oracle21cXE
jgebal Nov 3, 2021
a36d796
Adding ORacle 21c XE to the build process
jgebal Nov 3, 2021
ee7d9e2
Adding Oracle 21c XE to the build process
jgebal Nov 3, 2021
e48508f
Updated project version after build [skip ci]
Nov 4, 2021
14eca7f
Adding noparallel hint to elements causing issues on parallel-enabled…
jgebal Aug 17, 2021
f35694e
Added no_parallel hints to all SQLs to assure stable performance on p…
jgebal Nov 7, 2021
b7fbfeb
Merge pull request #1158 from utPLSQL/feature/add_21cXE_to_pipeline
jgebal Nov 7, 2021
c930ba6
Updated project version after build [skip ci]
Nov 7, 2021
45d1d5b
Improved build speed by ~1.5 minute
jgebal Nov 8, 2021
8080604
Testing build on images from Gerald Venzl
jgebal Nov 9, 2021
23d8651
Testing build on images from Gerald Venzl
jgebal Nov 10, 2021
2c1624e
Disabled 11g build from Gerald as utPLSQL fails on that build.
jgebal Nov 11, 2021
78ae58d
Increasing wait time before proceeding with background job run for tests
jgebal Nov 11, 2021
938a06f
Merge pull request #1160 from utPLSQL/feature/fix_cache_when_parallel…
jgebal Nov 11, 2021
9388cb3
Updated project version after build [skip ci]
Nov 11, 2021
e4c67a9
Merge pull request #1162 from utPLSQL/feature/build_process_improvements
jgebal Nov 11, 2021
1e19520
Updated project version after build [skip ci]
Nov 11, 2021
38c53b6
Update copyright dates in license
jgebal Nov 15, 2021
000aeab
Updated project version after build [skip ci]
Nov 15, 2021
581991b
Fixed failing tests and improved coverage reporting
jgebal Nov 15, 2021
b4c7db8
Merge pull request #1140 from OsBlaineOra/bugfix/missing_total_lines_…
jgebal Nov 15, 2021
ad5faa8
Updated project version after build [skip ci]
Nov 15, 2021
fae53a4
Removed duplicate profiler table installation.
jgebal Nov 16, 2021
159f4be
Merge pull request #1164 from utPLSQL/bugfix/duplicated_profiler_tabl…
jgebal Nov 16, 2021
f841ecf
Updated project version after build [skip ci]
Nov 16, 2021
36279f9
Merge branch 'develop' into release/v3.1.11
jgebal Nov 16, 2021
5eaefd3
Updated project version after build [skip ci]
Nov 16, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Added no_parallel hints to all SQLs to assure stable performance on p…
…arallel-enabled systems.
  • Loading branch information
jgebal committed Nov 7, 2021
commit f35694e744e2bd8d322a0f3a153cfe54c36b5525
2 changes: 1 addition & 1 deletion source/api/ut.pkb
Original file line number Diff line number Diff line change
Expand Up @@ -674,7 +674,7 @@ create or replace package body ut is
procedure set_nls is
begin
if g_nls_date_format is null then
select nsp.value
select /*+ no_parallel */ nsp.value
into g_nls_date_format
from nls_session_parameters nsp
where parameter = 'NLS_DATE_FORMAT';
Expand Down
2 changes: 1 addition & 1 deletion source/check_object_grants.sql
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ begin
l_target_table := get_view('dba_tab_privs');
l_owner_column := case when l_target_table like 'dba%' then 'owner' else 'table_schema' end;
execute immediate q'[
select listagg(' - '||object_name,CHR(10)) within group(order by object_name)
select /*+ no_parallel */ listagg(' - '||object_name,CHR(10)) within group(order by object_name)
from (
select column_value as object_name
from table(:l_expected_grants)
Expand Down
50 changes: 25 additions & 25 deletions source/core/annotations/ut_annotation_cache_manager.pkb
Original file line number Diff line number Diff line change
Expand Up @@ -21,41 +21,41 @@ create or replace package body ut_annotation_cache_manager as
l_timestamp timestamp := systimestamp;
pragma autonomous_transaction;
begin
update /*+ noparallel */ ut_annotation_cache_schema s
update /*+ no_parallel */ ut_annotation_cache_schema s
set s.max_parse_time = l_timestamp
where s.object_type = a_object.object_type and s.object_owner = a_object.object_owner;

if sql%rowcount = 0 then
insert /*+ noparallel */ into ut_annotation_cache_schema s
insert /*+ no_parallel */ into ut_annotation_cache_schema s
(object_owner, object_type, max_parse_time)
values (a_object.object_owner, a_object.object_type, l_timestamp);
end if;

-- if not in trigger, or object has annotations
if ora_sysevent is null or a_object.annotations is not null and a_object.annotations.count > 0 then

update /*+ noparallel */ ut_annotation_cache_info i
update /*+ no_parallel */ ut_annotation_cache_info i
set i.parse_time = l_timestamp
where (i.object_owner, i.object_name, i.object_type)
in ((a_object.object_owner, a_object.object_name, a_object.object_type))
returning cache_id into l_cache_id;

if sql%rowcount = 0 then

insert /*+ noparallel */ into ut_annotation_cache_info
insert /*+ no_parallel */ into ut_annotation_cache_info
(cache_id, object_owner, object_name, object_type, parse_time)
values (ut_annotation_cache_seq.nextval, a_object.object_owner, a_object.object_name, a_object.object_type, l_timestamp)
returning cache_id into l_cache_id;
end if;

end if;

delete /*+ noparallel */ from ut_annotation_cache c where cache_id = l_cache_id;
delete /*+ no_parallel */ from ut_annotation_cache c where cache_id = l_cache_id;

if a_object.annotations is not null and a_object.annotations.count > 0 then
insert /*+ noparallel */ into ut_annotation_cache
insert /*+ no_parallel */ into ut_annotation_cache
(cache_id, annotation_position, annotation_name, annotation_text, subobject_name)
select l_cache_id, a.position, a.name, a.text, a.subobject_name
select /*+ no_parallel */ l_cache_id, a.position, a.name, a.text, a.subobject_name
from table(a_object.annotations) a;
end if;
commit;
Expand All @@ -67,9 +67,9 @@ create or replace package body ut_annotation_cache_manager as
pragma autonomous_transaction;
begin

delete /*+ noparallel */ from ut_annotation_cache c
delete /*+ no_parallel */ from ut_annotation_cache c
where c.cache_id
in (select i.cache_id
in (select /*+ no_parallel */ i.cache_id
from ut_annotation_cache_info i
join table (a_objects) o
on o.object_name = i.object_name
Expand All @@ -78,26 +78,26 @@ create or replace package body ut_annotation_cache_manager as
and o.needs_refresh = 'Y'
);

update /*+ noparallel */ ut_annotation_cache_schema s
update /*+ no_parallel */ ut_annotation_cache_schema s
set s.max_parse_time = l_timestamp
where (s.object_owner, s.object_type)
in (
select o.object_owner, o.object_type
select /*+ no_parallel */ o.object_owner, o.object_type
from table(a_objects) o
where o.needs_refresh = 'Y'
);

if sql%rowcount = 0 then
insert /*+ noparallel */ into ut_annotation_cache_schema s
insert /*+ no_parallel */ into ut_annotation_cache_schema s
(object_owner, object_type, max_parse_time)
select distinct o.object_owner, o.object_type, l_timestamp
select /*+ no_parallel */ distinct o.object_owner, o.object_type, l_timestamp
from table(a_objects) o
where o.needs_refresh = 'Y';
end if;

merge /*+ noparallel */
merge /*+ no_parallel */
into ut_annotation_cache_info i
using (select o.object_name, o.object_type, o.object_owner
using (select /*+ no_parallel */ o.object_name, o.object_type, o.object_owner
from table(a_objects) o
where o.needs_refresh = 'Y'
) o
Expand All @@ -117,7 +117,7 @@ create or replace package body ut_annotation_cache_manager as
function get_cached_objects_list(a_object_owner varchar2, a_object_type varchar2, a_parsed_after timestamp := null) return ut_annotation_objs_cache_info is
l_result ut_annotation_objs_cache_info;
begin
select ut_annotation_obj_cache_info(
select /*+ no_parallel */ ut_annotation_obj_cache_info(
object_owner => i.object_owner,
object_name => i.object_name,
object_type => i.object_type,
Expand All @@ -136,7 +136,7 @@ create or replace package body ut_annotation_cache_manager as
l_result t_cache_schema_info;
begin
begin
select *
select /*+ no_parallel */ *
into l_result
from ut_annotation_cache_schema s
where s.object_type = a_object_type and s.object_owner = a_object_owner;
Expand All @@ -150,7 +150,7 @@ create or replace package body ut_annotation_cache_manager as
procedure set_fully_refreshed(a_object_owner varchar2, a_object_type varchar2) is
pragma autonomous_transaction;
begin
update /*+ noparallel */ ut_annotation_cache_schema s
update /*+ no_parallel */ ut_annotation_cache_schema s
set s.full_refresh_time = s.max_parse_time
where s.object_owner = a_object_owner
and s.object_type = a_object_type;
Expand All @@ -161,9 +161,9 @@ create or replace package body ut_annotation_cache_manager as
pragma autonomous_transaction;
begin

delete /*+ noparallel */ from ut_annotation_cache_info i
delete /*+ no_parallel */ from ut_annotation_cache_info i
where exists (
select 1 from table (a_objects) o
select /*+ no_parallel */ 1 from table (a_objects) o
where o.object_name = i.object_name
and o.object_type = i.object_type
and o.object_owner = i.object_owner
Expand All @@ -176,7 +176,7 @@ create or replace package body ut_annotation_cache_manager as
l_results sys_refcursor;
begin
open l_results for
select ut_annotated_object(
select /*+ no_parallel */ ut_annotated_object(
i.object_owner, i.object_name, i.object_type, i.parse_time,
cast(
collect(
Expand Down Expand Up @@ -205,15 +205,15 @@ create or replace package body ut_annotation_cache_manager as
else
l_filter := case when a_object_owner is null then ':a_object_owner is null' else 'object_owner = :a_object_owner' end;
l_filter := l_filter || ' and ' || case when a_object_type is null then ':a_object_type is null' else 'object_type = :a_object_type' end;
l_cache_filter := ' c.cache_id in (select i.cache_id from ut_annotation_cache_info i where ' || l_filter || ' )';
l_cache_filter := ' c.cache_id in (select /*+ no_parallel */ i.cache_id from ut_annotation_cache_info i where ' || l_filter || ' )';
end if;
execute immediate 'delete /*+ noparallel */ from ut_annotation_cache c where ' || l_cache_filter
execute immediate 'delete /*+ no_parallel */ from ut_annotation_cache c where ' || l_cache_filter
using a_object_owner, a_object_type;

execute immediate ' delete /*+ noparallel */ from ut_annotation_cache_info i where ' || l_filter
execute immediate ' delete /*+ no_parallel */ from ut_annotation_cache_info i where ' || l_filter
using a_object_owner, a_object_type;

execute immediate ' delete /*+ noparallel */ from ut_annotation_cache_schema s where ' || l_filter
execute immediate ' delete /*+ no_parallel */ from ut_annotation_cache_schema s where ' || l_filter
using a_object_owner, a_object_type;

commit;
Expand Down
12 changes: 6 additions & 6 deletions source/core/annotations/ut_annotation_manager.pkb
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ create or replace package body ut_annotation_manager as
l_cached_objects := ut_annotation_cache_manager.get_cached_objects_list( a_object_owner, a_object_type );

if l_cached_objects is not empty then
execute immediate 'select /*+ cardinality(i '||ut_utils.scale_cardinality(cardinality(l_cached_objects))||') */
execute immediate 'select /*+ no_parallel cardinality(i '||ut_utils.scale_cardinality(cardinality(l_cached_objects))||') */
value(i)
from table( :l_data ) i
where
Expand Down Expand Up @@ -71,7 +71,7 @@ create or replace package body ut_annotation_manager as
--limit the list to objects that exist and are visible to the invoking user
--enrich the list by info about cache validity
execute immediate
'select /*+ cardinality(i '||ut_utils.scale_cardinality(cardinality(l_cached_objects))||') */
'select /*+ no_parallel cardinality(i '||ut_utils.scale_cardinality(cardinality(l_cached_objects))||') */
'||l_ut_owner||q'[.ut_annotation_obj_cache_info(
object_owner => o.owner,
object_name => o.object_name,
Expand Down Expand Up @@ -108,7 +108,7 @@ create or replace package body ut_annotation_manager as
begin
l_card := ut_utils.scale_cardinality(cardinality(a_objects_to_refresh));
open l_result for
q'[select x.name, x.text
q'[select /*+ no_parallel */ x.name, x.text
from (select /*+ cardinality( r ]'||l_card||q'[ )*/
s.name, s.text, s.line,
max(case when s.text like '%--%\%%' escape '\'
Expand Down Expand Up @@ -252,7 +252,7 @@ create or replace package body ut_annotation_manager as
l_sql_lines := ut_utils.convert_collection( ut_utils.clob_to_table(l_sql_clob) );
end if;
open l_result for
select a_object_name as name, column_value||chr(10) as text from table(l_sql_lines);
select /*+ no_parallel */ a_object_name as name, column_value||chr(10) as text from table(l_sql_lines);
return l_result;
end;

Expand All @@ -261,7 +261,7 @@ create or replace package body ut_annotation_manager as
l_sources_view varchar2(200) := ut_metadata.get_source_view_name();
begin
open l_result for
q'[select :a_object_name, s.text
q'[select /*+ no_parallel */ :a_object_name, s.text
from ]'||l_sources_view||q'[ s
where s.type = :a_object_type
and s.owner = :a_object_owner
Expand All @@ -279,7 +279,7 @@ create or replace package body ut_annotation_manager as
'GSMCATUSER','GSMUSER','ORACLE_OCM','OUTLN','REMOTE_SCHEDULER_AGENT','SYS','SYS$UMF',
'SYSBACKUP','SYSDG','SYSKM','SYSRAC','SYSTEM','WMSYS','XDB','XS$NULL');
$else
select username bulk collect into l_restricted_users
select /*+ no_parallel */ username bulk collect into l_restricted_users
from all_users where oracle_maintained = 'Y';
$end
if ora_dict_obj_owner member of l_restricted_users then
Expand Down
2 changes: 1 addition & 1 deletion source/core/annotations/ut_annotation_parser.pkb
Original file line number Diff line number Diff line change
Expand Up @@ -210,7 +210,7 @@ create or replace package body ut_annotation_parser as

dbms_lob.freetemporary(l_source);

select value(x) bulk collect into l_result from table(l_annotations) x order by x.position;
select /*+ no_parallel */ value(x) bulk collect into l_result from table(l_annotations) x order by x.position;

return l_result;
end parse_object_annotations;
Expand Down
2 changes: 1 addition & 1 deletion source/core/coverage/ut_coverage.pkb
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ create or replace package body ut_coverage is
end as to_be_skipped
from sources s
)
select full_name, owner, name, type, line, to_be_skipped, text
select /*+ no_parallel */ full_name, owner, name, type, line, to_be_skipped, text
from coverage_sources s
-- Exclude calls to utPLSQL framework, Unit Test packages and objects from a_exclude_list parameter of coverage reporter
where (s.owner, s.name) not in ( select /*+ cardinality(el {skipped_objects_cardinality})*/el.owner, el.name from table(:l_skipped_objects) el )
Expand Down
10 changes: 5 additions & 5 deletions source/core/coverage/ut_coverage_helper.pkb
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ create or replace package body ut_coverage_helper is
procedure insert_into_tmp_table(a_data t_coverage_sources_tmp_rows) is
begin
forall i in 1 .. a_data.count
insert into ut_coverage_sources_tmp
insert /*+ no_parallel */ into ut_coverage_sources_tmp
(full_name,owner,name,type,line,text,to_be_skipped)
values(a_data(i).full_name,a_data(i).owner,a_data(i).name,a_data(i).type,a_data(i).line,a_data(i).text,a_data(i).to_be_skipped);
end;
Expand All @@ -49,7 +49,7 @@ create or replace package body ut_coverage_helper is
function is_tmp_table_populated return boolean is
l_result integer;
begin
select 1 into l_result from ut_coverage_sources_tmp where rownum = 1;
select /*+ no_parallel */ 1 into l_result from ut_coverage_sources_tmp where rownum = 1;
return (l_result = 1);
exception
when no_data_found then
Expand All @@ -60,7 +60,7 @@ create or replace package body ut_coverage_helper is
l_result t_tmp_table_objects_crsr;
begin
open l_result for
select o.owner, o.name, o.type, o.full_name, max(o.line) as lines_count,
select /*+ no_parallel */ o.owner, o.name, o.type, o.full_name, max(o.line) as lines_count,
cast(
collect(decode(to_be_skipped, 'Y', to_char(line))) as ut_varchar2_list
) as to_be_skipped_list
Expand All @@ -73,7 +73,7 @@ create or replace package body ut_coverage_helper is
function get_tmp_table_object_lines(a_owner varchar2, a_object_name varchar2) return ut_varchar2_list is
l_result ut_varchar2_list;
begin
select rtrim(s.text,chr(10)) as text
select /*+ no_parallel */ rtrim(s.text,chr(10)) as text
bulk collect into l_result
from ut_coverage_sources_tmp s
where s.owner = a_owner
Expand All @@ -86,7 +86,7 @@ create or replace package body ut_coverage_helper is
procedure set_coverage_run_ids( a_coverage_run_id raw, a_line_coverage_id integer, a_block_coverage_id integer ) is
pragma autonomous_transaction;
begin
insert into ut_coverage_runs
insert /*+ no_parallel */ into ut_coverage_runs
( coverage_run_id, line_coverage_id, block_coverage_id )
values
( a_coverage_run_id, a_line_coverage_id, a_block_coverage_id );
Expand Down
3 changes: 2 additions & 1 deletion source/core/coverage/ut_coverage_helper_block.pkb
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,8 @@ create or replace package body ut_coverage_helper_block is
l_ut_owner varchar2(250) := ut_utils.ut_owner;
begin
execute immediate q'[
select line as line,
select /*+ no_parallel */
line as line,
count(block) as blocks,
sum(covered) as covered_blocks
from (select line,
Expand Down
2 changes: 1 addition & 1 deletion source/core/coverage/ut_coverage_helper_profiler.pkb
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ create or replace package body ut_coverage_helper_profiler is
function proftab_results(a_object ut_coverage_helper.t_tmp_table_object, a_coverage_run_id raw) return t_proftab_rows is
l_coverage_rows t_proftab_rows;
begin
select
select /*+ no_parallel */
d.line#,
case when sum(d.total_occur) = 0 and sum(d.total_time) > 0 then 1 else sum(d.total_occur) end total_occur
bulk collect into l_coverage_rows
Expand Down
4 changes: 2 additions & 2 deletions source/core/coverage/ut_coverage_reporter_base.tpb
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ create or replace type body ut_coverage_reporter_base is
(l_reporter as ut_output_reporter_base).before_calling_run(null);
l_reporter.after_calling_run( ut_run( a_coverage_options => a_coverage_options, a_client_character_set => a_client_character_set ) );
l_reporter.on_finalize(null);
for i in (select x.text from table(l_reporter.get_lines(1, 1)) x ) loop
for i in (select /*+ no_parallel */ x.text from table(l_reporter.get_lines(1, 1)) x ) loop
pipe row (i.text);
end loop;
return;
Expand All @@ -107,7 +107,7 @@ create or replace type body ut_coverage_reporter_base is
(l_reporter as ut_output_reporter_base).before_calling_run(null);
l_reporter.after_calling_run( ut_run( a_coverage_options => a_coverage_options, a_client_character_set => a_client_character_set ) );
l_reporter.on_finalize(null);
open l_result for select x.text from table(l_reporter.get_lines(1, 1)) x;
open l_result for select /*+ no_parallel */ x.text from table(l_reporter.get_lines(1, 1)) x;
return l_result;
end;

Expand Down
8 changes: 4 additions & 4 deletions source/core/output_buffers/ut_output_buffer_base.tpb
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,11 @@ create or replace type body ut_output_buffer_base is
self.output_id := coalesce(a_output_id, self.output_id, sys_guid());
self.start_date := coalesce(self.start_date, sysdate);
self.last_message_id := 0;
select count(*) into l_exists from ut_output_buffer_info_tmp where output_id = self.output_id;
select /*+ no_parallel */ count(*) into l_exists from ut_output_buffer_info_tmp where output_id = self.output_id;
if ( l_exists > 0 ) then
update ut_output_buffer_info_tmp set start_date = self.start_date where output_id = self.output_id;
update /*+ no_parallel */ ut_output_buffer_info_tmp set start_date = self.start_date where output_id = self.output_id;
else
insert into ut_output_buffer_info_tmp(output_id, start_date) values (self.output_id, self.start_date);
insert /*+ no_parallel */ into ut_output_buffer_info_tmp(output_id, start_date) values (self.output_id, self.start_date);
end if;
commit;
self.is_closed := 0;
Expand All @@ -39,7 +39,7 @@ create or replace type body ut_output_buffer_base is
l_lines sys_refcursor;
begin
open l_lines for
select text, item_type
select /*+ no_parallel */ text, item_type
from table(self.get_lines(a_initial_timeout, a_timeout_sec));
return l_lines;
end;
Expand Down
Loading