Skip to content

Commit 5390b5e

Browse files
Sebastian Bärckunki
andauthored
#28: Improved user documentation (#29)
Co-authored-by: Christoph Kuhnke <[email protected]>
1 parent 769f4df commit 5390b5e

File tree

7 files changed

+126
-120
lines changed

7 files changed

+126
-120
lines changed

.vscode/settings.json

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{
2+
"editor.formatOnSave": true,
3+
"editor.codeActionsOnSave": {
4+
"source.organizeImports": true,
5+
"source.generate.finalModifiers": true,
6+
"source.fixAll": true
7+
},
8+
"java.codeGeneration.useBlocks": true,
9+
"java.saveActions.organizeImports": true,
10+
"java.sources.organizeImports.starThreshold": 3,
11+
"java.sources.organizeImports.staticStarThreshold": 3,
12+
"java.test.config": {
13+
"vmArgs": [
14+
"-Djava.util.logging.config.file=src/test/resources/logging.properties"
15+
]
16+
}
17+
}

dependencies.md

Lines changed: 32 additions & 31 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

doc/changes/changes_4.0.1.md

Lines changed: 21 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,36 @@
1-
# Virtual Schema for MySQL 4.0.1, released 2022-10-24
1+
# Virtual Schema for MySQL 4.0.1, released 2022-11-24
22

3-
Code name: Dependency Updates
3+
Code name: Improved documentation
44

55
## Summary
66

7-
Updated dependencies to fix vulnerabilities.
7+
In release 4.0.1 we improved the installation instructions in the user guide, removed an old file that was left over from when the VS used Lombok and updated dependencies to fix vulnerabilities.
88

9-
## Features
9+
## Bugfixes
1010

1111
* #23: Fixed CVE-2022-3171 reported for `com.google.protobuf:protobuf-java` by updating `com.mysql:mysql-connector-j`.
1212

1313
## Dependency Updates
1414

15-
### Compile Dependency Updates
16-
17-
* Updated `com.exasol:virtual-schema-common-jdbc:9.0.5` to `10.0.1`
18-
1915
### Test Dependency Updates
2016

21-
* Updated `com.exasol:exasol-testcontainers:6.1.1` to `6.2.0`
22-
* Updated `com.exasol:hamcrest-resultset-matcher:1.5.1` to `1.5.2`
23-
* Updated `com.exasol:test-db-builder-java:3.3.2` to `3.4.0`
24-
* Updated `com.exasol:udf-debugging-java:0.6.2` to `0.6.4`
25-
* Updated `com.exasol:virtual-schema-common-jdbc:9.0.5` to `10.0.1`
26-
* Updated `com.exasol:virtual-schema-shared-integration-tests:2.2.0` to `2.2.2`
27-
* Added `com.google.protobuf:protobuf-java:3.21.8`
28-
* Added `com.mysql:mysql-connector-j:8.0.31`
29-
* Removed `mysql:mysql-connector-java:8.0.29`
30-
* Updated `org.junit.jupiter:junit-jupiter:5.8.2` to `5.9.1`
31-
* Updated `org.mockito:mockito-junit-jupiter:4.6.1` to `4.8.1`
32-
* Updated `org.testcontainers:junit-jupiter:1.17.2` to `1.17.5`
33-
* Updated `org.testcontainers:mysql:1.17.2` to `1.17.5`
17+
* Updated `com.exasol:exasol-testcontainers:6.2.0` to `6.3.1`
18+
* Updated `com.exasol:test-db-builder-java:3.4.0` to `3.4.1`
19+
* Updated `com.exasol:udf-debugging-java:0.6.4` to `0.6.5`
20+
* Updated `com.google.protobuf:protobuf-java:3.21.8` to `3.21.9`
21+
* Updated `org.mockito:mockito-junit-jupiter:4.8.1` to `4.9.0`
22+
* Updated `org.testcontainers:junit-jupiter:1.17.5` to `1.17.6`
23+
* Updated `org.testcontainers:mysql:1.17.5` to `1.17.6`
3424

