Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 95bc7d2

Browse files
authored
Merge pull request #743 from utPLSQL/feature/build_performance
Feature/build performance
2 parents 37d27b9 + 591c14b commit 95bc7d2

6 files changed

Lines changed: 51 additions & 61 deletions

File tree

.travis.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,9 +80,7 @@ install:
8080
- bash .travis/install_sqlcl.sh
8181
- sudo mkdir -p /dev/pdbs
8282
- sudo chmod -R 777 /dev/pdbs
83-
- df -h
8483
- if [[ ! $TRAVIS_TAG ]]; then bash .travis/start_db.sh; fi
85-
- df -h
8684

8785
before_script:
8886
- if [[ ! $TRAVIS_TAG ]]; then bash .travis/install.sh; fi

.travis/install.sh

Lines changed: 42 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -2,60 +2,66 @@
22

33
cd source
44
set -ev
5+
56
#install core of utplsql
6-
"$SQLCLI" sys/$ORACLE_PWD@//$CONNECTION_STR AS SYSDBA <<-SQL
7+
time "$SQLCLI" sys/$ORACLE_PWD@//$CONNECTION_STR AS SYSDBA <<-SQL
78
set feedback off
89
set verify off
910
1011
alter session set plsql_warnings = 'ENABLE:ALL', 'DISABLE:(5004,5018,6000,6001,6003,6009,6010,7206)';
12+
alter session set plsql_optimize_level=0;
1113
@install_headless.sql $UT3_OWNER $UT3_OWNER_PASSWORD
1214
SQL
1315

14-
#uninstall core of utplsql
15-
"$SQLCLI" sys/$ORACLE_PWD@//$CONNECTION_STR AS SYSDBA <<-SQL
16-
set feedback off
17-
set verify off
18-
19-
@uninstall_all.sql $UT3_OWNER
20-
declare
21-
v_leftover_objects_count integer;
22-
begin
23-
select sum(cnt)
24-
into v_leftover_objects_count
25-
from (select count(1) cnt from dba_objects where owner = '$UT3_OWNER'
26-
union all
27-
select count(1) cnt from dba_synonyms where table_owner = '$UT3_OWNER'
28-
);
29-
if v_leftover_objects_count > 0 then
30-
raise_application_error(-20000, 'Not all objects were successfully uninstalled - leftover objects count='||v_leftover_objects_count);
31-
end if;
32-
end;
33-
/
16+
#Run this step only on first job slave (11.2 - at it's fastest)
17+
if [[ "${TRAVIS_JOB_NUMBER}" =~ \.1$ ]]; then
18+
19+
#check code-style for errors
20+
time "$SQLCLI" $UT3_OWNER/$UT3_OWNER_PASSWORD@//$CONNECTION_STR @../development/utplsql_style_check.sql
21+
22+
#test install/uninstall process
23+
time "$SQLCLI" sys/$ORACLE_PWD@//$CONNECTION_STR AS SYSDBA <<-SQL
24+
set feedback off
25+
set verify off
26+
27+
@uninstall_all.sql $UT3_OWNER
28+
declare
29+
v_leftover_objects_count integer;
30+
begin
31+
select sum(cnt)
32+
into v_leftover_objects_count
33+
from (select count(1) cnt from dba_objects where owner = '$UT3_OWNER'
34+
union all
35+
select count(1) cnt from dba_synonyms where table_owner = '$UT3_OWNER'
36+
);
37+
if v_leftover_objects_count > 0 then
38+
raise_application_error(-20000, 'Not all objects were successfully uninstalled - leftover objects count='||v_leftover_objects_count);
39+
end if;
40+
end;
41+
/
3442
SQL
3543

36-
#reinstall core of utplsql
37-
"$SQLCLI" sys/$ORACLE_PWD@//$CONNECTION_STR AS SYSDBA <<-SQL
38-
set feedback off
39-
set verify off
44+
time "$SQLCLI" sys/$ORACLE_PWD@//$CONNECTION_STR AS SYSDBA <<-SQL
45+
set feedback off
46+
set verify off
4047
41-
alter session set plsql_warnings = 'ENABLE:ALL', 'DISABLE:(5004,5018,6000,6001,6003,6009,6010,7206)';
42-
@install.sql $UT3_OWNER
48+
alter session set plsql_optimize_level=0;
49+
@install.sql $UT3_OWNER
4350
SQL
4451

52+
fi
53+
4554
#additional privileges to run scripted tests
46-
"$SQLCLI" sys/$ORACLE_PWD@//$CONNECTION_STR AS SYSDBA <<-SQL
55+
time "$SQLCLI" sys/$ORACLE_PWD@//$CONNECTION_STR AS SYSDBA <<-SQL
4756
set feedback on
4857
--needed for Mystats script to work
4958
grant select any dictionary to $UT3_OWNER;
5059
--Needed for testing a coverage outside ut3_owner.
5160
grant create any procedure, drop any procedure, execute any procedure to $UT3_OWNER;
52-
53-
conn $UT3_OWNER/$UT3_OWNER_PASSWORD@//$CONNECTION_STR
54-
@../development/utplsql_style_check.sql
5561
SQL
5662

