-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Pmi 75 sybase integration test #36
Conversation
* Display SQL statements, etc. in monospace and clean up syntax * Add newline after heading
A new shell script `run_integration_tests.sh` executes the integration tests as defined in `integration-test-travis.yaml`. It uses the exasol/docker-db image to spin up an Exasol instance and execute the Exasol dialect integration tests. Travis CI automatically executes the test script for each new commit.
* Use SqlServer dialect as starting point * Add sybase dialect and override for ORDER BY * Setup Sybase integration tests: includes order by tests * Add WHERE test * Date/time types: handle conversion and add tests * Add sybase integer datatype tests * Add a whole bunch of data type tests * Add binary, varbinary, image and bit tests * Add Sybase to the supported dialects
* PMI-16: Set fixed database version for CI build. Cleaned up integration test script. * PMI-16: Fixed quoting. * PMI-16: Corrected docker image version. * PMI-76: Cherry-picked integration test script improvements.
…_Sybase_integration_test Conflicts: .gitignore jdbc-adapter/integration-test-data/run_integration_tests.sh jdbc-adapter/virtualschema-jdbc-adapter/src/main/java/com/exasol/adapter/dialects/SqlDialects.java jdbc-adapter/virtualschema-jdbc-adapter/src/main/java/com/exasol/adapter/jdbc/JdbcAdapter.java
…nd to reduce static methods to a minimum.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great PR again improving the consistency of the documentation and more. See my comments regarding the list of dialects. BTW, I like the change to have a separate subpage for each dialect.
* PostgreSQL | ||
The JDBC adapter for virtual schemas allows you to connect to JDBC data sources like Hive, Oracle, Teradata, Exasol or any other data source supporting JDBC. It uses the well proven ```IMPORT FROM JDBC``` Exasol statement behind the scenes to obtain the requested data, when running a query on a virtual table. The JDBC adapter also serves as the reference adapter for the Exasol virtual schema framework. | ||
|
||
Check the [SQL dialect list](doc/supported_sql_dialects.md) to learn which SQL dialects the JDBC adapter currently supports |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see the point that it is not good to maintain two separate lists. However I liked how it was before where you could see at the beginning of the main JDBC Adapter readme which dialects are supported. This is one of the most important things to show, and after this PR it would be relatively hidden on a subpage (where you have to scroll down first). Also I am not yet sure if we need a subpage supported_sql_dialects.md, since many subpages can make things rather complex.
So I think about the following:
- Add the list with the supported dialects again to the main README, with links to the relevant pages. Maybe with a separate subsection (still on top) so that we can link to it
- in the getting started guide we can link to the section in the README
There are more solutions for sure, let's discuss.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
|
||
If you are interested in a introduction to virtual schemas please refer to the EXASOL user manual. You can find it in the [download area of the EXASOL user portal](https://www.exasol.com/portal/display/DOWNLOAD/6.0). | ||
In addition to the aforementioned dialects there is the so called `GENERIC` dialect, which is designed to work with any JDBC driver. It derives the SQL dialect from the JDBC driver metadata. However, it does not support any capabilities and might fail if the data source has special syntax or data types, so it should only be used for evaluation purposes. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like the sentence, but it makes more sense if we directly mention the dialects above
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
jdbc-adapter/README.md
Outdated
|
||
If you are interested in a introduction to virtual schemas please refer to the Exasol user manual. You can find it in the [download area of the Exasol user portal](https://www.exasol.com/portal/display/DOWNLOAD/6.0). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Improvement proposal: Here is a better link: https://www.exasol.com/portal/display/DOC/Database+User+Manual. You could make a link out of Exasol user manual
. (not really part of this PR - nice to have)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Exchanged link.
@@ -0,0 +1,26 @@ | |||
# Supported Dialects |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See my first comment about this new subpage
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
* | ||
* <p> | ||
* This does not deploy the latest JAR, because the distribution Maven module is | ||
* and and build after this module. Right now you need to do something like |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
and and
typo.
Right now I wonder if it is not possible to do it all in one Maven call. Maybe the integration tests can be moved into the pom.xml on highest level and this will be executed at the end? Not sure, ... Anyway, such change is not part of this PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The integration tests need to be redone from the ground on.
They need to automatically create a clean environment for each test, we need cleaner and most importantly more compact configuration and uniform testing across all dialects. While we are at it we also need to eliminate code duplication.
That is a separate PR for sure.
…gration_test Conflicts: .gitignore jdbc-adapter/README.md jdbc-adapter/doc/deploy-adapter.md jdbc-adapter/doc/develop-dialect.md jdbc-adapter/doc/supported-dialects.md jdbc-adapter/integration-test-data/run_integration_tests.sh jdbc-adapter/virtualschema-jdbc-adapter/src/main/java/com/exasol/adapter/dialects/impl/SybaseSqlDialect.java jdbc-adapter/virtualschema-jdbc-adapter/src/main/java/com/exasol/adapter/jdbc/JdbcAdapter.java jdbc-adapter/virtualschema-jdbc-adapter/src/main/java/com/exasol/adapter/jdbc/JdbcMetadataReader.java jdbc-adapter/virtualschema-jdbc-adapter/src/main/resources/sql_dialects.properties jdbc-adapter/virtualschema-jdbc-adapter/src/test/java/com/exasol/adapter/dialects/AbstractIntegrationTest.java jdbc-adapter/virtualschema-jdbc-adapter/src/test/java/com/exasol/adapter/dialects/IntegrationTestSetup.java jdbc-adapter/virtualschema-jdbc-adapter/src/test/java/com/exasol/adapter/dialects/impl/SybaseSqlDialectIT.java
@andrehacker: Implemented your requested changes. Please check again. |
Accidentally hit the "close" button. Reopened. |
* Sybase Virtual Schema (#32) * Use SqlServer dialect as starting point * Add sybase dialect and override for ORDER BY * Setup Sybase integration tests: includes order by tests * Add WHERE test * Date/time types: handle conversion and add tests * Add sybase integer datatype tests * Add a whole bunch of data type tests * Add binary, varbinary, image and bit tests * Add Sybase to the supported dialects * Pmi 73 take over sybase from hendrik (#33) * PMI-16: Set fixed database version for CI build. Cleaned up integration test script. * PMI-16: Fixed quoting. * PMI-16: Corrected docker image version. * PMI-76: Cherry-picked integration test script improvements. * Pmi 74 improve travis ci build (#35) * PMI-74: Used "mktemp". Improved configurability and readability. * PMI-74: Parameterized more hard-coded paths. * PMI-74: Change temp dir to rooted temp dir. * PMI-74: Improved readability by splitting file into functions. * PIM-74: Travis badge now points to default branch. * Update README.md * Added DBeaver files to ".gitignore" * Feature/pmi 69 invert dialect dependencies (#31) * refactor(PMI-69): Turned hard-coded SQL dialect list into registry. * feat(PMI-16): Dialect registry now uses scanning. * fix(PMI-16): Explicitly set report output encoding to avoid warning. * PMI-16: Added "local" directory to .gitignore * PMI-16: Got new SQL dialect registry running and improved logging. * PMI-16: Got properties-controlled dialects regsitry running. * PMI-16: Set fixed database version for CI build. Cleaned up integration test script. * PMI-16: Fixed quoting. * PMI-16: Corrected docker image version. * PMI-69: Fixed review findings of Andre Hacker. * PMI-69: Removed superfluous "@OverRide". * Pmi 75 sybase integration test (#36) * Rename EXASOL to Exasol * Update supported-dialects.md * SQL generation to use SQL standard "<>" for not-equal predicate * Support for native import from Oracle (issue #26) (#27) * Increment to version 1.0.1 for releasing * Increment version to 6.0.2-SNAPSHOT for next development iteration * Readme fixes (#29) * Display SQL statements, etc. in monospace and clean up syntax * Add newline after heading * Add script to run Exasol integration tests on Travis CI (#28) A new shell script `run_integration_tests.sh` executes the integration tests as defined in `integration-test-travis.yaml`. It uses the exasol/docker-db image to spin up an Exasol instance and execute the Exasol dialect integration tests. Travis CI automatically executes the test script for each new commit. * refactor(PMI-69): Turned hard-coded SQL dialect list into registry. * feat(PMI-16): Dialect registry now uses scanning. * fix(PMI-16): Explicitly set report output encoding to avoid warning. * PMI-16: Added "local" directory to .gitignore * PMI-16: Got new SQL dialect registry running and improved logging. * PMI-16: Got properties-controlled dialects regsitry running. * PMI-16: Set fixed database version for CI build. Cleaned up integration test script. * PMI-16: Fixed quoting. * PMI-16: Corrected docker image version. * Sybase Virtual Schema (#32) * Use SqlServer dialect as starting point * Add sybase dialect and override for ORDER BY * Setup Sybase integration tests: includes order by tests * Add WHERE test * Date/time types: handle conversion and add tests * Add sybase integer datatype tests * Add a whole bunch of data type tests * Add binary, varbinary, image and bit tests * Add Sybase to the supported dialects * Pmi 73 take over sybase from hendrik (#33) * PMI-16: Set fixed database version for CI build. Cleaned up integration test script. * PMI-16: Fixed quoting. * PMI-16: Corrected docker image version. * PMI-76: Cherry-picked integration test script improvements. * PMI-74: Used "mktemp". Improved configurability and readability. * PMI-74: Parameterized more hard-coded paths. * PMI-74: Change temp dir to rooted temp dir. * PMI-74: Improved readability by splitting file into functions. * PIM-74: Travis badge now points to default branch. * PMI-75: Adapted to new SQL dialect registry. * Added local and Scripts to .gitignore * Added .dbeaver* to .gitignore * PMI-75: Cleaned up and split documentation. * PMI-75: Fixed integration tests. Fixed database preparation scripts * PMI-75: Refactored IntegrationTestSetup.java for better readability and to reduce static methods to a minimum. * PMI-75: Got remote logging running. * PMI-75: Improved log message formatting. Added unit tests for custom formatter. * PMI-75: Set default log level explicitly. * PMI-75: Added fallback to STDOUT in case socket output stream is not available. * PMI-75: Improved documentation. * PMI-75: Removed distracting introduction. * Feature/pmi 91 update version to 1.1.0 (#37) * Deleted `increment-version.sh` script * Created `version.sh` script that has a verification and an updater mode * Introduced `product.version` property in master `pom.xml` * Used that property in all child-POM files * Used `version.sh` to update documentation * Added `version.sh verify` as build breaker in `.travis.yml`
Summary:
java.util.logging
com.exasol.logging.CompactFormatter
logging.properties
CREATE VIRTUAL SCHEMA
statement