3525
### Plugin Dependency Updates
3626

37-
* Updated `com.exasol:error-code-crawler-maven-plugin:1.1.1` to `1.1.2`
38-
* Updated `com.exasol:project-keeper-maven-plugin:2.4.6` to `2.8.0`
39-
* Updated `org.apache.maven.plugins:maven-enforcer-plugin:3.0.0` to `3.1.0`
40-
* Updated `org.codehaus.mojo:versions-maven-plugin:2.11.0` to `2.10.0`
27+
* Updated `com.exasol:artifact-reference-checker-maven-plugin:0.4.0` to `0.4.2`
28+
* Updated `com.exasol:error-code-crawler-maven-plugin:1.1.2` to `1.2.1`
29+
* Updated `com.exasol:project-keeper-maven-plugin:2.8.0` to `2.9.1`
30+
* Updated `io.github.zlika:reproducible-build-maven-plugin:0.15` to `0.16`
31+
* Updated `org.apache.maven.plugins:maven-assembly-plugin:3.3.0` to `3.4.2`
32+
* Updated `org.apache.maven.plugins:maven-failsafe-plugin:3.0.0-M5` to `3.0.0-M7`
33+
* Updated `org.apache.maven.plugins:maven-jar-plugin:3.2.2` to `3.3.0`
34+
* Updated `org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M5` to `3.0.0-M7`
35+
* Updated `org.codehaus.mojo:flatten-maven-plugin:1.2.7` to `1.3.0`
36+
* Updated `org.codehaus.mojo:versions-maven-plugin:2.10.0` to `2.13.0`

doc/user_guide/mysql_user_guide.md

Lines changed: 40 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,13 @@ Now register the driver in EXAOperation:
1919

2020
You need to specify the following settings when adding the JDBC driver via EXAOperation.
2121

22-
| Parameter | Value |
23-
|-------------|---------------------------------------|
24-
| Driver Name | `MYSQL` |
25-
| Main Class | `com.mysql.jdbc.Driver` |
26-
| Prefix | `jdbc:mysql:` |
27-
| Files | `mysql-connector-java-<version>.jar` |
22+
| Parameter | Value |
23+
|------------------|-------------------------------------------------------------------------------------------|
24+
| Driver Name | `MYSQL` |
25+
| Main Class | `com.mysql.jdbc.Driver` |
26+
| Prefix | `jdbc:mysql:` |
27+
| Files | `mysql-connector-j-<versions>.jar` (older versions: `mysql-connector-java-<version>.jar`) |
28+
| Port (optional) | default 3306 |
2829

