-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #2 from exasol/refactoring/1_migrate_oracle
#1: Migrate Oracle virtual schema to its own repository
- Loading branch information
Showing
40 changed files
with
4,466 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
name: Dependencies Check | ||
|
||
on: | ||
schedule: | ||
- cron: "0 2 * * *" | ||
|
||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- uses: actions/checkout@v2 | ||
- name: Set up JDK 11 | ||
uses: actions/setup-java@v1 | ||
with: | ||
java-version: 11 | ||
- name: Cache local Maven repository | ||
uses: actions/cache@v2 | ||
with: | ||
path: ~/.m2/repository | ||
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} | ||
restore-keys: | | ||
${{ runner.os }}-maven- | ||
- name: Checking dependencies for vulnerabilities | ||
run: mvn org.sonatype.ossindex.maven:ossindex-maven-plugin:audit -f pom.xml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
name: GitHub Release | ||
|
||
on: | ||
workflow_dispatch: | ||
inputs: | ||
upload_url: | ||
description: 'Upload URL' | ||
required: true | ||
asset_name: | ||
description: 'Asset file name' | ||
required: true | ||
asset_path: | ||
description: 'Asset file path' | ||
required: true | ||
|
||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- name: Set up JDK 11 | ||
uses: actions/setup-java@v1 | ||
with: | ||
java-version: 11 | ||
- name: Build with Maven | ||
run: mvn -B clean package --file pom.xml | ||
|
||
- name: Upload Release Asset | ||
uses: actions/upload-release-asset@v1 | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
with: | ||
upload_url: ${{ github.event.inputs.upload_url }} | ||
asset_path: ${{ github.event.inputs.asset_path }} | ||
asset_name: ${{ github.event.inputs.asset_name }} | ||
asset_content_type: application/java-archive |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
/target/ | ||
|
||
# Eclipse and Maven | ||
.classpath | ||
.project | ||
# .settings : we need Eclipse settings for code formatter and clean-up rules | ||
target | ||
.cache | ||
dependency-reduced-pom.xml | ||
|
||
# Intellij | ||
.idea | ||
# Intellij recommends to share iml files, however, better don't share files which might be outdated | ||
*.iml | ||
|
||
# Integration tests | ||
src/test/resources/integration/driver/oracle/*.jar | ||
src/test/resources/integration/driver/oracle/*.zip | ||
|
||
# Others | ||
.DS_Store | ||
*.swp | ||
local | ||
Scripts | ||
.dbeaver* | ||
**/*.log |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
eclipse.preferences.version=1 | ||
encoding//src/main/java=UTF-8 | ||
encoding//src/main/resources=UTF-8 | ||
encoding//src/test/java=UTF-8 | ||
encoding//src/test/resources=UTF-8 | ||
encoding/<project>=UTF-8 |
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,127 @@ | ||
cleanup.add_default_serial_version_id=true | ||
cleanup.add_generated_serial_version_id=false | ||
cleanup.add_missing_annotations=true | ||
cleanup.add_missing_deprecated_annotations=true | ||
cleanup.add_missing_methods=false | ||
cleanup.add_missing_nls_tags=false | ||
cleanup.add_missing_override_annotations=true | ||
cleanup.add_missing_override_annotations_interface_methods=true | ||
cleanup.add_serial_version_id=false | ||
cleanup.always_use_blocks=true | ||
cleanup.always_use_parentheses_in_expressions=false | ||
cleanup.always_use_this_for_non_static_field_access=true | ||
cleanup.always_use_this_for_non_static_method_access=false | ||
cleanup.convert_functional_interfaces=true | ||
cleanup.convert_to_enhanced_for_loop=true | ||
cleanup.correct_indentation=true | ||
cleanup.format_source_code=true | ||
cleanup.format_source_code_changes_only=false | ||
cleanup.insert_inferred_type_arguments=false | ||
cleanup.make_local_variable_final=true | ||
cleanup.make_parameters_final=true | ||
cleanup.make_private_fields_final=true | ||
cleanup.make_type_abstract_if_missing_method=false | ||
cleanup.make_variable_declarations_final=true | ||
cleanup.never_use_blocks=false | ||
cleanup.never_use_parentheses_in_expressions=true | ||
cleanup.organize_imports=false | ||
cleanup.qualify_static_field_accesses_with_declaring_class=false | ||
cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true | ||
cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true | ||
cleanup.qualify_static_member_accesses_with_declaring_class=true | ||
cleanup.qualify_static_method_accesses_with_declaring_class=false | ||
cleanup.remove_private_constructors=true | ||
cleanup.remove_redundant_modifiers=false | ||
cleanup.remove_redundant_semicolons=true | ||
cleanup.remove_redundant_type_arguments=true | ||
cleanup.remove_trailing_whitespaces=true | ||
cleanup.remove_trailing_whitespaces_all=true | ||
cleanup.remove_trailing_whitespaces_ignore_empty=false | ||
cleanup.remove_unnecessary_casts=true | ||
cleanup.remove_unnecessary_nls_tags=true | ||
cleanup.remove_unused_imports=true | ||
cleanup.remove_unused_local_variables=false | ||
cleanup.remove_unused_private_fields=true | ||
cleanup.remove_unused_private_members=true | ||
cleanup.remove_unused_private_methods=true | ||
cleanup.remove_unused_private_types=true | ||
cleanup.sort_members=false | ||
cleanup.sort_members_all=false | ||
cleanup.use_anonymous_class_creation=false | ||
cleanup.use_blocks=true | ||
cleanup.use_blocks_only_for_return_and_throw=false | ||
cleanup.use_lambda=true | ||
cleanup.use_parentheses_in_expressions=true | ||
cleanup.use_this_for_non_static_field_access=true | ||
cleanup.use_this_for_non_static_field_access_only_if_necessary=false | ||
cleanup.use_this_for_non_static_method_access=false | ||
cleanup.use_this_for_non_static_method_access_only_if_necessary=true | ||
cleanup_profile=_Exasol | ||
cleanup_settings_version=2 | ||
eclipse.preferences.version=1 | ||
editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true | ||
formatter_profile=_Exasol | ||
formatter_settings_version=16 | ||
org.eclipse.jdt.ui.ignorelowercasenames=true | ||
org.eclipse.jdt.ui.importorder=java;javax;org;com; | ||
org.eclipse.jdt.ui.ondemandthreshold=3 | ||
org.eclipse.jdt.ui.staticondemandthreshold=3 | ||
sp_cleanup.add_default_serial_version_id=true | ||
sp_cleanup.add_generated_serial_version_id=false | ||
sp_cleanup.add_missing_annotations=true | ||
sp_cleanup.add_missing_deprecated_annotations=true | ||
sp_cleanup.add_missing_methods=false | ||
sp_cleanup.add_missing_nls_tags=false | ||
sp_cleanup.add_missing_override_annotations=true | ||
sp_cleanup.add_missing_override_annotations_interface_methods=true | ||
sp_cleanup.add_serial_version_id=false | ||
sp_cleanup.always_use_blocks=true | ||
sp_cleanup.always_use_parentheses_in_expressions=true | ||
sp_cleanup.always_use_this_for_non_static_field_access=true | ||
sp_cleanup.always_use_this_for_non_static_method_access=false | ||
sp_cleanup.convert_functional_interfaces=true | ||
sp_cleanup.convert_to_enhanced_for_loop=true | ||
sp_cleanup.correct_indentation=true | ||
sp_cleanup.format_source_code=true | ||
sp_cleanup.format_source_code_changes_only=false | ||
sp_cleanup.insert_inferred_type_arguments=false | ||
sp_cleanup.make_local_variable_final=true | ||
sp_cleanup.make_parameters_final=true | ||
sp_cleanup.make_private_fields_final=true | ||
sp_cleanup.make_type_abstract_if_missing_method=false | ||
sp_cleanup.make_variable_declarations_final=true | ||
sp_cleanup.never_use_blocks=false | ||
sp_cleanup.never_use_parentheses_in_expressions=false | ||
sp_cleanup.on_save_use_additional_actions=true | ||
sp_cleanup.organize_imports=true | ||
sp_cleanup.qualify_static_field_accesses_with_declaring_class=false | ||
sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true | ||
sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true | ||
sp_cleanup.qualify_static_member_accesses_with_declaring_class=true | ||
sp_cleanup.qualify_static_method_accesses_with_declaring_class=false | ||
sp_cleanup.remove_private_constructors=true | ||
sp_cleanup.remove_redundant_modifiers=false | ||
sp_cleanup.remove_redundant_semicolons=true | ||
sp_cleanup.remove_redundant_type_arguments=true | ||
sp_cleanup.remove_trailing_whitespaces=true | ||
sp_cleanup.remove_trailing_whitespaces_all=true | ||
sp_cleanup.remove_trailing_whitespaces_ignore_empty=false | ||
sp_cleanup.remove_unnecessary_casts=true | ||
sp_cleanup.remove_unnecessary_nls_tags=true | ||
sp_cleanup.remove_unused_imports=true | ||
sp_cleanup.remove_unused_local_variables=false | ||
sp_cleanup.remove_unused_private_fields=true | ||
sp_cleanup.remove_unused_private_members=false | ||
sp_cleanup.remove_unused_private_methods=true | ||
sp_cleanup.remove_unused_private_types=true | ||
sp_cleanup.sort_members=false | ||
sp_cleanup.sort_members_all=false | ||
sp_cleanup.use_anonymous_class_creation=false | ||
sp_cleanup.use_blocks=true | ||
sp_cleanup.use_blocks_only_for_return_and_throw=false | ||
sp_cleanup.use_lambda=true | ||
sp_cleanup.use_parentheses_in_expressions=true | ||
sp_cleanup.use_this_for_non_static_field_access=true | ||
sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=false | ||
sp_cleanup.use_this_for_non_static_method_access=false | ||
sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
activeProfiles= | ||
eclipse.preferences.version=1 | ||
resolveWorkspaceProjects=true | ||
version=1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
language: java | ||
|
||
# Setting sudo to false will cause Travis to use Containers. | ||
# To use Docker's privileged mode, we need to enable sudo. | ||
sudo: required | ||
|
||
matrix: | ||
include: | ||
- jdk: openjdk11 | ||
|
||
addons: | ||
sonarcloud: | ||
organization: exasol | ||
|
||
install: | ||
- travis_retry mvn dependency:resolve | ||
|
||
script: | ||
- mvn clean org.jacoco:jacoco-maven-plugin:prepare-agent org.jacoco:jacoco-maven-plugin:prepare-agent-integration verify sonar:sonar -Dsonar.login=${SONAR_TOKEN} | ||
|
||
cache: | ||
directories: | ||
- "$HOME/.m2" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,109 @@ | ||
# Oracle Virtual Schema | ||
|
||
[![Build Status](https://api.travis-ci.com/exasol/oracle-virtual-schema.svg?branch=main)](https://travis-ci.com/exasol/oracle-virtual-schema) | ||
|
||
SonarCloud results: | ||
|
||
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=com.exasol%3Aoracle-virtual-schema&metric=alert_status)](https://sonarcloud.io/dashboard?id=com.exasol%3Aoracle-virtual-schema) | ||
|
||
[![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=com.exasol%3Aoracle-virtual-schema&metric=security_rating)](https://sonarcloud.io/dashboard?id=com.exasol%3Aoracle-virtual-schema) | ||
[![Reliability Rating](https://sonarcloud.io/api/project_badges/measure?project=com.exasol%3Aoracle-virtual-schema&metric=reliability_rating)](https://sonarcloud.io/dashboard?id=com.exasol%3Aoracle-virtual-schema) | ||
[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=com.exasol%3Aoracle-virtual-schema&metric=sqale_rating)](https://sonarcloud.io/dashboard?id=com.exasol%3Aoracle-virtual-schema) | ||
[![Technical Debt](https://sonarcloud.io/api/project_badges/measure?project=com.exasol%3Aoracle-virtual-schema&metric=sqale_index)](https://sonarcloud.io/dashboard?id=com.exasol%3Aoracle-virtual-schema) | ||
|
||
[![Code Smells](https://sonarcloud.io/api/project_badges/measure?project=com.exasol%3Aoracle-virtual-schema&metric=code_smells)](https://sonarcloud.io/dashboard?id=com.exasol%3Aoracle-virtual-schema) | ||
[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=com.exasol%3Aoracle-virtual-schema&metric=coverage)](https://sonarcloud.io/dashboard?id=com.exasol%3Aoracle-virtual-schema) | ||
[![Duplicated Lines (%)](https://sonarcloud.io/api/project_badges/measure?project=com.exasol%3Aoracle-virtual-schema&metric=duplicated_lines_density)](https://sonarcloud.io/dashboard?id=com.exasol%3Aoracle-virtual-schema) | ||
[![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=com.exasol%3Aoracle-virtual-schema&metric=ncloc)](https://sonarcloud.io/dashboard?id=com.exasol%3Aoracle-virtual-schema) | ||
|
||
# Overview | ||
|
||
The **Oracle Virtual Schema** provides an abstraction layer that makes an external [Oracle database](https://www.oracle.com/database/) accessible from an Exasol database through regular SQL commands. The contents of the external Oracle database are mapped to virtual tables which look like and can be queried as any regular Exasol table. | ||
|
||
If you want to set up a Virtual Schema for a different database system, please head over to the [Virtual Schemas Repository][virtual-schemas]. | ||
|
||
## Features | ||
|
||
* Access an Oracle database in read only mode from an Exasol database, using a Virtual Schema. | ||
|
||
## Table of Contents | ||
|
||
### Information for Users | ||
|
||
* [Virtual Schemas User Guide][virtual-schemas-user-guide] | ||
* [Oracle Dialect User Guide](doc/user_guide/oracle_user_guide.md) | ||
* [Changelog](doc/changes/changelog.md) | ||
|
||
Find all the documentation in the [Virtual Schemas project][vs-doc]. | ||
|
||
## Information for Developers | ||
|
||
* [Virtual Schema API Documentation][vs-api] | ||
|
||
### Run Time Dependencies | ||
|
||
Running the Virtual Schema requires a Java Runtime version 11 or later. | ||
|
||
| Dependency | Purpose | License | | ||
|--------------------------------------------------------------------|--------------------------------------------------------|-----------------------------------| | ||
| [Exasol Virtual Schema JDBC][virtual-schema-common-jdbc] | Common JDBC functions for Virtual Schemas adapters | MIT License | | ||
| [Oracle JDBC Driver][oracle-jdbc-driver] | JDBC driver for Oracle database | Oracle Technology Network License | | ||
| [Exasol Error Reporting][exasol-error-reporting] | Creating unified error messages | MIT License | | ||
| [Exasol Database Fundamentals for Java][exasol-db-funtamentals] | Base objects and ground rules for the Exasol database | MIT License | | ||
|
||
### Test Dependencies | ||
|
||
| Dependency | Purpose | License | | ||
|--------------------------------------------------------------------|--------------------------------------------------------|-------------------------------| | ||
| [Java Hamcrest](http://hamcrest.org/JavaHamcrest/) | Checking for conditions in code via matchers | BSD License | | ||
| [JUnit](https://junit.org/junit5) | Unit testing framework | Eclipse Public License 1.0 | | ||
| [Mockito](http://site.mockito.org/) | Mocking framework | MIT License | | ||
| [Testcontainers](https://www.testcontainers.org/) | Container-based integration tests | MIT License | | ||
| [Exasol Testcontainers][exasol-testcontainers] | Exasol extension for the Testcontainers framework | MIT License | | ||
| [Test Database Builder][test-db-builder] | Fluent database interfaces for testing | MIT License | | ||
| [Exasol Hamcrest Result Set Matcher][exasol-hamcrest] | Hamcrest result set matcher for testing | MIT License | | ||
| [EqualsVerifier][jqno-equals-verifier] | Testing `hashCode` and `equals` Java contract | Apache-2.0 License | | ||
|
||
|
||
### Maven Plug-ins | ||
|
||
| Plug-in | Purpose | License | | ||
|--------------------------------------------------------------------|--------------------------------------------------------|-------------------------------| | ||
| [Maven Jacoco Plugin][maven-jacoco-plugin] | Code coverage metering | Eclipse Public License 2.0 | | ||
| [Maven Surefire Plugin][maven-surefire-plugin] | Unit testing | Apache License 2.0 | | ||
| [Maven Compiler Plugin][maven-compiler-plugin] | Setting required Java version | Apache License 2.0 | | ||
| [Maven Assembly Plugin][maven-assembly-plugin] | Creating JAR | Apache License 2.0 | | ||
| [Maven Failsafe Plugin][maven-failsafe-plugin] | Integration testing | Apache License 2.0 | | ||
| [Versions Maven Plugin][versions-maven-plugin] | Checking if dependencies updates are available | Apache License 2.0 | | ||
| [Maven Enforcer Plugin][maven-enforcer-plugin] | Controlling environment constants | Apache License 2.0 | | ||
| [Maven Dependency Plugin][maven-dependency-plugin] | Accessing to test dependencies | Apache License 2.0 | | ||
| [Artifact Reference Checker Plugin][artifact-ref-checker-plugin] | Check if artifact is referenced with correct version | MIT License | | ||
| [Project Keeper Maven Plugin][project-keeper-maven-plugin] | Checking project structure | MIT License | | ||
| [Sonatype OSS Index Maven Plugin][sonatype-oss-index-maven-plugin] | Checking dependencies vulnerability | ASL2 | | ||
|
||
[virtual-schema-common-jdbc]: https://github.com/exasol/virtual-schema-common-jdbc | ||
[oracle-jdbc-driver]: https://www.oracle.com/database/technologies/appdev/jdbc.html | ||
[exasol-error-reporting]: https://github.com/exasol/error-reporting-java/ | ||
[exasol-db-funtamentals]: https://github.com/exasol/db-fundamentals-java/ | ||
|
||
[exasol-testcontainers]: https://github.com/exasol/exasol-testcontainers | ||
[test-db-builder]: https://github.com/exasol/test-db-builder/ | ||
[exasol-hamcrest]: https://github.com/exasol/hamcrest-resultset-matcher | ||
[jqno-equals-verifier]: https://github.com/jqno/equalsverifier | ||
|
||
[maven-jacoco-plugin]: https://www.eclemma.org/jacoco/trunk/doc/maven.html | ||
[maven-surefire-plugin]: https://maven.apache.org/surefire/maven-surefire-plugin/ | ||
[maven-compiler-plugin]: https://maven.apache.org/plugins/maven-compiler-plugin/ | ||
[maven-assembly-plugin]: https://maven.apache.org/plugins/maven-assembly-plugin/ | ||
[maven-failsafe-plugin]: https://maven.apache.org/surefire/maven-failsafe-plugin/ | ||
[versions-maven-plugin]: https://www.mojohaus.org/versions-maven-plugin/ | ||
[maven-enforcer-plugin]: http://maven.apache.org/enforcer/maven-enforcer-plugin/ | ||
[artifact-ref-checker-plugin]: https://github.com/exasol/artifact-reference-checker-maven-plugin | ||
[maven-dependency-plugin]: https://maven.apache.org/plugins/maven-dependency-plugin/ | ||
[project-keeper-maven-plugin]: https://github.com/exasol/project-keeper-maven-plugin | ||
[sonatype-oss-index-maven-plugin]: https://sonatype.github.io/ossindex-maven/maven-plugin/ | ||
|
||
[virtual-schemas-user-guide]: https://docs.exasol.com/database_concepts/virtual_schemas.htm | ||
[virtual-schemas]: https://github.com/exasol/virtual-schemas | ||
[vs-api]: https://github.com/exasol/virtual-schema-common-java/blob/master/doc/development/api/virtual_schema_api.md | ||
[vs-doc]: https://github.com/exasol/virtual-schemas/tree/master/doc |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# Changes | ||
|
||
* [1.0.0](changes_1.0.0.md) |
Oops, something went wrong.