Releases: exasol/test-db-builder-java
Fixed SQL injection for create table
Summary
In this released we fixed a bug that allowed SQL injection in the create table commands.
Bugfixes
- #62: Fixed identifier quoting for PostgreSQL and MySQL
Made `script.execute` robust against quotes
Summary
TDDB 3.1.0 allows you to create and execute Exasol scripts. In this released we fixed a bug in the implementation of execute that lead to an exception when string parameters containing quotes were passed to the execute function.
Features
- #48: Added support for multiple JARs in BucketFS content.
Bugfixes
- #70: Made
script.execute
robust against quotes
Documentation
- #58: Added UDF script creation examples to user guide
- #64: Fixed typo in connection definition example in user guide
Dependency Updates
- Updated
com.exasol:exasol-testcontainers:3.4.0
to3.5.0
- Updated
com.exasol:hamcrest-resultset-matcher:1.3.0
to1.4.0
- Updated
com.exasol:error-code-crawler-maven-plugin:0.1.0
to0.1.1
- Updated
mysql:mysql-connector-java:8.0.22
to8.0.23
- Updated
org.mockito:mockito-junit-jupiter:3.7.0
to3.7.7
- Updated
org.codehaus.mojo:versions-maven-plugin:2.7
to2.8.1
- Updated
org.jacoco:jacoco-maven-plugin:0.8.5
to0.8.6
- Updated
org.junit.jupiter:junit-jupiter-engine:5.7.0
to5.7.1
- Updated
org.junit.jupiter:junit-jupiter-params:5.7.0
to5.7.1
- Updated
nl.jqno.equalsverifier:equalsverifier:3.5.1
to3.5.4
Bulk insert for tables
Summary
In this release, we removed the Table#getRows()
method and by that cause an API change. We removed this method, since it requires all rows to be kept in memory which limits the size of the tables that can be built.
The new Table#bulkInsert()
method allows you to insert multiple rows to a table in one transaction and by that much faster than using multiple calls to Table#insert()
.
Features / Enhancements
- #59: Added bulk insert for tables
Dependency Updates
- Added
com.exasol:error-reporting-java:0.2.2
- Added
com.exasol:error-code-crawler-maven-plugin:0.1.0
- Updated
org.mockito:mockito-junit-jupiter:3.6.28
to3.7.0
- Updated
nl.jqno.equalsverifier:equalsverifier:3.5
to3.5.1
Added PostgreSQL dialect
Features / Enhancements
Dependency Updates
- Removed
org.junit.platform:junit-platform-runner
- Updated
com.exasol:exasol-jdbc:7.0.3
to7.0.4
- Updated
com.exasol:exasol-testcontainers:3.2.0
to3.4.0
- Updated
com.exasol:hamcrest-resultset-matcher:1.2.1
to1.3.0
- Updated
org.mockito:mockito-junit-jupiter:3.6.0
to3.6.28
- Updated
org.testcontainers:junit-jupiter:1.14.3
to1.15.1
- Updated
org.testcontainers:mysql:1.14.3
to1.15.1
- Updated
org.junit.jupiter:junit-jupiter-engine:5.6.2
to5.7.0
- Updated
org.junit.jupiter:junit-jupiter-params:5.6.2
to5.7.0
- Added
org.postgresql:postgresql:42.2.18
- Added
org.testcontainers:postgresql:1.15.1
- Updated
com.exasol:project-keeper:0.2.0
to0.4.2
- Added
org.sonatype.plugins:nexus-staging-maven-plugin:1.6.8
UDF support
Refactoring
- #40: Refactored debugger connection to global JVM options
This change caused an API change for adding a debugger.
See the user guide.
Features / Enhancements
- #42: UDF support
For supporting UDFs we unified the API for Script, UDF and Adapter scripts.
We changedExasolSchema#createAdapterScriptBuilder()
intoExasolSchema#createAdapterScriptBuilder(name)
and removedAdapterScript.Builder#name(name)
.
We also removedAdapterScript.Builder#parentSchema(schema)
andAdapterScript.Builder#writer(writer)
but these methods should not be used from outside anyway.
Dependency Updates
- Updated
com.exasol:exasol-jdbc
from 6.2.5 to 7.0.3 - Updated
mysql:mysql-connector-java
from 8.0.20 to 8.0.22 - Updated
com.exasol:db-fundamentals-java
from 0.1.0 to 0.1.1 - Updated
com.exasol:exasol-testcontainers
from 2.0.3 to 3.2.0 - Updated
com.exasol:hamcrest-resultset-matcher
from 1.1.1 to 1.2.1 - Updated
org.mockito:mockito-junit-jupiter
from 3.3.3 to 3.6.0 - Updated
nl.jqno.equalsverifier:equalsverifier
from 3.4.1 to 3.5 - Added
com.exasol:project-keeper
0.2.0
Dropping database objects and debugger support
Added versions-maven-plugin, updated dependencies
Features / Enhancements
- #24: Added versions-maven-plugin, updated dependencies.
Dependency updates
Click to expand
- Added
org.codehaus.mojo:versions-maven-plugin:2.7
- Added
org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-M3
- Updated
com.exasol:exasol-testcontainers
from 2.0.1 to 2.0.3 - Updated
com.exasol:hamcrest-resultset-matcher
from 1.1.0 to 1.1.1 - Updated
org.junit.jupiter:junit-jupiter-engine
from 5.6.1 to 5.6.2 - Updated
org.junit.jupiter:junit-jupiter-params
from 5.6.1 to 5.6.2 - Updated
org.junit.platform:junit-platform-runner
from 1.6.1 to 1.6.2 - Updated
org.testcontainers:junit-jupiter
from 1.13.0 to 1.14.3 - Updated
org.testcontainers:mysql
from 1.13.0 to 1.14.3
Added MySQL dialect
Summary
In this release we added MySQL dialect which means users can create MySQL database structures using test-db-builder-java
.
Features / Enhancements
- #16: added MySQL dialect
- #18: added requirements and design for MySQL dialect, fixed user guide and README.md
- #19: implemented MySQLIdentifier validation
- #22: added audit dependencies plugin
Dependency updates
Click to expand
- Added
com.exasol
-hamcrest-resultset-matcher
1.1.0
- Added
com.exasol
-db-fundamentals-java
0.1.0
- Added
mysql
-mysql-connector-java
8.0.20
- Added
nl.jqno.equalsverifier
-equalsverifier
3.4.1
- Added
org.testcontainers
-mysql
1.13.0
- Added
org.sonatype.ossindex.maven
-ossindex-maven-plugin
-3.1.0
- Updated
org.itsallcode
-openfasttrace-maven-plugin
from0.0.3
to0.1.0
Attach to existing scripts
Summary
When integration testing scripts, user often need to install the from SQL files and then execute them in the test harness. With this release of the Test Database Builder for Java we now support executing SQL files and attaching to existing scripts via a control object.
Changes
Features for testing RLS
Summary
In this first release of the Test Database Builder for java we added the required functions to support the integration tests in our Row Level Security repository.
- Create connection definitions
- Create users
- Grant system and object privileges to users
- Create schemas
- Create and populate tables
- Create adapter scripts
- Create virtual schemas