Skip to content

Releases: exasol/test-db-builder-java

Fixed SQL injection for create table

16 Mar 16:18
db1a670
Compare
Choose a tag to compare

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

24 Feb 14:43
3e54627
Compare
Choose a tag to compare

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 to 3.5.0
  • Updated com.exasol:hamcrest-resultset-matcher:1.3.0 to 1.4.0
  • Updated com.exasol:error-code-crawler-maven-plugin:0.1.0 to 0.1.1
  • Updated mysql:mysql-connector-java:8.0.22 to 8.0.23
  • Updated org.mockito:mockito-junit-jupiter:3.7.0 to 3.7.7
  • Updated org.codehaus.mojo:versions-maven-plugin:2.7 to 2.8.1
  • Updated org.jacoco:jacoco-maven-plugin:0.8.5 to 0.8.6
  • Updated org.junit.jupiter:junit-jupiter-engine:5.7.0 to 5.7.1
  • Updated org.junit.jupiter:junit-jupiter-params:5.7.0 to 5.7.1
  • Updated nl.jqno.equalsverifier:equalsverifier:3.5.1 to 3.5.4

Bulk insert for tables

15 Jan 07:48
ad52ec0
Compare
Choose a tag to compare

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 to 3.7.0
  • Updated nl.jqno.equalsverifier:equalsverifier:3.5 to 3.5.1

Added PostgreSQL dialect

12 Jan 09:32
178eb4c
Compare
Choose a tag to compare

Features / Enhancements

  • #50: Added PostgreSQL dialect
  • #56: Added createTableBuilder to the Schema interface

Dependency Updates

  • Removed org.junit.platform:junit-platform-runner
  • Updated com.exasol:exasol-jdbc:7.0.3 to 7.0.4
  • Updated com.exasol:exasol-testcontainers:3.2.0 to 3.4.0
  • Updated com.exasol:hamcrest-resultset-matcher:1.2.1 to 1.3.0
  • Updated org.mockito:mockito-junit-jupiter:3.6.0 to 3.6.28
  • Updated org.testcontainers:junit-jupiter:1.14.3 to 1.15.1
  • Updated org.testcontainers:mysql:1.14.3 to 1.15.1
  • Updated org.junit.jupiter:junit-jupiter-engine:5.6.2 to 5.7.0
  • Updated org.junit.jupiter:junit-jupiter-params:5.6.2 to 5.7.0
  • Added org.postgresql:postgresql:42.2.18
  • Added org.testcontainers:postgresql:1.15.1
  • Updated com.exasol:project-keeper:0.2.0 to 0.4.2
  • Added org.sonatype.plugins:nexus-staging-maven-plugin:1.6.8

UDF support

11 Nov 16:13
83a3bee
Compare
Choose a tag to compare

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 changed ExasolSchema#createAdapterScriptBuilder() into ExasolSchema#createAdapterScriptBuilder(name)
    and removed AdapterScript.Builder#name(name).
    We also removed AdapterScript.Builder#parentSchema(schema) and AdapterScript.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

15 Sep 11:29
d8cfdd0
Compare
Choose a tag to compare

Features / Enhancements

  • #27: Dropping database objects
  • #26: Add debugger to adapter script
  • #36: Loading adapter scripts from file
  • #33: Refactored requirement tracing
  • #38: Added GitHub workflow for automated release

Added versions-maven-plugin, updated dependencies

06 Jul 10:08
2e7dd69
Compare
Choose a tag to compare

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

19 Jun 10:11
710b696
Compare
Choose a tag to compare

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 from 0.0.3 to 0.1.0

Attach to existing scripts

18 May 12:14
4b550cf
Compare
Choose a tag to compare

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

  • #2: Added all system privileges
  • #12: Attach to existing scripts in the database
  • #12: Load and run SQL from files

Features for testing RLS

30 Apr 07:25
9c1d525
Compare
Choose a tag to compare

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

Changes

  • #1: Functions for RLS tests
  • #5: Deployment to the Central Repository (aka. "Maven Central")