2930
IMPORTANT: Currently you have to **Disable Security Manager** for the driver if you want to connect to MySQL using Virtual Schemas.
3031
It is necessary because JDBC driver requires a JAVA permission which we do not grant by default.
@@ -46,13 +47,13 @@ Then create a schema to hold the adapter script.
4647
CREATE SCHEMA SCHEMA_FOR_VS_SCRIPT;
4748
```
4849

49-
The SQL statement below creates the adapter script, defines the Java class that serves as entry point and tells the UDF framework where to find the libraries (JAR files) for Virtual Schema and database driver.
50+
The SQL statement below creates the adapter script, defines the Java class that serves as entry point and tells the UDF framework where to find the libraries (JAR files) for Virtual Schema and JDBC database driver.
5051

5152
```sql
5253
CREATE OR REPLACE JAVA ADAPTER SCRIPT SCHEMA_FOR_VS_SCRIPT.ADAPTER_SCRIPT_MYSQL AS
5354
%scriptclass com.exasol.adapter.RequestDispatcher;
5455
%jar /buckets/<BFS service>/<bucket>/virtual-schema-dist-10.0.1-mysql-4.0.1.jar;
55-
%jar /buckets/<BFS service>/<bucket>/mysql-connector-java-<version>.jar;
56+
%jar /buckets/<BFS service>/<bucket>/mysql-connector-j-<version>.jar;
5657
/
5758
;
5859
```
@@ -82,37 +83,37 @@ CREATE VIRTUAL SCHEMA <virtual schema name>
8283

8384
## Data Types Conversion
8485

85-
MySQL Data Type | Supported | Converted Exasol Data Type| Known limitations
86-
-------------------|-----------|---------------------------|-------------------
87-
BOOLEAN | ✓ | BOOLEAN |
88-
BIGINT | ✓ | DECIMAL |
89-
BINARY | × | |
90-
BIT | ✓ | BOOLEAN |
91-
BLOB | × | |
92-
CHAR | ✓ | CHAR |
93-
DATE | ✓ | DATE |
94-
DATETIME | ✓ | TIMESTAMP |
95-
DECIMAL | ✓ | DECIMAL |
96-
DOUBLE | ✓ | DOUBLE PRECISION |
97-
ENUM | ✓ | CHAR |
98-
FLOAT | ✓ | DOUBLE PRECISION |
99-
INT | ✓ | DECIMAL |
100-
LONGBLOB | × | |
101-
LONGTEXT | ✓ | VARCHAR(2000000) |
102-
MEDIUMBLOB | × | |
103-
MEDIUMINT | ✓ | DECIMAL |
104-
MEDIUMTEXT | ✓ | VARCHAR(2000000) |
105-
SET | ✓ | CHAR |
106-
SMALLINT | ✓ | DECIMAL |
107-
TEXT | ✓ | VARCHAR(65535) | The size of the column is always 65535.*
108-
TINYBLOB | × | |
109-
TINYINT | ✓ | DECIMAL |
110-
TINYTEXT | ✓ | VARCHAR |
111-
TIME | ✓ | TIMESTAMP | Casted to `TIMESTAMP` with a format `1970-01-01 hh:mm:ss`.
112-
TIMESTAMP | ✓ | TIMESTAMP |
113-
VARBINARY | × | |
114-
VARCHAR | ✓ | VARCHAR |
115-
YEAR | ✓ | DATE |
86+
| MySQL Data Type | Supported | Converted Exasol Data Type| Known limitations |
87+
|-----------------|-----------|---------------------------|------------------------------------------------------------|
88+
| BOOLEAN || BOOLEAN | |
89+
| BIGINT || DECIMAL | |
90+
| BINARY | × | | |
91+
| BIT || BOOLEAN | |
92+
| BLOB | × | | |
93+
| CHAR || CHAR | |
94+
| DATE || DATE | |
95+
| DATETIME || TIMESTAMP | |
96+
| DECIMAL || DECIMAL | |
97+
| DOUBLE || DOUBLE PRECISION | |
98+
| ENUM || CHAR | |
99+
| FLOAT || DOUBLE PRECISION | |
100+
| INT || DECIMAL | |
101+
| LONGBLOB | × | | |
102+
| LONGTEXT || VARCHAR(2000000) | |
103+
| MEDIUMBLOB | × | | |
104+
| MEDIUMINT || DECIMAL | |
105+
| MEDIUMTEXT || VARCHAR(2000000) | |
106+
| SET || CHAR | |
107+
| SMALLINT || DECIMAL | |
108+
| TEXT || VARCHAR(65535) | The size of the column is always 65535.* |
109+
| TINYBLOB | × | | |
110+
| TINYINT || DECIMAL | |
111+
| TINYTEXT || VARCHAR | |
112+
| TIME || TIMESTAMP | Casted to `TIMESTAMP` with a format `1970-01-01 hh:mm:ss`. |
113+
| TIMESTAMP || TIMESTAMP | |
114+
| VARBINARY | × | | |
115+
| VARCHAR || VARCHAR | |
116+
| YEAR || DATE | |
116117

117118
* The tested versions of MySQL Connector JDBC Driver return the column's size depending on the charset and its collation.
118119
As the real data in a MySQL table can sometimes exceed the size that we get from the JDBC driver, we set the size for all TEXT columns to 65535 characters.

lombok.config

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

0 commit comments

Comments
 (0)