57-
#Create additional users
58-
"$SQLCLI" sys/$ORACLE_PWD@//$CONNECTION_STR AS SYSDBA <<-SQL
63+
#Create user that will own the tests
64+
time "$SQLCLI" sys/$ORACLE_PWD@//$CONNECTION_STR AS SYSDBA <<-SQL
5965
set feedback off
6066
@create_utplsql_owner.sql $UT3_TESTER $UT3_TESTER_PASSWORD $UT3_TABLESPACE
6167
@@ -70,29 +76,11 @@ grant create job to $UT3_TESTER;
7076
exit
7177
SQL
7278

73-
#additional privileges to run tests
74-
"$SQLCLI" sys/$ORACLE_PWD@//$CONNECTION_STR AS SYSDBA <<-SQL
75-
set feedback on
76-
--needed for Mystats script to work
77-
grant select any dictionary to $UT3_OWNER;
78-
--Needed for testing a coverage outside ut3_owner.
79-
grant create any procedure, drop any procedure, execute any procedure to $UT3_OWNER;
80-
81-
exit
82-
SQL
83-
84-
#Create additional users
85-
"$SQLCLI" sys/$ORACLE_PWD@//$CONNECTION_STR AS SYSDBA <<-SQL
79+
#Create additional UT3$USER# to test for special characters
80+
time "$SQLCLI" sys/$ORACLE_PWD@//$CONNECTION_STR AS SYSDBA <<-SQL
8681
set feedback off
8782
@create_utplsql_owner.sql $UT3_USER $UT3_USER_PASSWORD $UT3_TABLESPACE
88-
89-
exit
90-
SQL
91-
92-
#Grant UT3 framework to UT3$USER#
93-
"$SQLCLI" sys/$ORACLE_PWD@//$CONNECTION_STR AS SYSDBA <<-SQL
94-
set feedback off
83+
--Grant UT3 framework to UT3$USER#
9584
@create_user_grants.sql $UT3_OWNER $UT3_USER
96-
9785
exit
9886
SQL

.travis/install_utplsql_release.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ end;
3737
SQL
3838

3939
"$SQLCLI" sys/$ORACLE_PWD@//$CONNECTION_STR AS SYSDBA <<SQL
40-
alter session set plsql_warnings = 'ENABLE:ALL', 'DISABLE:(5004,5018,6000,6001,6003,6009,6010,7206)';
40+
alter session set plsql_optimize_level=0;
4141
@install_headless.sql ${UT3_RELEASE_VERSION_SCHEMA}
4242
exit
4343
SQL

.travis/start_db.sh

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ else
1010
mkdir -p $HOME/.docker && cp $CACHE_DIR/.docker/config.json $HOME/.docker/
1111
fi
1212

13-
docker pull $DOCKHER_HUB_REPO:$ORACLE_VERSION
13+
df -h
14+
time docker pull $DOCKHER_HUB_REPO:$ORACLE_VERSION
15+
df -h
1416
docker run -d --name $ORACLE_VERSION $DOCKER_OPTIONS -p 1521:1521 $DOCKHER_HUB_REPO:$ORACLE_VERSION
15-
docker logs -f $ORACLE_VERSION | grep -m 1 "DATABASE IS READY TO USE!" --line-buffered
17+
time docker logs -f $ORACLE_VERSION | grep -m 1 "DATABASE IS READY TO USE!" --line-buffered
18+
df -h

test/install_and_run_tests.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@ git rev-parse && cd "$(git rev-parse --show-cdup)"
88

99
cd test
1010

11-
"$SQLCLI" ${UT3_TESTER}/${UT3_TESTER_PASSWORD}@//${CONNECTION_STR} @install_tests.sql
11+
time "$SQLCLI" ${UT3_TESTER}/${UT3_TESTER_PASSWORD}@//${CONNECTION_STR} @install_tests.sql
1212

1313
cd ..
1414

15-
utPLSQL-cli/bin/utplsql run ${UT3_TESTER}/${UT3_TESTER_PASSWORD}@${CONNECTION_STR} \
15+
time utPLSQL-cli/bin/utplsql run ${UT3_TESTER}/${UT3_TESTER_PASSWORD}@${CONNECTION_STR} \
1616
-source_path=source -owner=ut3 \
1717
-test_path=test -c \
1818
-f=ut_documentation_reporter -o=test_results.log -s \

test/install_tests.sql

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ set define off
22
whenever sqlerror exit failure rollback
33
whenever oserror exit failure rollback
44

5+
alter session set plsql_optimize_level=0;
56
--Install helpers
67
@@helpers/ut_test_table.sql
78
@@helpers/ut_example_tests.pks

0 commit comments

Comments
 (0)