Skip to content

Commit cfcc7ba

Browse files
committed
Merge remote-tracking branch 'origin/develop' into bugfix/cursor_package_type_numbercol
# Conflicts: # test/core/expectations/compound_data/test_expectations_cursor.pkb # test/core/expectations/compound_data/test_expectations_cursor.pks
2 parents e528ebb + 8a7bf6f commit cfcc7ba

File tree

656 files changed

+24991
-14860
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

656 files changed

+24991
-14860
lines changed

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
---
2+
name: Bug report
3+
about: Create a report to help us improve
4+
title: ''
5+
labels: ''
6+
assignees: ''
7+
8+
---
9+
10+
**Describe the bug**
11+
A clear and concise description of what the bug is.
12+
13+
**Provide version info**
14+
Information about utPLSQL and Database version,
15+
```sql
16+
set serveroutput on
17+
declare
18+
l_version varchar2(255);
19+
l_compatibility varchar2(255);
20+
begin
21+
dbms_utility.db_version( l_version, l_compatibility );
22+
dbms_output.put_line( l_version );
23+
dbms_output.put_line( l_compatibility );
24+
end;
25+
/
26+
select substr(ut.version(),1,60) as ut_version from dual;
27+
select * from v$version;
28+
select * from nls_session_parameters;
29+
select substr(dbms_utility.port_string,1,60) as port_string from dual;
30+
```
31+
32+
**Information about client software**
33+
What client was used to run utPLSQL tests? Was it from TOAD, SQLDeveloper, SQLPlus, PLSQL Developer etc...
34+
35+
**To Reproduce**
36+
Steps to reproduce the behavior:
37+
1. Go to '...'
38+
2. Click on '....'
39+
3. Scroll down to '....'
40+
4. See error
41+
42+
**Expected behavior**
43+
A clear and concise description of what you expected to happen.
44+
45+
**Example code**
46+
If applicable, add sample code to help explain your problem.
47+
Please avoid putting your company private/protected code in an issue, as it might violate your company's privacy and security policies.
48+
49+
**Additional context**
50+
Add any other context about the problem here.
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea for this project
4+
title: ''
5+
labels: ''
6+
assignees: ''
7+
8+
---
9+
10+
**Is your feature request related to a problem? Please describe.**
11+
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12+
13+
**Describe the solution you'd like**
14+
A clear and concise description of what you want to happen.
15+
16+
**Describe alternatives you've considered**
17+
A clear and concise description of any alternative solutions or features you've considered.
18+
19+
**Additional context**
20+
Add any other context or screenshots about the feature request here.
21+
22+
**Note**
23+
> Please do not create issues for generic SQL or PL/SQL questions. There are other forums and communities to help you with those. See [ASKTom](https://asktom.oracle.com) for example.
24+
25+
**Want to discuss**
26+
If you want to discuss your issue, join [our SLACK chat](http://utplsql-slack-invite.herokuapp.com/).

.gitignore

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,16 @@ node_modules/
1515
utPLSQL_latest_release/
1616
utPLSQL-cli/
1717
development/env.sh
18+
development/*.jar
1819
*.log
20+
21+
# exclusions based on artifacts created via actions documented in CONTRIBUTING.md
22+
test/dummy.sql
23+
coverage.html_assets/
24+
coverage.html
25+
coverage.json
26+
coverage.xml
27+
tfs_test_results.xml
28+
junit_test_results.xml
29+
test_results.xml
30+
*debug*.xml

.travis.yml

Lines changed: 56 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,13 @@ addons:
55
apt:
66
packages:
77
- unzip
8-
# Java8 Required for Sonar and SQLCL
9-
- oracle-java8-installer
10-
- oracle-java8-set-default
8+
# Java9 Required for Sonar and SQLCL
9+
- oracle-java9-installer
10+
- oracle-java9-set-default
1111
sonarcloud:
1212
organization: utplsql
1313
token:
1414
secure: ${SONAR_TOKEN}
15-
branches:
16-
- develop
17-
- master
1815

1916
services:
2017
- docker
@@ -28,6 +25,8 @@ env:
2825
- UT3_USER_PASSWORD=ut3
2926
- UT3_TESTER=ut3_tester
3027
- UT3_TESTER_PASSWORD=ut3
28+
- UT3_TESTER_HELPER=ut3_tester_helper
29+
- UT3_TESTER_HELPER_PASSWORD=ut3
3130
- UT3_TABLESPACE=users
3231
# Environment for building a release
3332
- CURRENT_BRANCH=${TRAVIS_BRANCH}
@@ -41,35 +40,40 @@ env:
4140
- CACHE_DIR=$HOME/.cache
4241
# Database Env
4342
- SQLCLI="$HOME/sqlcl/bin/sql"
43+
- OJDBC_HOME="$HOME/sqlcl/lib"
4444
- ORACLE_PWD="oracle"
4545
- UT3_DOCKER_REPO="utplsqlv3/oracledb"
4646
- DOCKHER_HUB_REPO="${DOCKER_BASE_TAG:-$UT3_DOCKER_REPO}"
4747
#utPLSQL released version directory
4848
- UTPLSQL_DIR="utPLSQL_latest_release"
49-
- SELFTESTING_BRANCH="develop"
50-
- UTPLSQL_CLI_VERSION="3.1.0"
49+
- SELFTESTING_BRANCH=${TRAVIS_BRANCH}
50+
- UTPLSQL_CLI_VERSION="3.1.6"
5151
# Maven
5252
- MAVEN_HOME=/usr/local/maven
5353
- MAVEN_CFG=$HOME/.m2
5454
matrix:
55-
- ORACLE_VERSION="${DOCKER_TAG_11G:-11g-r2-xe}" CONNECTION_STR='127.0.0.1:1521/XE' DOCKER_OPTIONS='--shm-size=1g'
56-
- ORACLE_VERSION="${DOCKER_TAG_12C:-12c-r1-se2}" CONNECTION_STR='127.0.0.1:1521/ORCLPDB1' DOCKER_OPTIONS="-v /dev/pdbs:/opt/oracle/oradata/pdbs"
57-
- ORACLE_VERSION="${DOCKER_TAG_12C2:-12c-r2-se2}" CONNECTION_STR='127.0.0.1:1521/ORCLPDB1' DOCKER_OPTIONS="-v /dev/pdbs:/opt/oracle/oradata/pdbs"
55+
- ORACLE_VERSION="${DOCKER_TAG_11G:-11g-r2-xe}" CONNECTION_STR='127.0.0.1:1521/XE' DOCKER_OPTIONS='--shm-size=1g'
56+
- ORACLE_VERSION="${DOCKER_TAG_12C:-12c-r1-se2-small}" CONNECTION_STR='127.0.0.1:1521/ORCLCDB' DOCKER_OPTIONS="-v /dev/pdbs:/opt/oracle/oradata/pdbs"
57+
- ORACLE_VERSION="${DOCKER_TAG_12C2:-12c-r2-se2-small}" CONNECTION_STR='127.0.0.1:1521/ORCLCDB' DOCKER_OPTIONS="-v /dev/pdbs:/opt/oracle/oradata/pdbs"
58+
- ORACLE_VERSION="${DOCKER_TAG_18:-18c-se2-small}" CONNECTION_STR='127.0.0.1:1521/ORCLCDB' DOCKER_OPTIONS="-v /dev/pdbs:/opt/oracle/oradata/pdbs"
59+
- ORACLE_VERSION="${DOCKER_TAG_19:-19c-se2-small}" CONNECTION_STR='127.0.0.1:1521/ORCLCDB' DOCKER_OPTIONS="-v /dev/pdbs:/opt/oracle/oradata/pdbs"
5860

5961
cache:
6062
pip: true
6163
directories:
6264
- $CACHE_DIR
65+
- /home/travis/.sonar/cache
6366
- node_modules
6467
- $MAVEN_CFG
6568

6669
before_install:
67-
#The update_project_version is done before deployment to validate that the change of project files does not break installation
70+
#cache to be used between stages. Based on https://github.com/travis-ci/docs-travis-ci-com/issues/1329
71+
#delete all files in cache that are older than 5 days
72+
- mkdir -p $CACHE_DIR/stages_cache; find $CACHE_DIR/stages_cache/ -mtime +5 -exec rm {} \;
73+
#The update_project_version.sh is done before deployment to validate that the change of project files does not break installation
6874
- bash .travis/update_project_version.sh
69-
- git config --global user.email "builds@travis-ci.com"
70-
- git config --global user.name "${UTPLSQL_BUILD_USER_NAME}"
71-
- git remote rm origin
72-
- git remote add origin https://${github_api_token}@github.com/${UTPLSQL_REPO}
75+
#Allow for sonar to blame issues
76+
- git fetch --unshallow
7377
# download latest utPLSQL release
7478
#- curl -LOk $(curl --silent https://api.github.com/repos/utPLSQL/utPLSQL/releases/latest | awk '/browser_download_url/ { print $2 }' | grep ".zip" | sed 's/"//g')
7579
- git clone --depth=1 --branch=${SELFTESTING_BRANCH:-master} https://github.com/utPLSQL/utPLSQL.git $UTPLSQL_DIR
@@ -81,49 +85,59 @@ install:
8185
- unzip utPLSQL-cli.zip && chmod -R u+x utPLSQL-cli
8286
# Get ojdbc via maven
8387
- bash .travis/maven_cfg.sh
84-
- pip install mkdocs
8588
- bash .travis/install_sqlcl.sh
8689
- sudo mkdir -p /dev/pdbs
8790
- sudo chmod -R 777 /dev/pdbs
8891
- if [[ ! $TRAVIS_TAG ]]; then bash .travis/start_db.sh; fi
89-
- df -h
9092

9193
before_script:
9294
- if [[ ! $TRAVIS_TAG ]]; then bash .travis/install.sh; fi
9395
- if [[ ! $TRAVIS_TAG ]]; then bash .travis/install_utplsql_release.sh; fi
94-
- if [[ ! $TRAVIS_TAG ]]; then bash .travis/create_additional_grants_for_old_tests.sh; fi
9596
- if [[ ! $TRAVIS_TAG ]]; then bash .travis/run_examples.sh; fi
96-
- if [[ ! $TRAVIS_TAG ]]; then bash .travis/run_old_tests.sh; fi
9797

9898
script:
9999
- if [[ ! $TRAVIS_TAG ]]; then bash test/install_and_run_tests.sh; fi
100-
- if [[ ! $TRAVIS_TAG ]] && [ "${TRAVIS_REPO_SLUG}" = "${UTPLSQL_REPO}" ] && [ "$TRAVIS_PULL_REQUEST" == "false" ]; then sonar-scanner; fi
100+
- if [[ ! $TRAVIS_TAG ]]; then bash .travis/validate_report_files.sh; fi
101+
- if [[ ! $TRAVIS_TAG ]] && [[ ("${TRAVIS_REPO_SLUG}" = "${UTPLSQL_REPO}" && "${TRAVIS_PULL_REQUEST}" == false) || ("${TRAVIS_PULL_REQUEST_SLUG}" = "${UTPLSQL_REPO}") ]]; then bash .travis/run_sonar_scanner.sh; fi
101102
- if [[ ! $TRAVIS_TAG ]]; then bash .travis/coveralls_uploader.sh; fi
102-
- bash .travis/build_docs.sh
103-
- if [[ ! $TRAVIS_TAG ]]; then bash .travis/push_release_version.sh; fi
104-
- bash .travis/push_docs_to_gh_pages.sh
105-
106-
before_deploy:
107-
- bash .travis/build_release_archive.sh
108-
109-
deploy:
110-
provider: releases
111-
api_key: $github_api_token
112-
file:
113-
- utPLSQL.zip
114-
- utPLSQL.tar.gz
115-
- utPLSQL.zip.md5
116-
- utPLSQL.tar.gz.md5
117-
skip_cleanup: true
118-
on:
119-
repo: ${UTPLSQL_REPO}
120-
tags: true
121-
# when building from a release tag, use only first job "#xxx.1" to publish artifacts
122-
condition: "${TRAVIS_JOB_NUMBER} =~ \\.1$"
123103

124104
notifications:
125105
slack:
126106
rooms:
127107
- secure: "nemt9n2y5sVCAKqa/s7JDQ8AcM59Xu/XbH/RkMOXvPgc+KtR8lBtVD1LkvJ5BaQhqgjuDT7DNt/uisQJ7k6a2OsrVFbnkypZ1hCvntOBpJyoSpD/YL1X8a9GbGojuJcph0BX76KN21LaOVdyOfY0TSlw53XiYWS8iL5HtjpWCbIwHL1SJ8JT8mhdT4hDoUWZjcZ4s4bLH6BQm4un/bMQOmB4sDoCeg4CllJwxgkswVF7OHpOFjgPetvUp7ps8b/Rj8en6zCj9drb0SVbXFgumo2Wd1bC3HHZB8MAZU0kuEV5VgUdum6EelUL5yfB72hssNQA0+CaT3HjBFkTlqWYJmjC4/xyGN3sseiW82T9FDY0g0GAGayNRW+QSiTQ1hbJEcAnNe0GrBUdRsgXdI6COd76YP5VxzRSF6H7niLfgCZdKbIivKUd1o+wBhuyJmqCFIkRWmT38tMGJqJAzbY1jq5gQXbb6E7gt+KdTjlSjcnJYf7XI7zqm+BRr+fbA0ixfXHvfqOBgZN6g08y9nPlDnIjtSF2NSdrj2zqYQAtKuWSOD1bnTyfDJyrtK7OLffZcMYD5Bcss4c8op8tP7MGTjt1S046SJocboh6H4c/nTokpoMRsWs6MKRdebl8C2RObGf5FebSOJg+oh2ZYS5Z/G9GshiY2BD/81+Hc4Miacc="
128108
on_success: change
129109
on_failure: always
110+
111+
jobs:
112+
include:
113+
- stage: deploy
114+
env: ORACLE_VERSION="none"
115+
before_install: skip
116+
install:
117+
- pip install mkdocs
118+
before_script: skip
119+
script:
120+
- if [[ ($TRAVIS_BRANCH == develop) && ($TRAVIS_PULL_REQUEST == false) ]]; then bash .travis/trigger_travis.sh $TRAVIS_ACCESS_TOKEN; fi
121+
- #The update_project_version.sh needs to be done before pushing changes to develop branch
122+
- bash .travis/update_project_version.sh
123+
- git config --global user.email "builds@travis-ci.com"
124+
- git config --global user.name "${UTPLSQL_BUILD_USER_NAME}"
125+
- git remote rm origin
126+
- git remote add origin https://${github_api_token}@github.com/${UTPLSQL_REPO}
127+
- if [[ ! $TRAVIS_TAG ]]; then bash .travis/push_release_version.sh; fi
128+
- bash .travis/build_docs.sh
129+
- bash .travis/push_docs_to_gh_pages.sh
130+
before_deploy:
131+
- bash .travis/build_release_archive.sh
132+
deploy:
133+
provider: releases
134+
api_key: $github_api_token
135+
file:
136+
- utPLSQL.zip
137+
- utPLSQL.tar.gz
138+
- utPLSQL.zip.md5
139+
- utPLSQL.tar.gz.md5
140+
skip_cleanup: true
141+
on:
142+
repo: ${UTPLSQL_REPO}
143+
tags: true

.travis/build_docs.sh

100644100755
File mode changed.

.travis/build_release_archive.sh

100644100755
File mode changed.

.travis/coveralls_uploader.sh

100644100755
File mode changed.

.travis/create_additional_grants_for_old_tests.sh

Lines changed: 0 additions & 23 deletions
This file was deleted.

.travis/download.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ var paramUsername = casper.cli.get(0);
1717
var paramPassword = casper.cli.get(1);
1818
var agreementUrl = casper.cli.get(2);
1919
var downloadUrl = casper.cli.get(3);
20+
var downloaded = false;
2021

2122
casper.start();
2223
// TODO: Error handling.
@@ -41,10 +42,11 @@ casper.thenOpen(downloadUrl).waitForUrl(/signon\.jsp$/, function (re) {
4142
});
4243

4344
casper.on("resource.received", function (resource) {
44-
if (resource.url.indexOf("AuthParam") !== -1) {
45+
if (resource.url.indexOf("AuthParam") !== -1 && !downloaded) {
4546
// this.echo("DownloadUrl:");
4647
// Print the download url.
4748
this.echo(resource.url);
49+
downloaded = true;
4850
// TODO: Try to download file from here. this.download is not working because of cross site request.
4951
}
5052
});

.travis/download.sh

100644100755
Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,9 @@ PRODUCT=""
1212
# Then download the file using curl.
1313
downloadFile() {
1414
downloadUrl=$(exec casperjs download.js $ORACLE_OTN_USER $ORACLE_OTN_PASSWORD $1 $2)
15+
downloadUrl=${downloadUrl%$'\r'}
1516
echo "DownloadURL: $downloadUrl"
16-
curl $downloadUrl -o $3
17+
curl -o $3 -L "$downloadUrl"
1718
}
1819

1920
#############################
@@ -60,8 +61,8 @@ fi
6061

6162
if [ "$PRODUCT" == "sqlcl" ]; then
6263
agreementUrl="http://www.oracle.com/technetwork/developer-tools/sqlcl/downloads/index.html"
63-
downloadUrl="http://download.oracle.com/otn/java/sqldeveloper/sqlcl-4.2.0.17.073.1038-no-jre.zip"
64-
outputFile=sqlcl-4.2.0.17.073.1038-no-jre.zip
64+
downloadUrl="https://download.oracle.com/otn/java/sqldeveloper/sqlcl-18.3.0.259.2029.zip"
65+
outputFile=sqlcl-18.3.0.259.2029.zip
6566
downloadFile $agreementUrl $downloadUrl $outputFile
6667
exit 0
6768
fi

0 commit comments

Comments
 (0)