Repository: exasol/integration-test-docker-environment (language: python)

Issue:
Allow injection of external test container via CLI
## Background

Often, clients of the Integration-Test-Docker-Environment have their specific package dependencies. In order to run tests within the test-container, they cannot use the [built-in test container](https://github.com/exasol/integration-test-docker-environment/tree/master/tests), but need to inject a custom Docker container, with their respective dependencies.

Currently, the default test-container is not part of the release package. Thus, the CLI does not work when startet from a package.

### Details

#### Default Test-Container

We can remove the test-container of the `ITDE`. There will be no default test-container.

##### Database starter check

We can use `exaplus` in the docker-db to validate if the db is up and running

#### Test-data

Test Data can move to `exaslct` and is not needed anymore in `itde`. It should be small enough that we can include it into the resources of the package. (Please check the last part). Or, alternative we can download it.

The test-data folder is currently also hard-coded. It will be the client's responsibility to populate test-data.
However, `itde` needs to bind mount the local directory with the test-data. So, this path needs to be passed as parameter to `itde`.

`itde` will return a flag from the API call if the test-environment was re-used.
It's the clients responsibility to evaluate the reused flag and populate the test-data if this flag is `false`.

For convenience, class [PopulateData](https://github.com/exasol/integration-test-docker-environment/blob/main/exasol_integration_test_docker_environment/lib/test_environment/database_setup/populate_data.py) will remain in `itde` so that clients can use it.

#### Integrations-python-tests 

These tests are bundled today together with the test-data (see above). So there are bind-mounted together with them during startup of the test-container. Also, in the current implementation the tests are copied to a new directory in the test-container, in which the client then starts the integration tests (This is done because of some artifacts which the test-runner stores in the directory).

Hence, we also need to pass the bind-mount information (source directory and directory in test-container) to the `itde` via API.
Additionally, there will be a third parameter, indicating the final location in the test-container, where the tests are then expected.

#### Additional directories for test-container

~~Add parameter for mapping_of_build_files_and_directories. Need to discuss how to declare the parameter in CLI; in API it can be a simple dictionary: `str -> str`.~~
As discussed, CLI will not support test-container at all. So there is no need to pass mapping over CLI.

Over API the mapping of files/directories must be passed. These mapping files then will be copied together with the Dockerfile into a temporary directory (this behavior is already implemented).

#### Upload to BucketFS

Currently two kinds of assets are uploaded to the Bucket-FS:
1. exajdbc.jar: We decided to remove this as this is not needed anymore.
2. slc container (from `exaslct`)

We will modify [UploadFileToBucketFS](https://github.com/exasol/integration-test-docker-environment/blob/main/exasol_integration_test_docker_environment/lib/test_environment/database_setup/upload_file_to_db.py) so that it will run on the host-system, not within the test-container. With that, there is no need to bind-mount any upload-directories to the test-container. The clients (`exaslct`) can use this class  to upload any specific artifacts then. For that, we need to change UploadFileToDb so that it uses project [`bucketfs-utils`](https://github.com/exasol/bucketfs-utils-python), and not curl.


### Conclusion <a href="#user-content-conclusion-heading" id="conclusion-heading">#</a>

We need to pass the following information regarding the test-container:
* The path of the Dockerfile
* Additional mappings, and the relative paths of the source files/directories
* A list of mapping for bind-mounts (Optional). One use case is the path of the test data. Each entry of the mapping consists of:
   - The source directory on the host system
   - The bind-mounted directory in the test-container
   - The directory to which the content will be copied after the test container has been started. (if `None`, the copy will skip)

## Acceptance Criteria

1. Allow injection of a path containing custom test-container Dockerfile
2. Encapsulate all information needed for the test-container (See section [Conclusion](https://github.com/exasol/integration-test-docker-environment/issues/168#user-content-conclusion-heading)) in a class : _TestContainerContentDescription_
3.. **API**: Add a parameter of type _TestContainerContentDescription_ to API function _spawn_test_container()_
~~4. **CLI**: Add a parameter --test-container-content-description-file to CLI command _spawn_test_container()_, which should be treated as a JSON file containing all content of the test-container (See section [Conclusion](https://github.com/exasol/integration-test-docker-environment/issues/168#user-content-conclusion-heading))~~
4. No new CLI parameter needed. The functionality to spawn the test-container should only be available via API.



Discussion / hints:
Hint: the test container is currently hard-coded in https://github.com/exasol/integration-test-docker-environment/blob/859c34bcb2f7fa9345d1175c99db581d546c4a5f/exasol_integration_test_docker_environment/lib/test_environment/analyze_test_container.py#L13
We can create a AnalyzeTestContainer Task where we set Dockerfile and BuildContext from commandline parameter. For example, --path-to-dockerfile, --path-to-build-context (can be multiple)

We need pass the commandline parameter values into the SpawnTestEnvironment where they passed through to the SpawnTestContainer
## Code hints

### Add parameter

[https://github.com/exasol/integration-test-docker-environment/blob/ab78c537a8cdc87[…]cker_environment/lib/test_environment/analyze_test_container.py](https://github.com/exasol/integration-test-docker-environment/blob/ab78c537a8cdc87ba5d7f660321e33a140e20481/exasol_integration_test_docker_environment/lib/test_environment/analyze_test_container.py#L44)
[https://github.com/exasol/integration-test-docker-environment/blob/ab78c537a8cdc87[…]cker_environment/lib/test_environment/analyze_test_container.py](https://github.com/exasol/integration-test-docker-environment/blob/ab78c537a8cdc87ba5d7f660321e33a140e20481/exasol_integration_test_docker_environment/lib/test_environment/analyze_test_container.py#L14)

### Return parameter

[https://github.com/exasol/integration-test-docker-environment/blob/ab78c537a8cdc87[…]cker_environment/lib/test_environment/analyze_test_container.py](https://github.com/exasol/integration-test-docker-environment/blob/ab78c537a8cdc87ba5d7f660321e33a140e20481/exasol_integration_test_docker_environment/lib/test_environment/analyze_test_container.py#L34)

### Call with parameter

[https://github.com/exasol/integration-test-docker-environment/blob/ab78c537a8cdc87[…]gration_test_docker_environment/lib/api/build_test_container.py](https://github.com/exasol/integration-test-docker-environment/blob/ab78c537a8cdc87ba5d7f660321e33a140e20481/exasol_integration_test_docker_environment/lib/api/build_test_container.py#L50)
[https://github.com/exasol/integration-test-docker-environment/blob/ab78c537a8cdc87[…]nvironment/lib/test_environment/create_ssl_certificates_task.py](https://github.com/exasol/integration-test-docker-environment/blob/ab78c537a8cdc87ba5d7f660321e33a140e20481/exasol_integration_test_docker_environment/lib/test_environment/create_ssl_certificates_task.py#L45)
[https://github.com/exasol/integration-test-docker-environment/blob/ab78c537a8cdc87[…]docker_environment/lib/test_environment/spawn_test_container.py](https://github.com/exasol/integration-test-docker-environment/blob/ab78c537a8cdc87ba5d7f660321e33a140e20481/exasol_integration_test_docker_environment/lib/test_environment/spawn_test_container.py#L46)
[https://github.com/exasol/integration-test-docker-environment/blob/ab78c537a8cdc87[…]egration_test_docker_environment/lib/api/push_test_container.py](https://github.com/exasol/integration-test-docker-environment/blob/ab78c537a8cdc87ba5d7f660321e33a140e20481/exasol_integration_test_docker_environment/lib/api/push_test_container.py#L51)


Fix patch:
diff --git a/.github/workflows/publish_docker_runner.yml b/.github/workflows/publish_docker_runner.yml
index 77f1c4140..d282f434f 100644
--- a/.github/workflows/publish_docker_runner.yml
+++ b/.github/workflows/publish_docker_runner.yml
@@ -25,30 +25,3 @@ jobs:
     - name: Push new ci-release-test Docker image
       if: github.ref != 'refs/heads/main'
       run: bash ./starter_scripts/push_docker_runner_image.sh "ci-release-test"
-
-  publish-test-container:
-    needs: publish
-
-    runs-on: ubuntu-latest
-    environment: publish
-    steps:
-      - uses: actions/checkout@v3
-      - name: Build TestContainer
-        run: ./start-test-env build-test-container --force-rebuild
-      - name: Push TestContainer image
-        if: github.ref == 'refs/heads/main'
-        run: |
-          ./start-test-env push-test-container --source-docker-username "$SECRET_DOCKER_USER_NAME" --target-docker-username "$SECRET_DOCKER_USER_NAME" --force-push
-        env: # Set the secret as an input
-          SECRET_DOCKER_USER_NAME: ${{ secrets.DOCKER_USER_NAME }}
-          TARGET_DOCKER_PASSWORD: ${{ secrets.DOCKER_TOKEN }}
-          SOURCE_DOCKER_PASSWORD: ${{ secrets.DOCKER_TOKEN }}
-      - name: Push  ci-release-test TestContainer image
-        if: github.ref != 'refs/heads/main'
-        run: |
-          ./start-test-env push-test-container --source-docker-username "$SECRET_DOCKER_USER_NAME" --target-docker-username "$SECRET_DOCKER_USER_NAME" --force-push --source-docker-tag-prefix ci_release_test --target-docker-tag-prefix ci_release_test
-        env: # Set the secret as an input
-          SECRET_DOCKER_USER_NAME: ${{ secrets.DOCKER_USER_NAME }}
-          TARGET_DOCKER_PASSWORD: ${{ secrets.DOCKER_TOKEN }}
-          SOURCE_DOCKER_PASSWORD: ${{ secrets.DOCKER_TOKEN }}
-
diff --git a/README.md b/README.md
index 4ff5df785..bc9a33026 100644
--- a/README.md
+++ b/README.md
@@ -2,16 +2,16 @@
 
 ## About
 
-This project provides a command line interface to start a test environment with an [Exasol Docker-DB](https://hub.docker.com/r/exasol/docker-db). It starts an Exasol Docker-DB container and an associated test container where [EXAPlus CLI](https://docs.exasol.com/connect_exasol/sql_clients/exaplus_cli/exaplus_cli.htm) and  the [Exasol ODBC driver](https://docs.exasol.com/connect_exasol/drivers/odbc.htm) are already installed.
+This project provides a command line interface and a Python API layer to start a test environment with an [Exasol Docker-DB](https://hub.docker.com/r/exasol/docker-db). Both start an Exasol Docker-DB container, but the API Layer has extended functionality and also can start an associated test container for whose content the client is responsible.
 
-Both containers exist in the same Docker network. This allows you to connect from the test container to the Docker-DB container. Furthermore, the database gets populated with some test data. You can find the test data under `tests/test/enginedb_small/import.sql`. Besides the test container, you can also access the Exasol database and the Bucket-FS from the host via forwarded ports.
+Both containers exist in the same Docker network. This allows you to connect from the test container to the Docker-DB container. Furthermore, this package provides two utility tasks which allow the population of some test data and upload of files to the BucketFS. Besides the test container, you can also access the Exasol database and the Bucket-FS from the host via forwarded ports.
 
 ### Comparison to Docker-DB and the Exasol Testcontainers
 
-* This project uses the [Docker-DB](https://hub.docker.com/r/exasol/docker-db), but it does the configuration, setup and startup for you. For example, it waits until the Database and the Bucket-FS accept connections. It also populates the database with test data and provides with the test container as an environment to access the database.
-* The [Exasol Testcontainers](https://github.com/exasol/exasol-testcontainers/) provide similar features for Java integration tests, so if you have an Java project use the Exasol Testcontainer, because they are more integrated in the Java ecosystem then this project. Testcontainers are designed to integrate with popular unit testing frameworks like [JUnit4](https://www.testcontainers.org/test_framework_integration/junit_4/), [JUnit5](https://www.testcontainers.org/test_framework_integration/junit_5/) and [Spock](https://www.testcontainers.org/test_framework_integration/spock/). Most notably, lifecycle management of containers controlled by the tests lifecycle.
+* This project uses the [Docker-DB](https://hub.docker.com/r/exasol/docker-db), but it does the configuration, setup and startup for you. For example, it waits until the Database and the Bucket-FS accept connections. It also provides tasks which simplify the population the database with test data and upload of files to the BucketFS.
+* The [Exasol Testcontainers](https://github.com/exasol/exasol-testcontainers/) provide similar features for Java integration tests, so if you have a Java project use the Exasol Testcontainer, because they are more integrated in the Java ecosystem than this project. Testcontainers are designed to integrate with popular unit testing frameworks like [JUnit4](https://www.testcontainers.org/test_framework_integration/junit_4/), [JUnit5](https://www.testcontainers.org/test_framework_integration/junit_5/) and [Spock](https://www.testcontainers.org/test_framework_integration/spock/). Most notably, lifecycle management of containers controlled by the tests lifecycle.
 
-However, if you have a project in any other language you can use this project to start a test Exasol database via a command line interface.
+However, if you have a project in any other language you can use this project to start a test Exasol database via a command line interface. And if you have a Python project, you also have the possibility to start the additional test-container, which is started in the same docker network as the database.
 
 ## Prerequisites
 
@@ -55,9 +55,7 @@ The following options are available to customize the test environment.
 ```
 Usage: main.py spawn-test-environment [OPTIONS]
 
-  This command spawn a test environment with a docker-db container and a
-  connected test-container. The test-container is reachable by the database
-  for output redirects of UDFs.
+  This command spawn a test environment with a docker-db container.
 
 Options:
   --environment-name TEXT         Name of the docker environment. This name
@@ -90,15 +88,6 @@ Options:
                                   for resolving domain names. You can repeat
                                   this option to add further nameservers.
 
-  --deactivate-database-setup / --no-deactivate-database-setup
-                                  Deactivates the setup of the spawned
-                                  database, this means no data get populated
-                                  and no JDBC drivers get uploaded. This can
-                                  be used either to save time or as a
-                                  workaround for MacOSX where the
-                                  test_container seems not to be able to
-                                  access the tests directory  [default: False]
-
   --docker-runtime TEXT           The docker runtime used to start all
                                   containers
 
@@ -135,9 +124,7 @@ Options:
   --help  Show this message and exit.
 
 Commands:
-  build-test-container    This command builds all stages of the test...
   health                  Check the health of the execution environment.
-  push-test-container     This command pushs all stages of the test...
   spawn-test-environment  This command spawn a test environment with a...
 ```
 
@@ -158,6 +145,10 @@ Options:
   --help  Show this message and exit.
 ```
 
+### The integration-test-docker-environment API
+
+t.b.d. *Link to sphinx documentation*
+
 ### Default Credentials
 
 The default credentials for the database are
diff --git a/doc/changes/changes_0.12.0.md b/doc/changes/changes_0.12.0.md
index cee7b27d5..08ae29a83 100644
--- a/doc/changes/changes_0.12.0.md
+++ b/doc/changes/changes_0.12.0.md
@@ -26,8 +26,9 @@ TBD
 
 ## Features / Enhancements:
 
-- #221:  Add support for exasol 7.1.10
-- #223:  Updated docker-db versions
+- #221: Add support for exasol 7.1.10
+- #223: Updated docker-db versions
+- #168: Implemented injection of external test container via CLI
 
 ## Refactoring:
 
diff --git a/poetry.lock b/poetry.lock
index 80a1f5a9f..1fb4e0dcd 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -8,7 +8,7 @@ python-versions = ">=3.6"
 
 [[package]]
 name = "charset-normalizer"
-version = "2.1.0"
+version = "2.1.1"
 description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
 category = "main"
 optional = false
@@ -38,19 +38,20 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
 
 [[package]]
 name = "docker"
-version = "5.0.3"
+version = "6.0.0"
 description = "A Python library for the Docker Engine API."
 category = "main"
 optional = false
-python-versions = ">=3.6"
+python-versions = ">=3.7"
 
 [package.dependencies]
-requests = ">=2.14.2,<2.18.0 || >2.18.0"
+packaging = ">=14.0"
+requests = ">=2.26.0"
+urllib3 = ">=1.26.0"
 websocket-client = ">=0.32.0"
 
 [package.extras]
-tls = ["pyOpenSSL (>=17.5.0)", "cryptography (>=3.4.7)", "idna (>=2.0.0)"]
-ssh = ["paramiko (>=2.4.2)"]
+ssh = ["paramiko (>=2.4.3)"]
 
 [[package]]
 name = "docutils"
@@ -60,6 +61,22 @@ category = "main"
 optional = false
 python-versions = ">=3.7"
 
+[[package]]
+name = "exasol-bucketfs-utils-python"
+version = "0.3.0"
+description = "BucketFS utilities for the Python programming language"
+category = "main"
+optional = false
+python-versions = ">=3.8,<4.0"
+
+[package.dependencies]
+joblib = ">=1.0.1"
+requests = ">=2.24.0"
+typeguard = ">=2.11.1"
+
+[package.source]
+type = "url"
+url = "https://github.com/exasol/bucketfs-utils-python/releases/download/0.3.0/exasol_bucketfs_utils_python-0.3.0-py3-none-any.whl"
 [[package]]
 name = "gitdb"
 version = "4.0.9"
@@ -72,7 +89,7 @@ python-versions = ">=3.6"
 smmap = ">=3.0.1,<6"
 
 [[package]]
-name = "gitpython"
+name = "GitPython"
 version = "3.1.27"
 description = "GitPython is a python library used to interact with Git repositories"
 category = "main"
@@ -102,7 +119,22 @@ optional = false
 python-versions = ">=3.5"
 
 [[package]]
-name = "jinja2"
+name = "importlib-resources"
+version = "5.9.0"
+description = "Read resources from Python packages"
+category = "main"
+optional = false
+python-versions = ">=3.7"
+
+[package.dependencies]
+zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""}
+
+[package.extras]
+docs = ["jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx"]
+testing = ["pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"]
+
+[[package]]
+name = "Jinja2"
 version = "3.1.2"
 description = "A very fast and expressive template engine."
 category = "main"
@@ -115,6 +147,14 @@ MarkupSafe = ">=2.0"
 [package.extras]
 i18n = ["Babel (>=2.7)"]
 
+[[package]]
+name = "joblib"
+version = "1.1.0"
+description = "Lightweight pipelining with Python functions"
+category = "main"
+optional = false
+python-versions = ">=3.6"
+
 [[package]]
 name = "jsonpickle"
 version = "2.2.0"
@@ -124,9 +164,9 @@ optional = false
 python-versions = ">=2.7"
 
 [package.extras]
-docs = ["sphinx", "jaraco.packaging (>=3.2)", "rst.linker (>=1.9)"]
+docs = ["jaraco.packaging (>=3.2)", "rst.linker (>=1.9)", "sphinx"]
+testing = ["ecdsa", "enum34", "feedparser", "jsonlib", "numpy", "pandas", "pymongo", "pytest (>=3.5,!=3.7.3)", "pytest-black-multipy", "pytest-checkdocs (>=1.2.3)", "pytest-cov", "pytest-flake8 (<1.1.0)", "pytest-flake8 (>=1.1.1)", "scikit-learn", "sqlalchemy"]
 "testing.libs" = ["simplejson", "ujson", "yajl"]
-testing = ["pytest (>=3.5,!=3.7.3)", "pytest-checkdocs (>=1.2.3)", "pytest-black-multipy", "pytest-cov", "ecdsa", "feedparser", "numpy", "pandas", "pymongo", "scikit-learn", "sqlalchemy", "pytest-flake8 (<1.1.0)", "enum34", "jsonlib", "pytest-flake8 (>=1.1.1)"]
 
 [[package]]
 name = "lockfile"
@@ -138,7 +178,7 @@ python-versions = "*"
 
 [[package]]
 name = "luigi"
-version = "3.1.0"
+version = "3.1.1"
 description = "Workflow mgmgt + task scheduling + dependency resolution."
 category = "main"
 optional = false
@@ -155,7 +195,7 @@ prometheus = ["prometheus-client (>=0.5,<0.15)"]
 toml = ["toml (<2.0.0)"]
 
 [[package]]
-name = "markupsafe"
+name = "MarkupSafe"
 version = "2.1.1"
 description = "Safely add untrusted strings to HTML/XML markup."
 category = "main"
@@ -172,18 +212,29 @@ python-versions = "*"
 
 [[package]]
 name = "networkx"
-version = "2.8.5"
+version = "2.8.6"
 description = "Python package for creating and manipulating graphs and networks"
 category = "main"
 optional = false
 python-versions = ">=3.8"
 
 [package.extras]
-default = ["numpy (>=1.19)", "scipy (>=1.8)", "matplotlib (>=3.4)", "pandas (>=1.3)"]
-doc = ["sphinx (>=5)", "pydata-sphinx-theme (>=0.9)", "sphinx-gallery (>=0.10)", "numpydoc (>=1.4)", "pillow (>=9.1)", "nb2plots (>=0.6)", "texext (>=0.6.6)"]
-test = ["pytest (>=7.1)", "pytest-cov (>=3.0)", "codecov (>=2.1)"]
-developer = ["pre-commit (>=2.19)", "mypy (>=0.960)"]
-extra = ["lxml (>=4.6)", "pygraphviz (>=1.9)", "pydot (>=1.4.2)", "sympy (>=1.10)"]
+default = ["matplotlib (>=3.4)", "numpy (>=1.19)", "pandas (>=1.3)", "scipy (>=1.8)"]
+developer = ["mypy (>=0.961)", "pre-commit (>=2.20)"]
+doc = ["nb2plots (>=0.6)", "numpydoc (>=1.4)", "pillow (>=9.1)", "pydata-sphinx-theme (>=0.9)", "sphinx (>=5)", "sphinx-gallery (>=0.10)", "texext (>=0.6.6)"]
+extra = ["lxml (>=4.6)", "pydot (>=1.4.2)", "pygraphviz (>=1.9)", "sympy (>=1.10)"]
+test = ["codecov (>=2.1)", "pytest (>=7.1)", "pytest-cov (>=3.0)"]
+
+[[package]]
+name = "packaging"
+version = "21.3"
+description = "Core utilities for Python packages"
+category = "main"
+optional = false
+python-versions = ">=3.6"
+
+[package.dependencies]
+pyparsing = ">=2.0.2,<3.0.5 || >3.0.5"
 
 [[package]]
 name = "pydot"
@@ -205,7 +256,7 @@ optional = false
 python-versions = ">=3.6.8"
 
 [package.extras]
-diagrams = ["railroad-diagrams", "jinja2"]
+diagrams = ["jinja2", "railroad-diagrams"]
 
 [[package]]
 name = "pyreadline3"
@@ -226,6 +277,7 @@ python-versions = "*"
 [package.dependencies]
 docutils = "*"
 lockfile = ">=0.10"
+setuptools = "*"
 
 [package.extras]
 test = ["coverage", "docutils", "testscenarios (>=0.4)", "testtools"]
@@ -256,8 +308,21 @@ idna = ">=2.5,<4"
 urllib3 = ">=1.21.1,<1.27"
 
 [package.extras]
-use_chardet_on_py3 = ["chardet (>=3.0.2,<6)"]
 socks = ["PySocks (>=1.5.6,!=1.5.7)"]
+use_chardet_on_py3 = ["chardet (>=3.0.2,<6)"]
+
+[[package]]
+name = "setuptools"
+version = "65.3.0"
+description = "Easily download, build, install, upgrade, and uninstall Python packages"
+category = "main"
+optional = false
+python-versions = ">=3.7"
+
+[package.extras]
+docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-notfound-page (==0.8.3)", "sphinx-reredirects", "sphinxcontrib-towncrier"]
+testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8 (<5)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "mock", "pip (>=19.1)", "pip-run (>=8.8)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"]
+testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"]
 
 [[package]]
 name = "simplejson"
@@ -285,7 +350,7 @@ python-versions = ">=3.6"
 
 [[package]]
 name = "stopwatch.py"
-version = "2.0.0"
+version = "2.0.1"
 description = "A simple stopwatch for python"
 category = "main"
 optional = false
@@ -318,36 +383,60 @@ category = "main"
 optional = false
 python-versions = ">= 3.7"
 
+[[package]]
+name = "typeguard"
+version = "2.13.3"
+description = "Run-time type checker for Python"
+category = "main"
+optional = false
+python-versions = ">=3.5.3"
+
+[package.extras]
+doc = ["sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd-theme"]
+test = ["mypy", "pytest", "typing-extensions"]
+
 [[package]]
 name = "urllib3"
-version = "1.26.11"
+version = "1.26.12"
 description = "HTTP library with thread-safe connection pooling, file post, and more."
 category = "main"
 optional = false
 python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, <4"
 
 [package.extras]
-brotli = ["brotlicffi (>=0.8.0)", "brotli (>=1.0.9)", "brotlipy (>=0.6.0)"]
-secure = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "certifi", "ipaddress"]
+brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)", "brotlipy (>=0.6.0)"]
+secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "ipaddress", "pyOpenSSL (>=0.14)", "urllib3-secure-extra"]
 socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"]
 
 [[package]]
 name = "websocket-client"
-version = "1.3.3"
+version = "1.4.1"
 description = "WebSocket client for Python with low level API options"
 category = "main"
 optional = false
 python-versions = ">=3.7"
 
 [package.extras]
-test = ["websockets"]
 docs = ["Sphinx (>=3.4)", "sphinx-rtd-theme (>=0.5)"]
 optional = ["python-socks", "wsaccel"]
+test = ["websockets"]
+
+[[package]]
+name = "zipp"
+version = "3.8.1"
+description = "Backport of pathlib-compatible object wrapper for zip files"
+category = "main"
+optional = false
+python-versions = ">=3.7"
+
+[package.extras]
+docs = ["jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx"]
+testing = ["func-timeout", "jaraco.itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"]
 
 [metadata]
 lock-version = "1.1"
 python-versions = ">=3.8,<4"
-content-hash = "5bf35a9683d3809e74fe10df4fed37ef58c8bfe2507441870f3c901bd99836ad"
+content-hash = "3ad6fa8eb2d2e9329b33db9ab6cd220d8071e1d47a439ac37e88afad5c881184"
 
 [metadata.files]
 certifi = [
@@ -355,8 +444,8 @@ certifi = [
     {file = "certifi-2022.6.15.tar.gz", hash = "sha256:84c85a9078b11105f04f3036a9482ae10e4621616db313fe045dd24743a0820d"},
 ]
 charset-normalizer = [
-    {file = "charset-normalizer-2.1.0.tar.gz", hash = "sha256:575e708016ff3a5e3681541cb9d79312c416835686d054a23accb873b254f413"},
-    {file = "charset_normalizer-2.1.0-py3-none-any.whl", hash = "sha256:5189b6f22b01957427f35b6a08d9a0bc45b46d3788ef5a92e978433c7a35f8a5"},
+    {file = "charset-normalizer-2.1.1.tar.gz", hash = "sha256:5a3d016c7c547f69d6f81fb0db9449ce888b418b5b9952cc5e6e66843e9dd845"},
+    {file = "charset_normalizer-2.1.1-py3-none-any.whl", hash = "sha256:83e9a75d1911279afd89352c68b45348559d1fc0506b054b346651b5e7fee29f"},
 ]
 click = [
     {file = "click-8.1.3-py3-none-any.whl", hash = "sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48"},
@@ -367,18 +456,19 @@ colorama = [
     {file = "colorama-0.4.5.tar.gz", hash = "sha256:e6c6b4334fc50988a639d9b98aa429a0b57da6e17b9a44f0451f930b6967b7a4"},
 ]
 docker = [
-    {file = "docker-5.0.3-py2.py3-none-any.whl", hash = "sha256:7a79bb439e3df59d0a72621775d600bc8bc8b422d285824cb37103eab91d1ce0"},
-    {file = "docker-5.0.3.tar.gz", hash = "sha256:d916a26b62970e7c2f554110ed6af04c7ccff8e9f81ad17d0d40c75637e227fb"},
+    {file = "docker-6.0.0-py3-none-any.whl", hash = "sha256:6e06ee8eca46cd88733df09b6b80c24a1a556bc5cb1e1ae54b2c239886d245cf"},
+    {file = "docker-6.0.0.tar.gz", hash = "sha256:19e330470af40167d293b0352578c1fa22d74b34d3edf5d4ff90ebc203bbb2f1"},
 ]
 docutils = [
     {file = "docutils-0.19-py3-none-any.whl", hash = "sha256:5e1de4d849fee02c63b040a4a3fd567f4ab104defd8a5511fbbc24a8a017efbc"},
     {file = "docutils-0.19.tar.gz", hash = "sha256:33995a6753c30b7f577febfc2c50411fec6aac7f7ffeb7c4cfe5991072dcf9e6"},
 ]
+exasol-bucketfs-utils-python = []
 gitdb = [
     {file = "gitdb-4.0.9-py3-none-any.whl", hash = "sha256:8033ad4e853066ba6ca92050b9df2f89301b8fc8bf7e9324d412a63f8bf1a8fd"},
     {file = "gitdb-4.0.9.tar.gz", hash = "sha256:bac2fd45c0a1c9cf619e63a90d62bdc63892ef92387424b855792a6cabe789aa"},
 ]
-gitpython = [
+GitPython = [
     {file = "GitPython-3.1.27-py3-none-any.whl", hash = "sha256:5b68b000463593e05ff2b261acff0ff0972df8ab1b70d3cdbd41b546c8b8fc3d"},
     {file = "GitPython-3.1.27.tar.gz", hash = "sha256:1c885ce809e8ba2d88a29befeb385fcea06338d3640712b59ca623c220bb5704"},
 ]
@@ -390,10 +480,18 @@ idna = [
     {file = "idna-3.3-py3-none-any.whl", hash = "sha256:84d9dd047ffa80596e0f246e2eab0b391788b0503584e8945f2368256d2735ff"},
     {file = "idna-3.3.tar.gz", hash = "sha256:9d643ff0a55b762d5cdb124b8eaa99c66322e2157b69160bc32796e824360e6d"},
 ]
-jinja2 = [
+importlib-resources = [
+    {file = "importlib_resources-5.9.0-py3-none-any.whl", hash = "sha256:f78a8df21a79bcc30cfd400bdc38f314333de7c0fb619763f6b9dabab8268bb7"},
+    {file = "importlib_resources-5.9.0.tar.gz", hash = "sha256:5481e97fb45af8dcf2f798952625591c58fe599d0735d86b10f54de086a61681"},
+]
+Jinja2 = [
     {file = "Jinja2-3.1.2-py3-none-any.whl", hash = "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61"},
     {file = "Jinja2-3.1.2.tar.gz", hash = "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852"},
 ]
+joblib = [
+    {file = "joblib-1.1.0-py2.py3-none-any.whl", hash = "sha256:f21f109b3c7ff9d95f8387f752d0d9c34a02aa2f7060c2135f465da0e5160ff6"},
+    {file = "joblib-1.1.0.tar.gz", hash = "sha256:4158fcecd13733f8be669be0683b96ebdbbd38d23559f54dca7205aea1bf1e35"},
+]
 jsonpickle = [
     {file = "jsonpickle-2.2.0-py2.py3-none-any.whl", hash = "sha256:de7f2613818aa4f234138ca11243d6359ff83ae528b2185efdd474f62bcf9ae1"},
     {file = "jsonpickle-2.2.0.tar.gz", hash = "sha256:7b272918b0554182e53dc340ddd62d9b7f902fec7e7b05620c04f3ccef479a0e"},
@@ -403,9 +501,9 @@ lockfile = [
     {file = "lockfile-0.12.2.tar.gz", hash = "sha256:6aed02de03cba24efabcd600b30540140634fc06cfa603822d508d5361e9f799"},
 ]
 luigi = [
-    {file = "luigi-3.1.0.tar.gz", hash = "sha256:1ae7d76e6f8889e9ed40c699891f990eb6697c974eeaf8ab010f0dfc3766adf1"},
+    {file = "luigi-3.1.1.tar.gz", hash = "sha256:29961582db2704d8df4ec01f6b8f7f0d529cc8f27cff67733ccd809299771218"},
 ]
-markupsafe = [
+MarkupSafe = [
     {file = "MarkupSafe-2.1.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:86b1f75c4e7c2ac2ccdaec2b9022845dbb81880ca318bb7a0a01fbf7813e3812"},
     {file = "MarkupSafe-2.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f121a1420d4e173a5d96e47e9a0c0dcff965afdf1626d28de1460815f7c4ee7a"},
     {file = "MarkupSafe-2.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a49907dd8420c5685cfa064a1335b6754b74541bbb3706c259c02ed65b644b3e"},
@@ -452,8 +550,12 @@ netaddr = [
     {file = "netaddr-0.8.0.tar.gz", hash = "sha256:d6cc57c7a07b1d9d2e917aa8b36ae8ce61c35ba3fcd1b83ca31c5a0ee2b5a243"},
 ]
 networkx = [
-    {file = "networkx-2.8.5-py3-none-any.whl", hash = "sha256:a762f4b385692d9c3a6f2912d058d76d29a827deaedf9e63ed14d397b8030687"},
-    {file = "networkx-2.8.5.tar.gz", hash = "sha256:15a7b81a360791c458c55a417418ea136c13378cfdc06a2dcdc12bd2f9cf09c1"},
+    {file = "networkx-2.8.6-py3-none-any.whl", hash = "sha256:2a30822761f34d56b9a370d96a4bf4827a535f5591a4078a453425caeba0c5bb"},
+    {file = "networkx-2.8.6.tar.gz", hash = "sha256:bd2b7730300860cbd2dafe8e5af89ff5c9a65c3975b352799d87a6238b4301a6"},
+]
+packaging = [
+    {file = "packaging-21.3-py3-none-any.whl", hash = "sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522"},
+    {file = "packaging-21.3.tar.gz", hash = "sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb"},
 ]
 pydot = [
     {file = "pydot-1.4.2-py2.py3-none-any.whl", hash = "sha256:66c98190c65b8d2e2382a441b4c0edfdb4f4c025ef9cb9874de478fb0793a451"},
@@ -479,6 +581,10 @@ requests = [
     {file = "requests-2.28.1-py3-none-any.whl", hash = "sha256:8fefa2a1a1365bf5520aac41836fbee479da67864514bdb821f31ce07ce65349"},
     {file = "requests-2.28.1.tar.gz", hash = "sha256:7c5599b102feddaa661c826c56ab4fee28bfd17f5abca1ebbe3e7f19d7c97983"},
 ]
+setuptools = [
+    {file = "setuptools-65.3.0-py3-none-any.whl", hash = "sha256:2e24e0bec025f035a2e72cdd1961119f557d78ad331bb00ff82efb2ab8da8e82"},
+    {file = "setuptools-65.3.0.tar.gz", hash = "sha256:7732871f4f7fa58fb6bdcaeadb0161b2bd046c85905dbaa066bdcbcc81953b57"},
+]
 simplejson = [
     {file = "simplejson-3.17.6-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:a89acae02b2975b1f8e4974cb8cdf9bf9f6c91162fb8dec50c259ce700f2770a"},
     {file = "simplejson-3.17.6-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:82ff356ff91be0ab2293fc6d8d262451eb6ac4fd999244c4b5f863e049ba219c"},
@@ -551,8 +657,8 @@ smmap = [
     {file = "smmap-5.0.0.tar.gz", hash = "sha256:c840e62059cd3be204b0c9c9f74be2c09d5648eddd4580d9314c3ecde0b30936"},
 ]
 "stopwatch.py" = [
-    {file = "stopwatch.py-2.0.0-py3-none-any.whl", hash = "sha256:03ab3ee2876900cca1b830a2bcc4b1d29c536255724c6b0f5cb308992558d910"},
-    {file = "stopwatch.py-2.0.0.tar.gz", hash = "sha256:feb213b636135bcd377e889b27108038d0eaf3e781764c39c59e982863a5f676"},
+    {file = "stopwatch.py-2.0.1-py3-none-any.whl", hash = "sha256:5802a0178d766120c11dd5df8ae838e9beccb8c88329dbd5f0f7ac4b7fed9107"},
+    {file = "stopwatch.py-2.0.1.tar.gz", hash = "sha256:8cc94ba0f6469d434eabd8b227166e595fd42350e7f66dbf1a1a80697f60cc79"},
 ]
 tenacity = [
     {file = "tenacity-8.0.1-py3-none-any.whl", hash = "sha256:f78f4ea81b0fabc06728c11dc2a8c01277bfc5181b321a4770471902e3eb844a"},
@@ -575,11 +681,19 @@ tornado = [
     {file = "tornado-6.2-cp37-abi3-win_amd64.whl", hash = "sha256:e5f923aa6a47e133d1cf87d60700889d7eae68988704e20c75fb2d65677a8e4b"},
     {file = "tornado-6.2.tar.gz", hash = "sha256:9b630419bde84ec666bfd7ea0a4cb2a8a651c2d5cccdbdd1972a0c859dfc3c13"},
 ]
+typeguard = [
+    {file = "typeguard-2.13.3-py3-none-any.whl", hash = "sha256:5e3e3be01e887e7eafae5af63d1f36c849aaa94e3a0112097312aabfa16284f1"},
+    {file = "typeguard-2.13.3.tar.gz", hash = "sha256:00edaa8da3a133674796cf5ea87d9f4b4c367d77476e185e80251cc13dfbb8c4"},
+]
 urllib3 = [
-    {file = "urllib3-1.26.11-py2.py3-none-any.whl", hash = "sha256:c33ccba33c819596124764c23a97d25f32b28433ba0dedeb77d873a38722c9bc"},
-    {file = "urllib3-1.26.11.tar.gz", hash = "sha256:ea6e8fb210b19d950fab93b60c9009226c63a28808bc8386e05301e25883ac0a"},
+    {file = "urllib3-1.26.12-py2.py3-none-any.whl", hash = "sha256:b930dd878d5a8afb066a637fbb35144fe7901e3b209d1cd4f524bd0e9deee997"},
+    {file = "urllib3-1.26.12.tar.gz", hash = "sha256:3fa96cf423e6987997fc326ae8df396db2a8b7c667747d47ddd8ecba91f4a74e"},
 ]
 websocket-client = [
-    {file = "websocket-client-1.3.3.tar.gz", hash = "sha256:d58c5f284d6a9bf8379dab423259fe8f85b70d5fa5d2916d5791a84594b122b1"},
-    {file = "websocket_client-1.3.3-py3-none-any.whl", hash = "sha256:5d55652dc1d0b3c734f044337d929aaf83f4f9138816ec680c1aefefb4dc4877"},
+    {file = "websocket-client-1.4.1.tar.gz", hash = "sha256:f9611eb65c8241a67fb373bef040b3cf8ad377a9f6546a12b620b6511e8ea9ef"},
+    {file = "websocket_client-1.4.1-py3-none-any.whl", hash = "sha256:398909eb7e261f44b8f4bd474785b6ec5f5b499d4953342fe9755e01ef624090"},
+]
+zipp = [
+    {file = "zipp-3.8.1-py3-none-any.whl", hash = "sha256:47c40d7fe183a6f21403a199b3e4192cca5774656965b0a4988ad2f8feb5f009"},
+    {file = "zipp-3.8.1.tar.gz", hash = "sha256:05b45f1ee8f807d0cc928485ca40a07cb491cf092ff587c0df9cb1fd154848d2"},
 ]
diff --git a/pyproject.toml b/pyproject.toml
index e7dbcc47a..5d7a46b1d 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -34,7 +34,10 @@ networkx = ">=2.3"
 pydot = ">=1.4.0"
 requests = ">=2.21.0"
 simplejson = ">=3.16.0"
+importlib_resources = ">=5.4.0" #Needed to copy resource files, can be removed after upgrading to Python 3.9 (see https://docs.python.org/3.11/library/importlib.resources.html#importlib.resources.files)
 "stopwatch.py" = ">=1.0.0"
+exasol-bucketfs-utils-python = {url = "https://github.com/exasol/bucketfs-utils-python/releases/download/0.3.0/exasol_bucketfs_utils_python-0.3.0-py3-none-any.whl"}
+
 
 
 [tool.poetry.dev-dependencies]
diff --git a/setup.py b/setup.py
index a7199aa0f..a76f2ffed 100644
--- a/setup.py
+++ b/setup.py
@@ -23,14 +23,18 @@
  'exasol_integration_test_docker_environment.lib.docker.volumes',
  'exasol_integration_test_docker_environment.lib.logging',
  'exasol_integration_test_docker_environment.lib.test_environment',
+ 'exasol_integration_test_docker_environment.lib.test_environment.create_certificates',
  'exasol_integration_test_docker_environment.lib.test_environment.database_setup',
  'exasol_integration_test_docker_environment.lib.test_environment.database_waiters',
  'exasol_integration_test_docker_environment.lib.test_environment.parameter',
+ 'exasol_integration_test_docker_environment.lib.utils',
  'exasol_integration_test_docker_environment.testing']
 
 package_data = \
 {'': ['*'],
- 'exasol_integration_test_docker_environment': ['docker_db_config/7.0.0/*',
+ 'exasol_integration_test_docker_environment': ['certificate_resources/*',
+                                                'certificate_resources/container/*',
+                                                'docker_db_config/7.0.0/*',
                                                 'docker_db_config/7.0.1/*',
                                                 'docker_db_config/7.0.10/*',
                                                 'docker_db_config/7.0.11/*',
@@ -62,13 +66,15 @@
                                                 'docker_db_config/7.1.7/*',
                                                 'docker_db_config/7.1.8/*',
                                                 'docker_db_config/7.1.9/*',
-                                                'templates/*',
-                                                'test_container_config/*']}
+                                                'templates/*']}
 
 install_requires = \
 ['click>=7.0',
+ 'exasol-bucketfs-utils-python @ '
+ 'https://github.com/exasol/bucketfs-utils-python/releases/download/0.3.0/exasol_bucketfs_utils_python-0.3.0-py3-none-any.whl',
  'gitpython>=2.1.0',
  'humanfriendly>=4.18',
+ 'importlib_resources>=5.4.0',
  'jinja2>=2.10.1',
  'jsonpickle>=1.1',
  'luigi>=2.8.4',
@@ -86,7 +92,7 @@
     'name': 'exasol-integration-test-docker-environment',
     'version': '0.12.0',
     'description': 'Integration Test Docker Environment for Exasol',
-    'long_description': '# Integration Test Docker Environment\n\n## About\n\nThis project provides a command line interface to start a test environment with an [Exasol Docker-DB](https://hub.docker.com/r/exasol/docker-db). It starts an Exasol Docker-DB container and an associated test container where [EXAPlus CLI](https://docs.exasol.com/connect_exasol/sql_clients/exaplus_cli/exaplus_cli.htm) and  the [Exasol ODBC driver](https://docs.exasol.com/connect_exasol/drivers/odbc.htm) are already installed.\n\nBoth containers exist in the same Docker network. This allows you to connect from the test container to the Docker-DB container. Furthermore, the database gets populated with some test data. You can find the test data under `tests/test/enginedb_small/import.sql`. Besides the test container, you can also access the Exasol database and the Bucket-FS from the host via forwarded ports.\n\n### Comparison to Docker-DB and the Exasol Testcontainers\n\n* This project uses the [Docker-DB](https://hub.docker.com/r/exasol/docker-db), but it does the configuration, setup and startup for you. For example, it waits until the Database and the Bucket-FS accept connections. It also populates the database with test data and provides with the test container as an environment to access the database.\n* The [Exasol Testcontainers](https://github.com/exasol/exasol-testcontainers/) provide similar features for Java integration tests, so if you have an Java project use the Exasol Testcontainer, because they are more integrated in the Java ecosystem then this project. Testcontainers are designed to integrate with popular unit testing frameworks like [JUnit4](https://www.testcontainers.org/test_framework_integration/junit_4/), [JUnit5](https://www.testcontainers.org/test_framework_integration/junit_5/) and [Spock](https://www.testcontainers.org/test_framework_integration/spock/). Most notably, lifecycle management of containers controlled by the tests lifecycle.\n\nHowever, if you have a project in any other language you can use this project to start a test Exasol database via a command line interface.\n\n## Prerequisites\n\nIn order to start a Docker-DB Test Environment, you need:\n\n* Tested Operating System:\n  * Linux\n  * Mac OS X with [Docker Desktop on Mac](https://docs.docker.com/docker-for-mac/install/) and Intel processor\n  * Windows is currently **not supported**\n* Docker with privileged mode\n* At least 2 GiB RAM\n* We recommend at least 15 GB free disk space on the partition \n  where Docker stores its images and containers. On Linux Docker typically stores \n  the images under `/var/lib/docker`.\n\n## Getting started\n\nClone the repository\n\n```\ngit clone https://github.com/exasol/integration-test-docker-environment\n```\n\nStarting the test environment:\n\n```\n./start-test-env spawn-test-environment --environment-name <NAME>\n```\nor if you work on the code of the Test Environment (requires Python >=3.8 with [poetry](https://python-poetry.org/)):\n\n```\n./start-test-env-with-poetry spawn-test-environment --environment-name <NAME>\n```\n\nShutdown of the test environment is currently done manual.\n\n### Options\n\nThe following options are available to customize the test environment. \n\n```\nUsage: main.py spawn-test-environment [OPTIONS]\n\n  This command spawn a test environment with a docker-db container and a\n  connected test-container. The test-container is reachable by the database\n  for output redirects of UDFs.\n\nOptions:\n  --environment-name TEXT         Name of the docker environment. This name\n                                  gets used as suffix for the container\n                                  db_container_<name> and\n                                  test_container_<name>  [required]\n\n  --database-port-forward INTEGER\n                                  Host port to which the database port gets\n                                  forwarded\n\n  --bucketfs-port-forward INTEGER\n                                  Host port to which the BucketFS port gets\n                                  forwarded\n\n  --db-mem-size TEXT              The main memory used by the database. Format\n                                  <number> <unit>, e.g. 1 GiB. The minimum\n                                  size is 1 GB, below that the database will\n                                  not start.  [default: 2 GiB]\n\n  --db-disk-size TEXT             The disk size available for the database.\n                                  Format <number> <unit>, e.g. 1 GiB. The\n                                  minimum size is 100 MiB. However, the setup\n                                  creates volume files with at least 2 GB\n                                  larger size, because the database needs at\n                                  least so much more disk.  [default: 2 GiB]\n\n  --nameserver TEXT               Add a nameserver to the list of DNS\n                                  nameservers which the docker-db should use\n                                  for resolving domain names. You can repeat\n                                  this option to add further nameservers.\n\n  --deactivate-database-setup / --no-deactivate-database-setup\n                                  Deactivates the setup of the spawned\n                                  database, this means no data get populated\n                                  and no JDBC drivers get uploaded. This can\n                                  be used either to save time or as a\n                                  workaround for MacOSX where the\n                                  test_container seems not to be able to\n                                  access the tests directory  [default: False]\n\n  --docker-runtime TEXT           The docker runtime used to start all\n                                  containers\n\n  --docker-db-image-version TEXT  Docker DB Image Version against which the\n                                  tests should run.  [default: 7.1.12]\n\n  --docker-db-image-name TEXT     Docker DB Image Name against which the tests\n                                  should run.  [default: exasol/docker-db]\n\n  --output-directory DIRECTORY    Output directory where the system stores all\n                                  output and log files.  [default:\n                                  .build_output]\n\n  --temporary-base-directory DIRECTORY\n                                  Directory where the system creates temporary\n                                  directories.  [default: /tmp]\n```\n\nYou can look at them on the commandline with:\n\n```\n./start-test-env spawn-test-environment --help \n```\n\n### The integration-test-docker-environment command line tool\nBesides, the already mentioned command `spawn-test-environment`, the integration-test-docker-environemnt\ncommand line tool provides a couple of other helpful tools.\n\nRun `main.py --help`, to get a list of the available commands:\n```console\nUsage: main.py [OPTIONS] COMMAND [ARGS]...\n\nOptions:\n  --help  Show this message and exit.\n\nCommands:\n  build-test-container    This command builds all stages of the test...\n  health                  Check the health of the execution environment.\n  push-test-container     This command pushs all stages of the test...\n  spawn-test-environment  This command spawn a test environment with a...\n```\n\nTo get more details on a specific command run `main.py <command> --help`,\ne.g. `main.py health --help`:\n\n```console\nUsage: main.py health [OPTIONS]\n\n  Check the health of the execution environment.\n\n  If no issues have been found, using the library or executing the test should\n  work just fine. For all found issues there will be a proposed fix/solution.\n\n  If the environment was found to be healthy the exit code will be 0.\n\nOptions:\n  --help  Show this message and exit.\n```\n\n### Default Credentials\n\nThe default credentials for the database are\n\n  * User: `sys`\n  * Password: `exasol`\n  \nand for the Bucket-FS:\n\n  * User: `w`\n  * Password: `write`\n  \nor\n\n  * User: `r`\n  * Password: `read`\n\n### Accessing the Environment Information\n\nThe python setup script creates configuration files on the host and in the test container.\n\nOn the host the container information get stored in the build output directory usually under `.build_output/cache/<ENVIRONMENT_NAME>/*`. In the test container the config file is stored at the root directory `/`.\n\nThe following config files are available:\n\n- environment_info.sh: This file is meant to be source by the bash and then provides the information as environment variables. Here an example for the content:\n\n  ```\n  export ENVIRONMENT_NAME=test\n  export ENVIRONMENT_TYPE=EnvironmentType.docker_db\n\n  # Database IP in environment docker network\n  export ENVIRONMENT_DATABASE_HOST=172.21.0.2\n  export ENVIRONMENT_DATABASE_DB_PORT=8888\n  export ENVIRONMENT_DATABASE_BUCKETFS_PORT=6583\n  export ENVIRONMENT_DATABASE_CONTAINER_NAME=db_container_test\n  export ENVIRONMENT_DATABASE_CONTAINER_NETWORK_ALIASES="exasol_test_database db_container_test"\n  # Database IP in the environment docker network\n  export ENVIRONMENT_DATABASE_CONTAINER_IP_ADDRESS=172.21.0.2\n  export ENVIRONMENT_DATABASE_CONTAINER_VOLUMNE_NAME=db_container_test_volume\n  # Database IP on the docker default bridge which under Linux available from the host\n  export ENVIRONMENT_DATABASE_CONTAINER_DEFAULT_BRIDGE_IP_ADDRESS=172.17.0.3\n\n  export ENVIRONMENT_TEST_CONTAINER_NAME=test_container_test\n  export ENVIRONMENT_TEST_CONTAINER_NETWORK_ALIASES="test_container test_container_test"\n  # Test Container IP in the environment docker network\n  export ENVIRONMENT_TEST_CONTAINER_IP_ADDRESS=172.21.0.3\n  ```\n- environment_info.json: Contains the EnvironmentInfo objects pickled with JsonPickle\n  \n### Currently supported Exasol Versions\n\n* **7.0**: up to 7.0.19 **except 7.0.5**\n* **7.1**: up to 7.1.12\n\n\nIf you need further versions, please open an issue.\n\n### Tested Docker Runtimes\n\n- Docker Default Runtime\n- [NVIDIA Container Runtime](https://github.com/NVIDIA/nvidia-container-runtime) for GPU accelerated UDFs\n\n## Mac OS X Support\n\n### What do I need to do to start the Test Environment with Mac OS X\n\nThe Exasol Docker-DB needs per default a bit more than 2 GB of RAM, however the Docker VM on Mac OS X provides often not enough RAM to accommodate this. You should increase the RAM of the Docker VM to at least 4.25 GB or reduce the DB Mem Size for the Exasol Docker-DB to less than 2 GB with `--db-mem-size 1 GiB`.\n\n### What happens under the hood\n\nMac OS X with Docker Desktop for Mac uses a lightweight virtual machine with linux in which the docker daemon runs and the containers get started. This makes [networking](https://docs.docker.com/docker-for-mac/networking/) and [shared directories](https://docs.docker.com/docker-for-mac/osxfs/) more complicated then on Linux.\n\nWe start the python setup script for the test environment in its own Docker container, lets call it `docker runner`, because the library [Luigi](https://luigi.readthedocs.io/en/stable/) can have problems with Mac OS X and to avoid the installation of further dependencies. To support Mac OS X, the `start-test-env` script starts the `docker runner` container and mounts the docker socket at `/var/run/docker.sock` and the directory of the test environment from the Mac OS X host to the container. Then, it starts `start-test-env-without-docker` which then starts the python script. It is important, that the repository gets cloned to the Mac OS X host and not to a docker container, because the python scripts tries to start further docker container which use host mounts to share the tests directory of the test environment with the docker container.\n',
+    'long_description': '# Integration Test Docker Environment\n\n## About\n\nThis project provides a command line interface and a Python API layer to start a test environment with an [Exasol Docker-DB](https://hub.docker.com/r/exasol/docker-db). Both start an Exasol Docker-DB container, but the API Layer has extended functionality and also can start an associated test container for whose content the client is responsible.\n\nBoth containers exist in the same Docker network. This allows you to connect from the test container to the Docker-DB container. Furthermore, this package provides two utility tasks which allow the population of some test data and upload of files to the BucketFS. Besides the test container, you can also access the Exasol database and the Bucket-FS from the host via forwarded ports.\n\n### Comparison to Docker-DB and the Exasol Testcontainers\n\n* This project uses the [Docker-DB](https://hub.docker.com/r/exasol/docker-db), but it does the configuration, setup and startup for you. For example, it waits until the Database and the Bucket-FS accept connections. It also provides tasks which simplify the population the database with test data and upload of files to the BucketFS.\n* The [Exasol Testcontainers](https://github.com/exasol/exasol-testcontainers/) provide similar features for Java integration tests, so if you have a Java project use the Exasol Testcontainer, because they are more integrated in the Java ecosystem than this project. Testcontainers are designed to integrate with popular unit testing frameworks like [JUnit4](https://www.testcontainers.org/test_framework_integration/junit_4/), [JUnit5](https://www.testcontainers.org/test_framework_integration/junit_5/) and [Spock](https://www.testcontainers.org/test_framework_integration/spock/). Most notably, lifecycle management of containers controlled by the tests lifecycle.\n\nHowever, if you have a project in any other language you can use this project to start a test Exasol database via a command line interface. And if you have a Python project, you also have the possibility to start the additional test-container, which is started in the same docker network as the database.\n\n## Prerequisites\n\nIn order to start a Docker-DB Test Environment, you need:\n\n* Tested Operating System:\n  * Linux\n  * Mac OS X with [Docker Desktop on Mac](https://docs.docker.com/docker-for-mac/install/) and Intel processor\n  * Windows is currently **not supported**\n* Docker with privileged mode\n* At least 2 GiB RAM\n* We recommend at least 15 GB free disk space on the partition \n  where Docker stores its images and containers. On Linux Docker typically stores \n  the images under `/var/lib/docker`.\n\n## Getting started\n\nClone the repository\n\n```\ngit clone https://github.com/exasol/integration-test-docker-environment\n```\n\nStarting the test environment:\n\n```\n./start-test-env spawn-test-environment --environment-name <NAME>\n```\nor if you work on the code of the Test Environment (requires Python >=3.8 with [poetry](https://python-poetry.org/)):\n\n```\n./start-test-env-with-poetry spawn-test-environment --environment-name <NAME>\n```\n\nShutdown of the test environment is currently done manual.\n\n### Options\n\nThe following options are available to customize the test environment. \n\n```\nUsage: main.py spawn-test-environment [OPTIONS]\n\n  This command spawn a test environment with a docker-db container.\n\nOptions:\n  --environment-name TEXT         Name of the docker environment. This name\n                                  gets used as suffix for the container\n                                  db_container_<name> and\n                                  test_container_<name>  [required]\n\n  --database-port-forward INTEGER\n                                  Host port to which the database port gets\n                                  forwarded\n\n  --bucketfs-port-forward INTEGER\n                                  Host port to which the BucketFS port gets\n                                  forwarded\n\n  --db-mem-size TEXT              The main memory used by the database. Format\n                                  <number> <unit>, e.g. 1 GiB. The minimum\n                                  size is 1 GB, below that the database will\n                                  not start.  [default: 2 GiB]\n\n  --db-disk-size TEXT             The disk size available for the database.\n                                  Format <number> <unit>, e.g. 1 GiB. The\n                                  minimum size is 100 MiB. However, the setup\n                                  creates volume files with at least 2 GB\n                                  larger size, because the database needs at\n                                  least so much more disk.  [default: 2 GiB]\n\n  --nameserver TEXT               Add a nameserver to the list of DNS\n                                  nameservers which the docker-db should use\n                                  for resolving domain names. You can repeat\n                                  this option to add further nameservers.\n\n  --docker-runtime TEXT           The docker runtime used to start all\n                                  containers\n\n  --docker-db-image-version TEXT  Docker DB Image Version against which the\n                                  tests should run.  [default: 7.1.12]\n\n  --docker-db-image-name TEXT     Docker DB Image Name against which the tests\n                                  should run.  [default: exasol/docker-db]\n\n  --output-directory DIRECTORY    Output directory where the system stores all\n                                  output and log files.  [default:\n                                  .build_output]\n\n  --temporary-base-directory DIRECTORY\n                                  Directory where the system creates temporary\n                                  directories.  [default: /tmp]\n```\n\nYou can look at them on the commandline with:\n\n```\n./start-test-env spawn-test-environment --help \n```\n\n### The integration-test-docker-environment command line tool\nBesides, the already mentioned command `spawn-test-environment`, the integration-test-docker-environemnt\ncommand line tool provides a couple of other helpful tools.\n\nRun `main.py --help`, to get a list of the available commands:\n```console\nUsage: main.py [OPTIONS] COMMAND [ARGS]...\n\nOptions:\n  --help  Show this message and exit.\n\nCommands:\n  health                  Check the health of the execution environment.\n  spawn-test-environment  This command spawn a test environment with a...\n```\n\nTo get more details on a specific command run `main.py <command> --help`,\ne.g. `main.py health --help`:\n\n```console\nUsage: main.py health [OPTIONS]\n\n  Check the health of the execution environment.\n\n  If no issues have been found, using the library or executing the test should\n  work just fine. For all found issues there will be a proposed fix/solution.\n\n  If the environment was found to be healthy the exit code will be 0.\n\nOptions:\n  --help  Show this message and exit.\n```\n\n### The integration-test-docker-environment API\n\nt.b.d. *Link to sphinx documentation*\n\n### Default Credentials\n\nThe default credentials for the database are\n\n  * User: `sys`\n  * Password: `exasol`\n  \nand for the Bucket-FS:\n\n  * User: `w`\n  * Password: `write`\n  \nor\n\n  * User: `r`\n  * Password: `read`\n\n### Accessing the Environment Information\n\nThe python setup script creates configuration files on the host and in the test container.\n\nOn the host the container information get stored in the build output directory usually under `.build_output/cache/<ENVIRONMENT_NAME>/*`. In the test container the config file is stored at the root directory `/`.\n\nThe following config files are available:\n\n- environment_info.sh: This file is meant to be source by the bash and then provides the information as environment variables. Here an example for the content:\n\n  ```\n  export ENVIRONMENT_NAME=test\n  export ENVIRONMENT_TYPE=EnvironmentType.docker_db\n\n  # Database IP in environment docker network\n  export ENVIRONMENT_DATABASE_HOST=172.21.0.2\n  export ENVIRONMENT_DATABASE_DB_PORT=8888\n  export ENVIRONMENT_DATABASE_BUCKETFS_PORT=6583\n  export ENVIRONMENT_DATABASE_CONTAINER_NAME=db_container_test\n  export ENVIRONMENT_DATABASE_CONTAINER_NETWORK_ALIASES="exasol_test_database db_container_test"\n  # Database IP in the environment docker network\n  export ENVIRONMENT_DATABASE_CONTAINER_IP_ADDRESS=172.21.0.2\n  export ENVIRONMENT_DATABASE_CONTAINER_VOLUMNE_NAME=db_container_test_volume\n  # Database IP on the docker default bridge which under Linux available from the host\n  export ENVIRONMENT_DATABASE_CONTAINER_DEFAULT_BRIDGE_IP_ADDRESS=172.17.0.3\n\n  export ENVIRONMENT_TEST_CONTAINER_NAME=test_container_test\n  export ENVIRONMENT_TEST_CONTAINER_NETWORK_ALIASES="test_container test_container_test"\n  # Test Container IP in the environment docker network\n  export ENVIRONMENT_TEST_CONTAINER_IP_ADDRESS=172.21.0.3\n  ```\n- environment_info.json: Contains the EnvironmentInfo objects pickled with JsonPickle\n  \n### Currently supported Exasol Versions\n\n* **7.0**: up to 7.0.19 **except 7.0.5**\n* **7.1**: up to 7.1.12\n\n\nIf you need further versions, please open an issue.\n\n### Tested Docker Runtimes\n\n- Docker Default Runtime\n- [NVIDIA Container Runtime](https://github.com/NVIDIA/nvidia-container-runtime) for GPU accelerated UDFs\n\n## Mac OS X Support\n\n### What do I need to do to start the Test Environment with Mac OS X\n\nThe Exasol Docker-DB needs per default a bit more than 2 GB of RAM, however the Docker VM on Mac OS X provides often not enough RAM to accommodate this. You should increase the RAM of the Docker VM to at least 4.25 GB or reduce the DB Mem Size for the Exasol Docker-DB to less than 2 GB with `--db-mem-size 1 GiB`.\n\n### What happens under the hood\n\nMac OS X with Docker Desktop for Mac uses a lightweight virtual machine with linux in which the docker daemon runs and the containers get started. This makes [networking](https://docs.docker.com/docker-for-mac/networking/) and [shared directories](https://docs.docker.com/docker-for-mac/osxfs/) more complicated then on Linux.\n\nWe start the python setup script for the test environment in its own Docker container, lets call it `docker runner`, because the library [Luigi](https://luigi.readthedocs.io/en/stable/) can have problems with Mac OS X and to avoid the installation of further dependencies. To support Mac OS X, the `start-test-env` script starts the `docker runner` container and mounts the docker socket at `/var/run/docker.sock` and the directory of the test environment from the Mac OS X host to the container. Then, it starts `start-test-env-without-docker` which then starts the python script. It is important, that the repository gets cloned to the Mac OS X host and not to a docker container, because the python scripts tries to start further docker container which use host mounts to share the tests directory of the test environment with the docker container.\n',
     'author': 'Torsten Kilias',
     'author_email': 'torsten.kilias@exasol.com',
     'maintainer': 'None',


Test patch:
diff --git a/.github/workflows/test_db_versions_minimal.yml b/.github/workflows/test_db_versions_minimal.yml
index d5eb87a44..84d30933e 100644
--- a/.github/workflows/test_db_versions_minimal.yml
+++ b/.github/workflows/test_db_versions_minimal.yml
@@ -44,7 +44,8 @@ jobs:
 
     - name: Run minimal tests
       run: |
-          ./scripts/test/run_test.sh exasol_integration_test_docker_environment/test/test_test_environment.py
+          ./scripts/test/run_test.sh exasol_integration_test_docker_environment/test/test_api_test_environment.py
+          ./scripts/test/run_test.sh exasol_integration_test_docker_environment/test/test_cli_test_environment.py
           ./scripts/test/run_test.sh exasol_integration_test_docker_environment/test/test_doctor.py
           ./scripts/test/run_test.sh exasol_integration_test_docker_environment/test/test_termination_handler.py
       env:
diff --git a/exasol_integration_test_docker_environment/certificate_resources/container/Dockerfile b/exasol_integration_test_docker_environment/certificate_resources/container/Dockerfile
new file mode 100644
index 000000000..ec91192a5
--- /dev/null
+++ b/exasol_integration_test_docker_environment/certificate_resources/container/Dockerfile
@@ -0,0 +1,16 @@
+FROM ubuntu:20.04
+ENV DEBIAN_FRONTEND=noninteractive
+
+
+RUN apt-get -y update && \
+    apt-get -y install \
+        locales \
+        curl && \
+    locale-gen en_US.UTF-8 && \
+    update-locale LC_ALL=en_US.UTF-8 && \
+    apt-get -y clean && \
+    apt-get -y autoremove && \
+    ldconfig
+
+RUN mkdir -p /scripts
+COPY create_certificates.sh /scripts/create_certificates.sh
diff --git a/exasol_integration_test_docker_environment/test_container_config/create_certificates.sh b/exasol_integration_test_docker_environment/certificate_resources/container/create_certificates.sh
similarity index 91%
rename from exasol_integration_test_docker_environment/test_container_config/create_certificates.sh
rename to exasol_integration_test_docker_environment/certificate_resources/container/create_certificates.sh
index 63743d379..55433d17a 100644
--- a/exasol_integration_test_docker_environment/test_container_config/create_certificates.sh
+++ b/exasol_integration_test_docker_environment/certificate_resources/container/create_certificates.sh
@@ -3,14 +3,14 @@
 set -euo pipefail
 
 #shellcheck disable=SC1083
-NAME={{HOST_NAME}}
+NAME=$1
 
-echo SubjectName: $NAME
+echo SubjectName: "$NAME"
 
 #shellcheck disable=SC1083
-certs_dir={{cert_dir}}
+certs_dir=$2
 
-echo Certificate Dir: $certs_dir
+echo Certificate Dir: "$certs_dir"
 
 if [ ! -d "$certs_dir" ]
 then
@@ -53,4 +53,4 @@ subjectAltName = DNS.1:$NAME, DNS.2:exasol-test-database
 
 openssl x509 -req -in cert.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out cert.crt -sha256 -extfile alt_names.ext
 
-ls $certs_dir
\ No newline at end of file
+ls "$certs_dir"
\ No newline at end of file
diff --git a/exasol_integration_test_docker_environment/test_container_config/install_root_certificate.sh b/exasol_integration_test_docker_environment/certificate_resources/install_root_certificate.sh
similarity index 53%
rename from exasol_integration_test_docker_environment/test_container_config/install_root_certificate.sh
rename to exasol_integration_test_docker_environment/certificate_resources/install_root_certificate.sh
index 7d3d19a47..00c3369be 100755
--- a/exasol_integration_test_docker_environment/test_container_config/install_root_certificate.sh
+++ b/exasol_integration_test_docker_environment/certificate_resources/install_root_certificate.sh
@@ -1,5 +1,10 @@
 #!/bin/bash
 
+
+#######################################################################################
+# This script is intended to run on a test-container to install the new certificates. #
+#######################################################################################
+
 set -euo pipefail
 
 #Install Linux certificates (useful for pyexasol)
diff --git a/exasol_integration_test_docker_environment/cli/commands/__init__.py b/exasol_integration_test_docker_environment/cli/commands/__init__.py
index 3a8eeed7a..21fbd7980 100644
--- a/exasol_integration_test_docker_environment/cli/commands/__init__.py
+++ b/exasol_integration_test_docker_environment/cli/commands/__init__.py
@@ -1,4 +1,2 @@
-from .build_test_container import build_test_container
 from .health import health
-from .push_test_container import push_test_container
 from .spawn_test_environment import spawn_test_environment
diff --git a/exasol_integration_test_docker_environment/cli/commands/build_test_container.py b/exasol_integration_test_docker_environment/cli/commands/build_test_container.py
deleted file mode 100644
index 9a87869dc..000000000
--- a/exasol_integration_test_docker_environment/cli/commands/build_test_container.py
+++ /dev/null
@@ -1,60 +0,0 @@
-from typing import Tuple, Optional
-
-from exasol_integration_test_docker_environment.cli.cli import cli
-from exasol_integration_test_docker_environment.cli.termination_handler import TerminationHandler
-from exasol_integration_test_docker_environment.lib.api.common import add_options
-from exasol_integration_test_docker_environment.cli.options.build_options import build_options
-from exasol_integration_test_docker_environment.cli.options.docker_repository_options import docker_repository_options
-from exasol_integration_test_docker_environment.cli.options.system_options import system_options
-from exasol_integration_test_docker_environment.lib import api
-
-
-@cli.command()
-@add_options(build_options)
-@add_options(docker_repository_options)
-@add_options(system_options)
-def build_test_container(
-        force_rebuild: bool,
-        force_rebuild_from: Tuple[str, ...],
-        force_pull: bool,
-        output_directory: str,
-        temporary_base_directory: str,
-        log_build_context_content: bool,
-        cache_directory: Optional[str],
-        build_name: Optional[str],
-        source_docker_repository_name: str,
-        source_docker_tag_prefix: str,
-        source_docker_username: Optional[str],
-        source_docker_password: Optional[str],
-        target_docker_repository_name: str,
-        target_docker_tag_prefix: str,
-        target_docker_username: Optional[str],
-        target_docker_password: Optional[str],
-        workers: int,
-        task_dependencies_dot_file: Optional[str]):
-    """
-    This command builds all stages of the test container for the test environment.
-    If stages are cached in a docker registry, they command is going to pull them,
-    instead of building them.
-
-    """
-
-    with TerminationHandler():
-        api.build_test_container(force_rebuild,
-                                 force_rebuild_from,
-                                 force_pull,
-                                 output_directory,
-                                 temporary_base_directory,
-                                 log_build_context_content,
-                                 cache_directory,
-                                 build_name,
-                                 source_docker_repository_name,
-                                 source_docker_tag_prefix,
-                                 source_docker_username,
-                                 source_docker_password,
-                                 target_docker_repository_name,
-                                 target_docker_tag_prefix,
-                                 target_docker_username,
-                                 target_docker_password,
-                                 workers,
-                                 task_dependencies_dot_file)
diff --git a/exasol_integration_test_docker_environment/cli/commands/push_test_container.py b/exasol_integration_test_docker_environment/cli/commands/push_test_container.py
deleted file mode 100644
index 1f7720279..000000000
--- a/exasol_integration_test_docker_environment/cli/commands/push_test_container.py
+++ /dev/null
@@ -1,63 +0,0 @@
-from typing import Tuple, Optional
-
-from exasol_integration_test_docker_environment.cli.cli import cli
-from exasol_integration_test_docker_environment.cli.termination_handler import TerminationHandler
-from exasol_integration_test_docker_environment.lib.api.common import add_options
-from exasol_integration_test_docker_environment.cli.options.build_options import build_options
-from exasol_integration_test_docker_environment.cli.options.docker_repository_options import docker_repository_options
-from exasol_integration_test_docker_environment.cli.options.push_options import push_options
-from exasol_integration_test_docker_environment.cli.options.system_options import system_options
-from exasol_integration_test_docker_environment.lib import api
-
-
-@cli.command()
-@add_options(push_options)
-@add_options(build_options)
-@add_options(docker_repository_options)
-@add_options(system_options)
-def push_test_container(
-        force_push: bool,
-        push_all: bool,
-        force_rebuild: bool,
-        force_rebuild_from: Tuple[str, ...],
-        force_pull: bool,
-        output_directory: str,
-        temporary_base_directory: str,
-        log_build_context_content: bool,
-        cache_directory: Optional[str],
-        build_name: Optional[str],
-        source_docker_repository_name: str,
-        source_docker_tag_prefix: str,
-        source_docker_username: Optional[str],
-        source_docker_password: Optional[str],
-        target_docker_repository_name: str,
-        target_docker_tag_prefix: str,
-        target_docker_username: Optional[str],
-        target_docker_password: Optional[str],
-        workers: int,
-        task_dependencies_dot_file: Optional[str]):
-    """
-    This command pushs all stages of the test container for the test environment.
-    If the stages do not exists locally, the system will build or pull them before the push.
-    """
-    with TerminationHandler():
-        api.push_test_container(force_push,
-                                push_all,
-                                force_rebuild,
-                                force_rebuild_from,
-                                force_pull,
-                                output_directory,
-                                temporary_base_directory,
-                                log_build_context_content,
-                                cache_directory,
-                                build_name,
-                                source_docker_repository_name,
-                                source_docker_tag_prefix,
-                                source_docker_username,
-                                source_docker_password,
-                                target_docker_repository_name,
-                                target_docker_tag_prefix,
-                                target_docker_username,
-                                target_docker_password,
-                                workers,
-                                task_dependencies_dot_file)
diff --git a/exasol_integration_test_docker_environment/cli/commands/spawn_test_environment.py b/exasol_integration_test_docker_environment/cli/commands/spawn_test_environment.py
index 9371b18f4..bc4a3d662 100644
--- a/exasol_integration_test_docker_environment/cli/commands/spawn_test_environment.py
+++ b/exasol_integration_test_docker_environment/cli/commands/spawn_test_environment.py
@@ -25,8 +25,6 @@
               help="The disk size available for the database. Format <number> <unit>, e.g. 1 GiB. The minimum size is 100 MiB. However, the setup creates volume files with at least 2 GB larger size, because the database needs at least so much more disk.")
 @click.option('--nameserver', type=str, default=[], multiple=True,
               help="Add a nameserver to the list of DNS nameservers which the docker-db should use for resolving domain names. You can repeat this option to add further nameservers.")
-@click.option('--deactivate-database-setup/--no-deactivate-database-setup', type=bool, default=False, show_default=True,
-              help="Deactivates the setup of the spawned database, this means no data get populated and no JDBC drivers get uploaded. This can be used either to save time or as a workaround for MacOSX where the test_container seems not to be able to access the tests directory")
 @click.option('--docker-runtime', type=str, default=None, show_default=True,
               help="The docker runtime used to start all containers")
 @add_options(docker_db_options)
@@ -41,7 +39,6 @@ def spawn_test_environment(
         db_mem_size: str,
         db_disk_size: str,
         nameserver: Tuple[str, ...],
-        deactivate_database_setup: bool,
         docker_runtime: Optional[str],
         docker_db_image_version: str,
         docker_db_image_name: str,
@@ -70,7 +67,6 @@ def spawn_test_environment(
                                        db_mem_size,
                                        db_disk_size,
                                        nameserver,
-                                       deactivate_database_setup,
                                        docker_runtime,
                                        docker_db_image_version,
                                        docker_db_image_name,
diff --git a/exasol_integration_test_docker_environment/lib/api/__init__.py b/exasol_integration_test_docker_environment/lib/api/__init__.py
index 84fab474e..4dff6c912 100644
--- a/exasol_integration_test_docker_environment/lib/api/__init__.py
+++ b/exasol_integration_test_docker_environment/lib/api/__init__.py
@@ -3,3 +3,4 @@
 from .build_test_container import build_test_container
 from .push_test_container import push_test_container
 from .spawn_test_environment import spawn_test_environment
+from .spawn_test_environment_with_test_container import spawn_test_environment_with_test_container
diff --git a/exasol_integration_test_docker_environment/lib/api/build_test_container.py b/exasol_integration_test_docker_environment/lib/api/build_test_container.py
index eebbaa248..1a3d721fd 100644
--- a/exasol_integration_test_docker_environment/lib/api/build_test_container.py
+++ b/exasol_integration_test_docker_environment/lib/api/build_test_container.py
@@ -1,15 +1,19 @@
 from typing import Tuple, Optional
 
 from exasol_integration_test_docker_environment.lib.api.common import set_build_config, \
-    set_docker_repository_config, run_task, generate_root_task
+    set_docker_repository_config, run_task, generate_root_task, no_cli_function
 from exasol_integration_test_docker_environment.cli.options.docker_repository_options import DEFAULT_DOCKER_REPOSITORY_NAME
 from exasol_integration_test_docker_environment.cli.options.system_options import DEFAULT_OUTPUT_DIRECTORY
+from exasol_integration_test_docker_environment.lib.data.test_container_content_description import \
+    TestContainerContentDescription
 from exasol_integration_test_docker_environment.lib.docker.images.image_info import ImageInfo
 from exasol_integration_test_docker_environment.lib.test_environment.analyze_test_container import AnalyzeTestContainer, \
     DockerTestContainerBuild
 
 
+@no_cli_function
 def build_test_container(
+        test_container_content: TestContainerContentDescription,
         force_rebuild: bool = False,
         force_rebuild_from: Tuple[str, ...] = tuple(),
         force_pull: bool = False,
@@ -49,6 +53,7 @@ def build_test_container(
                                  source_docker_tag_prefix, "source")
     set_docker_repository_config(target_docker_password, target_docker_repository_name, target_docker_username,
                                  target_docker_tag_prefix, "target")
-    task_creator = lambda: generate_root_task(task_class=DockerTestContainerBuild)
+    task_creator = lambda: generate_root_task(task_class=DockerTestContainerBuild,
+                                              test_container_content=test_container_content)
     image_infos = run_task(task_creator, workers, task_dependencies_dot_file)
     return image_infos["test-container"]
diff --git a/exasol_integration_test_docker_environment/lib/api/common.py b/exasol_integration_test_docker_environment/lib/api/common.py
index ff8762129..d41e9386c 100644
--- a/exasol_integration_test_docker_environment/lib/api/common.py
+++ b/exasol_integration_test_docker_environment/lib/api/common.py
@@ -162,3 +162,15 @@ def _add_options(func):
         return func
 
     return _add_options
+
+
+def cli_function(func):
+    """Decorator: Register a function as having a cli equivalent"""
+    func.__cli_function__ = True
+    return func
+
+
+def no_cli_function(func):
+    """Decorator: Register a function as noy having a cli equivalent"""
+    func.__cli_function__ = False
+    return func
diff --git a/exasol_integration_test_docker_environment/lib/api/health.py b/exasol_integration_test_docker_environment/lib/api/health.py
index 8e4cf699e..c3f941c88 100644
--- a/exasol_integration_test_docker_environment/lib/api/health.py
+++ b/exasol_integration_test_docker_environment/lib/api/health.py
@@ -1,10 +1,11 @@
 from inspect import cleandoc
-from typing import Optional
 
 from exasol_integration_test_docker_environment.doctor import health_checkup, recommend_mitigation
 from exasol_integration_test_docker_environment.lib.api.api_errors import HealthProblem
+from exasol_integration_test_docker_environment.lib.api.common import cli_function
 
 
+@cli_function
 def health():
     """
     Check the health of the execution environment.
diff --git a/exasol_integration_test_docker_environment/lib/api/push_test_container.py b/exasol_integration_test_docker_environment/lib/api/push_test_container.py
index 68746a6cd..f2fc7d770 100644
--- a/exasol_integration_test_docker_environment/lib/api/push_test_container.py
+++ b/exasol_integration_test_docker_environment/lib/api/push_test_container.py
@@ -1,15 +1,19 @@
 from typing import Tuple, Optional
 
 from exasol_integration_test_docker_environment.lib.api.common import set_docker_repository_config, \
-    run_task, set_build_config, generate_root_task
+    run_task, set_build_config, generate_root_task, no_cli_function
 from exasol_integration_test_docker_environment.cli.options.docker_repository_options import DEFAULT_DOCKER_REPOSITORY_NAME
 from exasol_integration_test_docker_environment.cli.options.system_options import DEFAULT_OUTPUT_DIRECTORY
+from exasol_integration_test_docker_environment.lib.data.test_container_content_description import \
+    TestContainerContentDescription
 from exasol_integration_test_docker_environment.lib.docker.images.image_info import ImageInfo
 from exasol_integration_test_docker_environment.lib.test_environment.analyze_test_container import \
     AnalyzeTestContainer, DockerTestContainerPush
 
 
+@no_cli_function
 def push_test_container(
+        test_container_content: TestContainerContentDescription,
         force_push: bool = False,
         push_all: bool = False,
         force_rebuild: bool = False,
@@ -50,6 +54,7 @@ def push_test_container(
     set_docker_repository_config(target_docker_password, target_docker_repository_name, target_docker_username,
                                  target_docker_tag_prefix, "target")
     task_creator = lambda: generate_root_task(task_class=DockerTestContainerPush,
+                                              test_container_content=test_container_content,
                                               force_push=force_push,
                                               push_all=push_all)
     image_infos = run_task(task_creator, workers, task_dependencies_dot_file)
diff --git a/exasol_integration_test_docker_environment/lib/api/spawn_test_environment.py b/exasol_integration_test_docker_environment/lib/api/spawn_test_environment.py
index 82573eff7..320569068 100644
--- a/exasol_integration_test_docker_environment/lib/api/spawn_test_environment.py
+++ b/exasol_integration_test_docker_environment/lib/api/spawn_test_environment.py
@@ -3,7 +3,7 @@
 import humanfriendly
 
 from exasol_integration_test_docker_environment.lib.api.common import set_build_config, set_docker_repository_config, \
-    run_task, generate_root_task
+    run_task, generate_root_task, cli_function
 from exasol_integration_test_docker_environment.cli.options.docker_repository_options import DEFAULT_DOCKER_REPOSITORY_NAME
 from exasol_integration_test_docker_environment.cli.options.system_options import DEFAULT_OUTPUT_DIRECTORY
 from exasol_integration_test_docker_environment.cli.options.test_environment_options import LATEST_DB_VERSION
@@ -17,12 +17,12 @@
 
 
 def _cleanup(environment_info: EnvironmentInfo) -> None:
-    remove_docker_container([environment_info.test_container_info.container_name,
-                             environment_info.database_info.container_info.container_name])
+    remove_docker_container([environment_info.database_info.container_info.container_name])
     remove_docker_volumes([environment_info.database_info.container_info.volume_name])
     remove_docker_networks([environment_info.network_info.network_name])
 
 
+@cli_function
 def spawn_test_environment(
         environment_name: str,
         database_port_forward: Optional[int] = None,
@@ -30,7 +30,6 @@ def spawn_test_environment(
         db_mem_size: str = "2 GiB",
         db_disk_size: str = "2 GiB",
         nameserver: Tuple[str,...] = tuple(),
-        deactivate_database_setup: bool = False,
         docker_runtime: Optional[str] = None,
         docker_db_image_version: str = LATEST_DB_VERSION,
         docker_db_image_name: str = "exasol/docker-db",
@@ -92,8 +91,8 @@ def spawn_test_environment(
                                               no_test_container_cleanup_after_failure=False,
                                               no_database_cleanup_after_success=True,
                                               no_database_cleanup_after_failure=False,
-                                              is_setup_database_activated=not deactivate_database_setup,
-                                              create_certificates=create_certificates
+                                              create_certificates=create_certificates,
+                                              test_container_content=None
                                               )
     environment_info = run_task(task_creator, workers, task_dependencies_dot_file)
     return environment_info, functools.partial(_cleanup, environment_info)
diff --git a/exasol_integration_test_docker_environment/lib/api/spawn_test_environment_with_test_container.py b/exasol_integration_test_docker_environment/lib/api/spawn_test_environment_with_test_container.py
new file mode 100644
index 000000000..3200dd94b
--- /dev/null
+++ b/exasol_integration_test_docker_environment/lib/api/spawn_test_environment_with_test_container.py
@@ -0,0 +1,106 @@
+import functools
+from typing import Tuple, Optional, Callable
+import humanfriendly
+
+from exasol_integration_test_docker_environment.lib.api.common import set_build_config, set_docker_repository_config, \
+    run_task, generate_root_task, no_cli_function
+from exasol_integration_test_docker_environment.cli.options.docker_repository_options import DEFAULT_DOCKER_REPOSITORY_NAME
+from exasol_integration_test_docker_environment.cli.options.system_options import DEFAULT_OUTPUT_DIRECTORY
+from exasol_integration_test_docker_environment.cli.options.test_environment_options import LATEST_DB_VERSION
+from exasol_integration_test_docker_environment.lib.api.api_errors import ArgumentConstraintError
+from exasol_integration_test_docker_environment.lib.data.environment_info import EnvironmentInfo
+from exasol_integration_test_docker_environment.lib.data.test_container_content_description import \
+    TestContainerContentDescription
+from exasol_integration_test_docker_environment.lib.docker.container.utils import remove_docker_container
+from exasol_integration_test_docker_environment.lib.docker.volumes.utils import remove_docker_volumes
+from exasol_integration_test_docker_environment.lib.docker.networks.utils import remove_docker_networks
+from exasol_integration_test_docker_environment.lib.test_environment.spawn_test_environment_with_docker_db import \
+    SpawnTestEnvironmentWithDockerDB
+
+
+def _cleanup(environment_info: EnvironmentInfo) -> None:
+    if environment_info.test_container_info is None:
+        remove_docker_container([environment_info.database_info.container_info.container_name])
+    else:
+        remove_docker_container([environment_info.test_container_info.container_name,
+                                 environment_info.database_info.container_info.container_name])
+    remove_docker_volumes([environment_info.database_info.container_info.volume_name])
+    remove_docker_networks([environment_info.network_info.network_name])
+
+
+@no_cli_function
+def spawn_test_environment_with_test_container(
+        environment_name: str,
+        test_container_content: TestContainerContentDescription,
+        database_port_forward: Optional[int] = None,
+        bucketfs_port_forward: Optional[int] = None,
+        db_mem_size: str = "2 GiB",
+        db_disk_size: str = "2 GiB",
+        nameserver: Tuple[str,...] = tuple(),
+        docker_runtime: Optional[str] = None,
+        docker_db_image_version: str = LATEST_DB_VERSION,
+        docker_db_image_name: str = "exasol/docker-db",
+        create_certificates: bool = False,
+        source_docker_repository_name: str = DEFAULT_DOCKER_REPOSITORY_NAME,
+        source_docker_tag_prefix: str = '',
+        source_docker_username: Optional[str] = None,
+        source_docker_password: Optional[str] = None,
+        target_docker_repository_name: str = DEFAULT_DOCKER_REPOSITORY_NAME,
+        target_docker_tag_prefix: str = '',
+        target_docker_username: Optional[str] = None,
+        target_docker_password: Optional[str] = None,
+        output_directory: str = DEFAULT_OUTPUT_DIRECTORY,
+        temporary_base_directory: str = "/tmp",
+        workers: int = 5,
+        task_dependencies_dot_file: Optional[str] = None) \
+        -> Tuple[EnvironmentInfo, Callable[[], None]]:
+    """
+    This function spawns a test environment with a docker-db container and a connected test-container.
+    The test-container is reachable by the database for output redirects of UDFs.
+    The function returns an environment_info object, describing the environment, and a cleanup-method, which
+    can be used to stop the environment.
+    raises: TaskRuntimeError if spawning the test environment fails
+
+    """
+    parsed_db_mem_size = humanfriendly.parse_size(db_mem_size)
+    if parsed_db_mem_size < humanfriendly.parse_size("1 GiB"):
+        raise ArgumentConstraintError("db_mem_size", "needs to be at least 1 GiB")
+    parsed_db_disk_size = humanfriendly.parse_size(db_disk_size)
+    if parsed_db_disk_size < humanfriendly.parse_size("100 MiB"):
+        raise ArgumentConstraintError("db_disk_size", "needs to be at least 100 MiB")
+    set_build_config(False,
+                     tuple(),
+                     False,
+                     False,
+                     output_directory,
+                     temporary_base_directory,
+                     None,
+                     None)
+    set_docker_repository_config(source_docker_password, source_docker_repository_name, source_docker_username,
+                                 source_docker_tag_prefix, "source")
+    set_docker_repository_config(target_docker_password, target_docker_repository_name, target_docker_username,
+                                 target_docker_tag_prefix, "target")
+    task_creator = lambda: generate_root_task(task_class=SpawnTestEnvironmentWithDockerDB,
+                                              environment_name=environment_name,
+                                              database_port_forward=str(
+                                                  database_port_forward) if database_port_forward is not None else None,
+                                              bucketfs_port_forward=str(
+                                                  bucketfs_port_forward) if bucketfs_port_forward is not None else None,
+                                              mem_size=db_mem_size,
+                                              disk_size=db_disk_size,
+                                              nameservers=nameserver,
+                                              docker_runtime=docker_runtime,
+                                              docker_db_image_version=docker_db_image_version,
+                                              docker_db_image_name=docker_db_image_name,
+                                              db_user="sys",
+                                              db_password="exasol",
+                                              bucketfs_write_password="write",
+                                              no_test_container_cleanup_after_success=True,
+                                              no_test_container_cleanup_after_failure=False,
+                                              no_database_cleanup_after_success=True,
+                                              no_database_cleanup_after_failure=False,
+                                              create_certificates=create_certificates,
+                                              test_container_content=test_container_content
+                                              )
+    environment_info = run_task(task_creator, workers, task_dependencies_dot_file)
+    return environment_info, functools.partial(_cleanup, environment_info)
diff --git a/exasol_integration_test_docker_environment/lib/base/json_pickle_parameter.py b/exasol_integration_test_docker_environment/lib/base/json_pickle_parameter.py
index 5edca8111..2b20152f6 100644
--- a/exasol_integration_test_docker_environment/lib/base/json_pickle_parameter.py
+++ b/exasol_integration_test_docker_environment/lib/base/json_pickle_parameter.py
@@ -5,17 +5,20 @@
 class JsonPickleParameter(Parameter):
 
     def __init__(self, cls, default=_no_value, is_global=False, significant=True, description=None,
-                 config_path=None, positional=True, always_in_help=False, batch_method=None,
+                 config_path=None, positional=True, always_in_help=False, batch_method=None, is_optional=False,
                  visibility=ParameterVisibility.PUBLIC):
         super().__init__(default, is_global, significant, description,
                          config_path, positional, always_in_help,
                          batch_method, visibility)
         self.cls = cls
+        self._is_optional = is_optional
 
     def parse(self, s):
         jsonpickle.set_preferred_backend('simplejson')
         loaded_object = jsonpickle.decode(s)
-        if not isinstance(loaded_object, self.cls):
+        if self._is_optional and loaded_object is None:
+            return None
+        elif not isinstance(loaded_object, self.cls):
             raise TypeError("Type %s of loaded object does not match %s" % (type(loaded_object), self.cls))
         return loaded_object
 
diff --git a/exasol_integration_test_docker_environment/lib/data/environment_info.py b/exasol_integration_test_docker_environment/lib/data/environment_info.py
index 7347eac21..0163f7938 100644
--- a/exasol_integration_test_docker_environment/lib/data/environment_info.py
+++ b/exasol_integration_test_docker_environment/lib/data/environment_info.py
@@ -1,3 +1,5 @@
+from typing import Optional
+
 from exasol_integration_test_docker_environment.lib.base.info import Info
 from exasol_integration_test_docker_environment.lib.data.container_info import ContainerInfo
 from exasol_integration_test_docker_environment.lib.data.database_info import DatabaseInfo
@@ -9,7 +11,7 @@ class EnvironmentInfo(Info):
     def __init__(self,
                  name: str, env_type: str,
                  database_info: DatabaseInfo,
-                 test_container_info: ContainerInfo,
+                 test_container_info: Optional[ContainerInfo],
                  network_info: DockerNetworkInfo):
         self.name = name
         self.type = env_type
diff --git a/exasol_integration_test_docker_environment/lib/data/test_container_content_description.py b/exasol_integration_test_docker_environment/lib/data/test_container_content_description.py
new file mode 100644
index 000000000..ffcac4346
--- /dev/null
+++ b/exasol_integration_test_docker_environment/lib/data/test_container_content_description.py
@@ -0,0 +1,40 @@
+from pathlib import Path
+from typing import Optional, List
+
+from exasol_integration_test_docker_environment.lib.base.info import Info
+
+
+class TestContainerBuildMapping(Info):
+    """
+    Represents a mapping of a build artifact for the test-container.
+    The artifact will be copied to location "target", parallel to the Dockerfile and is hence accessible
+    from within the Dockerfile during the build time of the test-container.
+    """
+    def __init__(self, source: Path, target: str):
+        self.source = source
+        self.target = target
+
+
+class TestContainerRuntimeMapping(Info):
+    """
+    Represents a mapping of a runtime artifact for the test-container.
+    This artifact will be bind-mounted to the test-container during startup.
+    Optionally, the content will be copied within the test-container to the location indicated by parameter
+    "deployement_target": This is useful if the source path must not be polluted with runtime artifacts (logs, etc.).
+    """
+    def __init__(self, source: Path, target: str, deployment_target: Optional[str] = None):
+        self.source = source
+        self.target = target
+        self.deployment_target = deployment_target
+
+
+class TestContainerContentDescription(Info):
+    """
+    This class contains all information necessary to build, start and set up the test-container.
+    Its purpose is to give the client control about the build- and runtime-artifacts.
+    """
+    def __init__(self, docker_file: Optional[str], build_files_and_directories: List[TestContainerBuildMapping],
+                 runtime_mappings: List[TestContainerRuntimeMapping]):
+        self.docker_file = docker_file
+        self.build_files_and_directories = build_files_and_directories
+        self.runtime_mappings = runtime_mappings
diff --git a/exasol_integration_test_docker_environment/lib/docker/images/create/utils/build_context_hasher.py b/exasol_integration_test_docker_environment/lib/docker/images/create/utils/build_context_hasher.py
index 78929a998..70727e68f 100644
--- a/exasol_integration_test_docker_environment/lib/docker/images/create/utils/build_context_hasher.py
+++ b/exasol_integration_test_docker_environment/lib/docker/images/create/utils/build_context_hasher.py
@@ -1,6 +1,6 @@
 import base64
 import hashlib
-from pathlib import Path
+from pathlib import Path, PurePath
 from typing import Dict
 
 # TODO add hash config to the hash
@@ -27,13 +27,13 @@ def _generate_build_context_hash(self):
                                     hash_file_names=True,
                                     hash_directory_names=True,
                                     hash_permissions=True)
-        files_directories_to_hash = [PathMapping(destination, source) for destination, source in
+        files_directories_to_hash = [PathMapping(PurePath(destination), Path(source)) for destination, source in
                                      self.image_description.mapping_of_build_files_and_directories.items()]
         # Use only the dockerfile itself for hashing. In order to accomplish that,
         # set the dockerfile only as destination in the mapping
         dockerfile = Path(self.image_description.dockerfile).name
-        files_directories_to_hash.append(PathMapping(str(dockerfile),
-                                                     self.image_description.dockerfile))
+        files_directories_to_hash.append(PathMapping(PurePath(dockerfile),
+                                                     Path(self.image_description.dockerfile)))
         self.logger.debug("files_directories_list_hasher %s", files_directories_to_hash)
         hash_of_build_context = files_directories_list_hasher.hash(files_directories_to_hash)
         self.logger.debug("hash_of_build_context %s", self._encode_hash(hash_of_build_context))
diff --git a/exasol_integration_test_docker_environment/lib/test_environment/abstract_spawn_test_environment.py b/exasol_integration_test_docker_environment/lib/test_environment/abstract_spawn_test_environment.py
index 0f7f026c6..ed71050cb 100644
--- a/exasol_integration_test_docker_environment/lib/test_environment/abstract_spawn_test_environment.py
+++ b/exasol_integration_test_docker_environment/lib/test_environment/abstract_spawn_test_environment.py
@@ -12,9 +12,6 @@
 from exasol_integration_test_docker_environment.lib.data.docker_network_info import DockerNetworkInfo
 from exasol_integration_test_docker_environment.lib.data.docker_volume_info import DockerVolumeInfo
 from exasol_integration_test_docker_environment.lib.data.environment_info import EnvironmentInfo
-from exasol_integration_test_docker_environment.lib.test_environment.database_setup.populate_data import \
-    PopulateEngineSmallTestDataToDatabase
-from exasol_integration_test_docker_environment.lib.test_environment.database_setup.upload_exa_jdbc import UploadExaJDBC
 from exasol_integration_test_docker_environment.lib.test_environment.docker_container_copy import DockerContainerCopy
 from exasol_integration_test_docker_environment.lib.test_environment.parameter.general_spawn_test_environment_parameter import \
     GeneralSpawnTestEnvironmentParameter
@@ -40,7 +37,6 @@ def get_environment_type(self):
 
     def run_task(self):
         test_environment_info = yield from self._attempt_database_start()
-        yield from self._setup_test_database(test_environment_info)
         self.return_object(test_environment_info)
 
     def _attempt_database_start(self):
@@ -63,46 +59,58 @@ def _attempt_database_start(self):
         self.create_test_environment_info_in_test_container_and_on_host(test_environment_info)
         return test_environment_info
 
-    def create_test_environment_info_in_test_container_and_on_host(
-            self, test_environment_info: EnvironmentInfo):
+    def create_test_environment_info_in_test_container(self, test_environment_info: EnvironmentInfo,
+                                                       environment_variables: str,
+                                                       environment_variables_with_export: str,
+                                                       json: str):
         test_container_name = test_environment_info.test_container_info.container_name
         with self._get_docker_client() as docker_client:
             test_container = docker_client.containers.get(test_container_name)
-            test_environment_info_base_host_path = Path(self.get_cache_path(),
-                                                        f"environments/{self.environment_name}")
-            test_environment_info_base_host_path.mkdir(exist_ok=True, parents=True)
-            self.logger.info(
-                f"Create test environment info in test container '{test_container_name}' at '/' "
-                f"and on the host at '{test_environment_info_base_host_path}'")
-
+            self.logger.info(f"Create test environment info in test container '{test_container_name}' at '/'")
             copy = DockerContainerCopy(test_container)
-            json = test_environment_info.to_json()
             copy.add_string_to_file("environment_info.json", json)
-            cache_environment_info_json_path = Path(test_environment_info_base_host_path,
-                                                    "environment_info.json")
-            with cache_environment_info_json_path.open("w") as f:
-                f.write(json)
-
-            environment_variables = \
-                self.collect_environment_info_variables(test_container_name,
-                                                        test_environment_info)
             copy.add_string_to_file("environment_info.conf", environment_variables)
-            cache_environment_info_conf_path = Path(test_environment_info_base_host_path,
-                                                    "environment_info.conf")
-            with cache_environment_info_conf_path.open("w") as f:
-                f.write(environment_variables)
-
-            environment_variables_with_export = ""
-            for line in environment_variables.splitlines():
-                environment_variables_with_export += f"export {line}\n"
             copy.add_string_to_file("environment_info.sh", environment_variables_with_export)
-            cache_environment_info_sh_path = Path(test_environment_info_base_host_path, "environment_info.sh")
-            with cache_environment_info_sh_path.open("w") as f:
-                f.write(environment_variables_with_export)
-
             copy.copy("/")
 
-    def collect_environment_info_variables(self, test_container_name, test_environment_info):
+    def create_test_environment_info_in_test_container_and_on_host(
+            self, test_environment_info: EnvironmentInfo):
+        test_environment_info_base_host_path = Path(self.get_cache_path(),
+                                                    f"environments/{self.environment_name}")
+        test_environment_info_base_host_path.mkdir(exist_ok=True, parents=True)
+        self.logger.info(f"Create test environment info on the host at '{test_environment_info_base_host_path}'")
+
+        json = test_environment_info.to_json()
+        cache_environment_info_json_path = Path(test_environment_info_base_host_path,
+                                                "environment_info.json")
+        with cache_environment_info_json_path.open("w") as f:
+            f.write(json)
+
+        if test_environment_info.test_container_info is not None:
+            test_container_name = test_environment_info.test_container_info.container_name
+        else:
+            test_container_name = ""
+        environment_variables = \
+            self.collect_environment_info_variables(test_container_name,
+                                                    test_environment_info)
+        cache_environment_info_conf_path = Path(test_environment_info_base_host_path,
+                                                "environment_info.conf")
+        with cache_environment_info_conf_path.open("w") as f:
+            f.write(environment_variables)
+
+        environment_variables_with_export = ""
+        for line in environment_variables.splitlines():
+            environment_variables_with_export += f"export {line}\n"
+        cache_environment_info_sh_path = Path(test_environment_info_base_host_path, "environment_info.sh")
+        with cache_environment_info_sh_path.open("w") as f:
+            f.write(environment_variables_with_export)
+
+        if test_environment_info.test_container_info is not None:
+            self.create_test_environment_info_in_test_container(test_environment_info,
+                                                                environment_variables,
+                                                                environment_variables_with_export, json)
+
+    def collect_environment_info_variables(self, test_container_name: str, test_environment_info):
         environment_variables = ""
         environment_variables += f"ENVIRONMENT_NAME={test_environment_info.name}\n"
         environment_variables += f"ENVIRONMENT_TYPE={test_environment_info.type}\n"
@@ -130,15 +138,14 @@ def collect_environment_info_variables(self, test_container_name, test_environme
         return environment_variables
 
     def _start_database(self, attempt) \
-            -> Generator[BaseTask, BaseTask, Tuple[DockerNetworkInfo, DatabaseInfo, bool, ContainerInfo]]:
+            -> Generator[BaseTask, BaseTask, Tuple[DockerNetworkInfo, DatabaseInfo, bool, Optional[ContainerInfo]]]:
         network_info = yield from self._create_network(attempt)
         ssl_volume_info = None
         if self.create_certificates:
             ssl_volume_info = yield from self._create_ssl_certificates()
         database_info, test_container_info = \
             yield from self._spawn_database_and_test_container(network_info, ssl_volume_info, attempt)
-        is_database_ready = yield from self._wait_for_database(
-            database_info, test_container_info, attempt)
+        is_database_ready = yield from self._wait_for_database(database_info, attempt)
         return network_info, database_info, is_database_ready, test_container_info
 
     def _create_ssl_certificates(self) -> DockerVolumeInfo:
@@ -160,23 +167,20 @@ def create_network_task(self, attempt: int):
     def _spawn_database_and_test_container(self,
                                            network_info: DockerNetworkInfo,
                                            certificate_volume_info: Optional[DockerVolumeInfo],
-                                           attempt: int):
+                                           attempt: int) -> Tuple[DatabaseInfo, Optional[ContainerInfo]]:
         certificate_volume_name = certificate_volume_info.volume_name if certificate_volume_info is not None else None
-        database_and_test_container_info_future = \
-            yield from self.run_dependencies({
-                TEST_CONTAINER: \
-                    self.create_child_task_with_common_params(
-                        SpawnTestContainer,
-                        test_container_name=self.test_container_name,
-                        network_info=network_info,
-                        ip_address_index_in_subnet=1,
-                        certificate_volume_name=certificate_volume_name,
-                        attempt=attempt),
+        dependencies_tasks = {
                 DATABASE: self.create_spawn_database_task(network_info, certificate_volume_info, attempt)
-            })
+            }
+        if self.test_container_content is not None:
+            dependencies_tasks[TEST_CONTAINER] = \
+                self.create_spawn_test_container_task(network_info, certificate_volume_name, attempt)
+        database_and_test_container_info_future = yield from self.run_dependencies(dependencies_tasks)
         database_and_test_container_info = \
             self.get_values_from_futures(database_and_test_container_info_future)
-        test_container_info = database_and_test_container_info[TEST_CONTAINER]
+        test_container_info = None
+        if self.test_container_content is not None:
+            test_container_info = database_and_test_container_info[TEST_CONTAINER]
         database_info = database_and_test_container_info[DATABASE]
         return database_info, test_container_info
 
@@ -186,35 +190,27 @@ def create_spawn_database_task(self,
                                    attempt: int):
         raise AbstractMethodException()
 
+    def create_spawn_test_container_task(self, network_info: DockerNetworkInfo,
+                                         certificate_volume_name: str, attempt: int):
+        return self.create_child_task_with_common_params(
+                SpawnTestContainer,
+                test_container_name=self.test_container_name,
+                network_info=network_info,
+                ip_address_index_in_subnet=1,
+                certificate_volume_name=certificate_volume_name,
+                attempt=attempt,
+                test_container_content=self.test_container_content
+                )
+
     def _wait_for_database(self,
                            database_info: DatabaseInfo,
-                           test_container_info: ContainerInfo,
                            attempt: int):
         database_ready_target_future = \
-            yield from self.run_dependencies(
-                self.create_wait_for_database_task(
-                    attempt, database_info, test_container_info))
+            yield from self.run_dependencies(self.create_wait_for_database_task(attempt, database_info))
         is_database_ready = self.get_values_from_futures(database_ready_target_future)
         return is_database_ready
 
     def create_wait_for_database_task(self,
                                       attempt: int,
-                                      database_info: DatabaseInfo,
-                                      test_container_info: ContainerInfo):
+                                      database_info: DatabaseInfo):
         raise AbstractMethodException()
-
-    def _setup_test_database(self, test_environment_info: EnvironmentInfo):
-        # TODO check if database is setup
-        if self.is_setup_database_activated:
-            self.logger.info("Setup database")
-            upload_tasks = [
-                self.create_child_task_with_common_params(
-                    UploadExaJDBC,
-                    test_environment_info=test_environment_info,
-                    reuse_uploaded=self.reuse_database_setup),
-                self.create_child_task_with_common_params(
-                    PopulateEngineSmallTestDataToDatabase,
-                    test_environment_info=test_environment_info,
-                    reuse_data=self.reuse_database_setup
-                )]
-            yield from self.run_dependencies(upload_tasks)
diff --git a/exasol_integration_test_docker_environment/lib/test_environment/analyze_test_container.py b/exasol_integration_test_docker_environment/lib/test_environment/analyze_test_container.py
index bf32aa633..ed9b335c9 100644
--- a/exasol_integration_test_docker_environment/lib/test_environment/analyze_test_container.py
+++ b/exasol_integration_test_docker_environment/lib/test_environment/analyze_test_container.py
@@ -1,7 +1,10 @@
 from typing import Set, Dict
 
+from exasol_integration_test_docker_environment.lib.base.json_pickle_parameter import JsonPickleParameter
 from exasol_integration_test_docker_environment.lib.config.docker_config import target_docker_repository_config, \
     source_docker_repository_config
+from exasol_integration_test_docker_environment.lib.data.test_container_content_description import \
+    TestContainerContentDescription
 from exasol_integration_test_docker_environment.lib.docker.images.create.docker_build_base import DockerBuildBase
 from exasol_integration_test_docker_environment.lib.docker.images.create.docker_image_analyze_task import \
     DockerAnalyzeImageTask
@@ -11,6 +14,7 @@
 
 
 class AnalyzeTestContainer(DockerAnalyzeImageTask):
+    test_container_content = JsonPickleParameter(TestContainerContentDescription)
 
     def get_target_repository_name(self) -> str:
         return f"""{target_docker_repository_config().repository_name}"""
@@ -31,10 +35,11 @@ def get_target_image_tag(self):
             return f"db-test-container"
 
     def get_mapping_of_build_files_and_directories(self):
-        return {"requirements.txt": "tests/requirements.txt", "ext": "ext"}
+        return {mapping.target: str(mapping.source) for mapping
+                in self.test_container_content.build_files_and_directories}
 
     def get_dockerfile(self):
-        return "tests/Dockerfile"
+        return str(self.test_container_content.docker_file)
 
     def is_rebuild_requested(self) -> bool:
         return False
@@ -42,8 +47,11 @@ def is_rebuild_requested(self) -> bool:
 
 class DockerTestContainerBuildBase(DockerBuildBase):
 
+    test_container_content = JsonPickleParameter(TestContainerContentDescription)
+
     def get_goal_class_map(self) -> Dict[str, DockerAnalyzeImageTask]:
-        goal_class_map = {"test-container": self.create_child_task(task_class=AnalyzeTestContainer)}
+        goal_class_map = {"test-container": self.create_child_task(task_class=AnalyzeTestContainer,
+                                                                   test_container_content=self.test_container_content)}
         return goal_class_map
 
     def get_default_goals(self) -> Set[str]:
diff --git a/exasol_integration_test_docker_environment/test/resources/test_test_container_reuse/ext/,gitkeep b/exasol_integration_test_docker_environment/lib/test_environment/create_certificates/__init__.py
similarity index 100%
rename from exasol_integration_test_docker_environment/test/resources/test_test_container_reuse/ext/,gitkeep
rename to exasol_integration_test_docker_environment/lib/test_environment/create_certificates/__init__.py
diff --git a/exasol_integration_test_docker_environment/lib/test_environment/create_certificates/analyze_certificate_container.py b/exasol_integration_test_docker_environment/lib/test_environment/create_certificates/analyze_certificate_container.py
new file mode 100644
index 000000000..8637dc0c4
--- /dev/null
+++ b/exasol_integration_test_docker_environment/lib/test_environment/create_certificates/analyze_certificate_container.py
@@ -0,0 +1,84 @@
+from typing import Set, Dict
+
+import luigi
+
+from exasol_integration_test_docker_environment.lib.config.docker_config import target_docker_repository_config, \
+    source_docker_repository_config
+from exasol_integration_test_docker_environment.lib.docker.images.create.docker_build_base import DockerBuildBase
+from exasol_integration_test_docker_environment.lib.docker.images.create.docker_image_analyze_task import \
+    DockerAnalyzeImageTask
+from exasol_integration_test_docker_environment.lib.docker.images.push.docker_push_parameter import DockerPushParameter
+from exasol_integration_test_docker_environment.lib.docker.images.push.push_task_creator_for_build_tasks import \
+    PushTaskCreatorFromBuildTasks
+
+TAG_SUFFIX = "certificate_resources"
+
+
+class AnalyzeCertificateContainer(DockerAnalyzeImageTask):
+    certificate_container_root_directory = luigi.Parameter()
+
+    def get_target_repository_name(self) -> str:
+        return f"""{target_docker_repository_config().repository_name}"""
+
+    def get_source_repository_name(self) -> str:
+        return f"""{source_docker_repository_config().repository_name}"""
+
+    def get_source_image_tag(self):
+        if source_docker_repository_config().tag_prefix != "":
+            return f"{source_docker_repository_config().tag_prefix}_{TAG_SUFFIX}"
+        else:
+            return TAG_SUFFIX
+
+    def get_target_image_tag(self):
+        if target_docker_repository_config().tag_prefix != "":
+            return f"{target_docker_repository_config().tag_prefix}_{TAG_SUFFIX}"
+        else:
+            return TAG_SUFFIX
+
+    def get_mapping_of_build_files_and_directories(self):
+        return {"create_certificates.sh": f"{self.certificate_container_root_directory}/create_certificates.sh"}
+
+    def get_dockerfile(self):
+        return f"{self.certificate_container_root_directory}/Dockerfile"
+
+    def is_rebuild_requested(self) -> bool:
+        return False
+
+
+class DockerCertificateBuildBase(DockerBuildBase):
+    GOAL = "certificate-container"
+    certificate_container_root_directory = luigi.Parameter()
+
+    def get_goal_class_map(self) -> Dict[str, DockerAnalyzeImageTask]:
+        goal_class_map = {self.GOAL: self.create_child_task(task_class=AnalyzeCertificateContainer,
+                                                            certificate_container_root_directory=
+                                                            self.certificate_container_root_directory)}
+        return goal_class_map
+
+    def get_default_goals(self) -> Set[str]:
+        goals = {self.GOAL}
+        return goals
+
+    def get_goals(self):
+        goals = {self.GOAL}
+        return goals
+
+
+class DockerCertificateContainerBuild(DockerCertificateBuildBase):
+
+    def run_task(self):
+        build_tasks = self.create_build_tasks(False)
+        image_infos_futures = yield from self.run_dependencies(build_tasks)
+        image_infos = self.get_values_from_futures(image_infos_futures)
+        self.return_object(image_infos)
+
+
+class DockerTestContainerPush(DockerCertificateBuildBase, DockerPushParameter):
+
+    def run_task(self):
+        build_tasks = self.create_build_tasks(shortcut_build=not self.push_all)
+        push_task_creator = PushTaskCreatorFromBuildTasks(self)
+        push_tasks = push_task_creator.create_tasks_for_build_tasks(build_tasks)
+        image_info_future = yield from self.run_dependencies(push_tasks)
+        image_info = self.get_values_from_futures(image_info_future)
+        self.return_object(image_info)
diff --git a/exasol_integration_test_docker_environment/lib/test_environment/create_ssl_certificates_task.py b/exasol_integration_test_docker_environment/lib/test_environment/create_certificates/create_ssl_certificates_task.py
similarity index 66%
rename from exasol_integration_test_docker_environment/lib/test_environment/create_ssl_certificates_task.py
rename to exasol_integration_test_docker_environment/lib/test_environment/create_certificates/create_ssl_certificates_task.py
index 5918a5562..2aaac81fe 100644
--- a/exasol_integration_test_docker_environment/lib/test_environment/create_ssl_certificates_task.py
+++ b/exasol_integration_test_docker_environment/lib/test_environment/create_certificates/create_ssl_certificates_task.py
@@ -1,22 +1,20 @@
+from typing import Dict
+
 import docker
 import luigi
-import pkg_resources
-from jinja2 import Template
-
-from exasol_integration_test_docker_environment.lib import PACKAGE_NAME
 from exasol_integration_test_docker_environment.lib.base.docker_base_task import DockerBaseTask
 from exasol_integration_test_docker_environment.lib.data.docker_volume_info import DockerVolumeInfo
-from exasol_integration_test_docker_environment.lib.test_environment.analyze_test_container import \
-    DockerTestContainerBuild
-from exasol_integration_test_docker_environment.lib.test_environment.docker_container_copy import \
-    copy_script_to_container
+from exasol_integration_test_docker_environment.lib.docker.images.image_info import ImageInfo
+from exasol_integration_test_docker_environment.lib.test_environment.create_certificates.analyze_certificate_container import \
+    DockerCertificateContainerBuild, DockerCertificateBuildBase
+from exasol_integration_test_docker_environment.lib.utils.resource_directory import ResourceDirectory
+import exasol_integration_test_docker_environment.certificate_resources.container
 
 CERTIFICATES_MOUNT_PATH = "/certificates"
 
 
 class CreateSSLCertificatesTask(DockerBaseTask):
     environment_name = luigi.Parameter()
-    test_container_name = luigi.Parameter()
     docker_runtime = luigi.OptionalParameter(None, significant=False)
     db_container_name = luigi.Parameter(significant=False)
     network_name = luigi.Parameter()
@@ -25,8 +23,23 @@ class CreateSSLCertificatesTask(DockerBaseTask):
     no_cleanup_after_failure = luigi.BoolParameter(False, significant=False)
     volume_name = luigi.Parameter()
 
+    def __init__(self, *args, **kwargs):
+        super().__init__(*args, **kwargs)
+        self._temp_resource_directory = \
+            ResourceDirectory(exasol_integration_test_docker_environment.certificate_resources.container)
+        self._temp_resource_directory.create()
+
+    def on_failure(self, exception):
+        super(CreateSSLCertificatesTask, self).on_failure(exception)
+        self._temp_resource_directory.cleanup()
+
+    def on_success(self):
+        super(CreateSSLCertificatesTask, self).on_success()
+        self._temp_resource_directory.cleanup()
+
     def run_task(self):
         self.volume_info = None
+        image_infos = yield from self.build_image()
         if self.reuse:
             self.logger.info("Try to reuse volume %s", self.volume_name)
             try:
@@ -36,14 +49,16 @@ def run_task(self):
                                     "Fallback to create new volume.")
         if self.volume_info is None:
             self.volume_info = self.create_docker_volume()
-            self.create_certificate()
+            self.create_certificate(image_infos)
 
         self.return_object(self.volume_info)
 
-    def register_required(self):
-        self.test_container_image_future = \
-            self.register_dependency(self.create_child_task(task_class=DockerTestContainerBuild))
-
+    def build_image(self) -> Dict[str, ImageInfo]:
+        task = self.create_child_task(task_class=DockerCertificateContainerBuild,
+                                      certificate_container_root_directory=self._temp_resource_directory.tmp_directory)
+        image_infos_future = yield from self.run_dependencies(task)
+        image_infos = self.get_values_from_future(image_infos_future)
+        return image_infos
 
     def get_volume_info(self, reused: bool) -> DockerVolumeInfo:
         with self._get_docker_client() as docker_client:
@@ -85,16 +100,8 @@ def _construct_complete_host_name(self):
         """
         return f"{self.db_container_name}.{self.network_name}"
 
-    def create_certificate(self) -> None:
-        script_name = "create_certificates.sh"
-        template_str = pkg_resources.resource_string(
-            PACKAGE_NAME,
-            f"test_container_config/{script_name}")  # type: bytes
-        template = Template(template_str.decode("utf-8"))
-        rendered_template = template.render(HOST_NAME=self._construct_complete_host_name,
-                                            cert_dir=CERTIFICATES_MOUNT_PATH)
-        test_container_image_info = \
-            self.get_values_from_futures(self.test_container_image_future)["test-container"]  # type:
+    def create_certificate(self, image_infos: Dict[str, ImageInfo]) -> None:
+        certificate_container_image_info = image_infos[DockerCertificateBuildBase.GOAL]
 
         volumes = {
             self.volume_info.volume_name: {
@@ -107,21 +114,21 @@ def create_certificate(self) -> None:
             try:
                 test_container = \
                     docker_client.containers.create(
-                        image=test_container_image_info.get_target_complete_name(),
-                        name=self.test_container_name,
+                        image=certificate_container_image_info.get_target_complete_name(),
+                        name="certificate_resources",
                         network_mode=None,
                         command="sleep infinity",
                         detach=True,
                         volumes=volumes,
-                        labels={"test_environment_name": self.environment_name, "container_type": "test_container"},
+                        labels={"test_environment_name": self.environment_name,
+                                "container_type": "certificate_resources"},
                         runtime=self.docker_runtime
                     )
                 test_container.start()
-                script_path_in_container = f"scripts/{script_name}"
-                copy_script_to_container(rendered_template, script_path_in_container, test_container)
-
                 self.logger.info("Creating certificates...")
-                exit_code, output = test_container.exec_run(f"bash {script_path_in_container}")
+                cmd = f"bash /scripts/create_certificates.sh " \
+                      f"{self._construct_complete_host_name} {CERTIFICATES_MOUNT_PATH}"
+                exit_code, output = test_container.exec_run(cmd)
                 self.logger.info(output.decode('utf-8'))
                 if exit_code != 0:
                     raise RuntimeError(f"Error creating certificates:'{output.decode('utf-8')}'")
diff --git a/exasol_integration_test_docker_environment/lib/test_environment/create_export_directory.py b/exasol_integration_test_docker_environment/lib/test_environment/create_export_directory.py
deleted file mode 100644
index 8449106e0..000000000
--- a/exasol_integration_test_docker_environment/lib/test_environment/create_export_directory.py
+++ /dev/null
@@ -1,16 +0,0 @@
-from pathlib import Path
-
-from exasol_integration_test_docker_environment.lib.base.dependency_logger_base_task import DependencyLoggerBaseTask
-
-
-class CreateExportDirectory(DependencyLoggerBaseTask):
-    # This task is needed because ExportContainerTask and SpawnTestContainer
-    # requires the releases directory which stores the exported container.
-    # However, we wanted to avoid that SpawnTestContainer depends on ExportContainerTask,
-    # because ExportContainerTask has a high runtime and SpawnTestContainer is port of SpawnTestEnvironment
-    # which has a long runtime, too.
-
-    def run_task(self):
-        export_directory = Path(self.get_cache_path(), "exports")
-        export_directory.mkdir(parents=True, exist_ok=True)
-        self.return_object(export_directory)
diff --git a/exasol_integration_test_docker_environment/lib/test_environment/database_setup/find_exaplus_in_db_container.py b/exasol_integration_test_docker_environment/lib/test_environment/database_setup/find_exaplus_in_db_container.py
new file mode 100644
index 000000000..67e70cbae
--- /dev/null
+++ b/exasol_integration_test_docker_environment/lib/test_environment/database_setup/find_exaplus_in_db_container.py
@@ -0,0 +1,21 @@
+from pathlib import PurePath
+
+import docker.models.containers
+
+
+def find_exaplus(db_container: docker.models.containers.Container) -> PurePath:
+    """
+    Tries to find path of exaplus in given container in directories where exaplus is normally installed.
+    :db_container Container where to search for exaplus
+    """
+    exit, output = db_container.exec_run(cmd="find /usr/opt /opt  -name 'exaplus' -type f")
+    if exit != 0:
+        raise RuntimeError(f"Exaplus not found on docker db! Output is {output}")
+    found_paths = list(filter(None, output.decode("UTF-8").split("\n")))
+    if len(found_paths) != 1:
+        raise RuntimeError(f"Error determining exaplus path! Output is {output}")
+    exaplus_path = PurePath(found_paths[0])
+    exit, output = db_container.exec_run(cmd=f"{exaplus_path} --help")
+    if exit != 0:
+        raise RuntimeError(f"Exaplus not working as expected! Output is {output}")
+    return exaplus_path
diff --git a/exasol_integration_test_docker_environment/lib/test_environment/database_setup/populate_data.py b/exasol_integration_test_docker_environment/lib/test_environment/database_setup/populate_data.py
index 795b79432..eb766cded 100644
--- a/exasol_integration_test_docker_environment/lib/test_environment/database_setup/populate_data.py
+++ b/exasol_integration_test_docker_environment/lib/test_environment/database_setup/populate_data.py
@@ -1,19 +1,19 @@
 import logging
-from pathlib import Path
+from pathlib import Path, PurePath
 
 import luigi
 
+from exasol_integration_test_docker_environment.abstract_method_exception import AbstractMethodException
 from exasol_integration_test_docker_environment.lib.base.docker_base_task import DockerBaseTask
 from exasol_integration_test_docker_environment.lib.base.json_pickle_parameter import JsonPickleParameter
 from exasol_integration_test_docker_environment.lib.data.database_credentials import DatabaseCredentialsParameter
 from exasol_integration_test_docker_environment.lib.data.environment_info import EnvironmentInfo
 
 
-class PopulateEngineSmallTestDataToDatabase(DockerBaseTask, DatabaseCredentialsParameter):
+class PopulateTestDataToDatabase(DockerBaseTask, DatabaseCredentialsParameter):
     logger = logging.getLogger('luigi-interface')
 
     environment_name = luigi.Parameter()
-    reuse_data = luigi.BoolParameter(False, significant=False)
     test_environment_info = JsonPickleParameter(
         EnvironmentInfo, significant=False)  # type: EnvironmentInfo
 
@@ -23,19 +23,18 @@ def __init__(self, *args, **kwargs):
         self._database_info = self.test_environment_info.database_info
 
     def run_task(self):
-        if self.reuse_data and self._database_info.reused:
-            self.logger.warning("Reusing data")
-            self.write_logs("Reused")
-        else:
-            self.populate_data()
-
-    def populate_data(self):
         self.logger.warning("Uploading data")
         username = self.db_user
         password = self.db_password
+        data_path_within_test_container = self.get_data_path_within_test_container()
+        data_file_within_data_path = self.get_data_file_within_data_path()
         with self._get_docker_client() as docker_client:
             test_container = docker_client.containers.get(self._test_container_info.container_name)
-            cmd = f"""cd /tests/test/enginedb_small; $EXAPLUS -c '{self._database_info.host}:{self._database_info.db_port}' -u '{username}' -p '{password}' -f import.sql -jdbcparam 'validateservercertificate=0'"""
+            cmd = f"cd {data_path_within_test_container}; " \
+                  f"$EXAPLUS -c '{self._database_info.host}:{self._database_info.db_port}' " \
+                  f"-x -u '{username}' -p '{password}' -f {data_file_within_data_path} " \
+                  f"-jdbcparam 'validateservercertificate=0'"
+
             bash_cmd = f"""bash -c "{cmd}" """
             exit_code, output = test_container.exec_run(cmd=bash_cmd)
         self.write_logs(output.decode("utf-8"))
@@ -46,3 +45,9 @@ def write_logs(self, output: str):
         log_file = Path(self.get_log_path(), "log")
         with log_file.open("w") as file:
             file.write(output)
+
+    def get_data_path_within_test_container(self) -> PurePath:
+        raise AbstractMethodException()
+
+    def get_data_file_within_data_path(self) -> PurePath:
+        raise AbstractMethodException()
diff --git a/exasol_integration_test_docker_environment/lib/test_environment/database_setup/upload_exa_jdbc.py b/exasol_integration_test_docker_environment/lib/test_environment/database_setup/upload_exa_jdbc.py
deleted file mode 100644
index 558614d1c..000000000
--- a/exasol_integration_test_docker_environment/lib/test_environment/database_setup/upload_exa_jdbc.py
+++ /dev/null
@@ -1,20 +0,0 @@
-from exasol_integration_test_docker_environment.lib.test_environment.database_setup.upload_file_to_db import \
-    UploadFileToBucketFS
-
-
-class UploadExaJDBC(UploadFileToBucketFS):
-
-    def get_log_file(self):
-        return "/exa/logs/cored/*bucketfsd*"
-
-    def get_pattern_to_wait_for(self):
-        return "exajdbc.jar.*linked"
-
-    def get_file_to_upload(self):
-        return "downloads/JDBC/exajdbc.jar"
-
-    def get_upload_target(self):
-        return "jdbc_adapter/exajdbc.jar"
-
-    def get_sync_time_estimation(self) -> int:
-        return 10
diff --git a/exasol_integration_test_docker_environment/lib/test_environment/database_setup/upload_file_to_db.py b/exasol_integration_test_docker_environment/lib/test_environment/database_setup/upload_file_to_db.py
index f5e579805..2cfb66559 100644
--- a/exasol_integration_test_docker_environment/lib/test_environment/database_setup/upload_file_to_db.py
+++ b/exasol_integration_test_docker_environment/lib/test_environment/database_setup/upload_file_to_db.py
@@ -1,7 +1,12 @@
 from pathlib import Path
+from typing import Tuple
 
 import luigi
 from docker.models.containers import Container
+from exasol_bucketfs_utils_python import list_files, upload
+from exasol_bucketfs_utils_python.bucket_config import BucketConfig
+from exasol_bucketfs_utils_python.bucketfs_config import BucketFSConfig
+from exasol_bucketfs_utils_python.bucketfs_connection_config import BucketFSConnectionConfig
 
 # TODO add timeout, because sometimes the upload stucks
 from exasol_integration_test_docker_environment.abstract_method_exception import AbstractMethodException
@@ -26,7 +31,6 @@ class UploadFileToBucketFS(DockerBaseTask):
 
     def __init__(self, *args, **kwargs):
         super().__init__(*args, **kwargs)
-        self._test_container_info = self.test_environment_info.test_container_info
         self._database_info = self.test_environment_info.database_info
 
     def run_task(self):
@@ -66,11 +70,13 @@ def upload_and_wait(self, database_container,
         sync_checker = self.get_sync_checker(database_container, sync_time_estimation,
                                              log_file, pattern_to_wait_for)
         sync_checker.prepare_upload()
-        output = self.upload_file(file_to_upload=file_to_upload, upload_target=upload_target)
-        sync_checker.wait_for_bucketfs_sync()
-        thread.stop()
-        thread.join()
-        self.write_logs(output)
+        try:
+            output = self.upload_file(file_to_upload=file_to_upload, upload_target=upload_target)
+            sync_checker.wait_for_bucketfs_sync()
+            self.write_logs(output)
+        finally:
+            thread.stop()
+            thread.join()
 
     def get_sync_checker(self, database_container: Container,
                          sync_time_estimation: int,
@@ -82,7 +88,7 @@ def get_sync_checker(self, database_container: Container,
                 log_file_to_check=log_file,
                 pattern_to_wait_for=pattern_to_wait_for,
                 logger=self.logger,
-                bucketfs_write_password=self.bucketfs_write_password
+                bucketfs_write_password=str(self.bucketfs_write_password)
             )
         else:
             return TimeBasedBucketFSSyncWaiter(sync_time_estimation)
@@ -90,56 +96,53 @@ def get_sync_checker(self, database_container: Container,
     def should_be_reused(self, upload_target: str):
         return self.reuse_uploaded and self.exist_file_in_bucketfs(upload_target)
 
+    @staticmethod
+    def split_upload_target(upload_target: str) -> Tuple[str, str]:
+        upload_parts = upload_target.split("/")
+        bucket_name = upload_parts[0]
+        upload_target_in_bucket = "/".join(upload_parts[1:])
+        return bucket_name, upload_target_in_bucket
+
     def exist_file_in_bucketfs(self, upload_target: str) -> bool:
         self.logger.info("Check if file %s exist in bucketfs", upload_target)
-        command = self.generate_list_command(upload_target)
-        exit_code, log_output = self.run_command("list", command)
-
-        if exit_code != 0:
-            self.write_logs(log_output)
-            raise Exception("List files in bucketfs failed, got following output %s"
-                            % (log_output))
-        upload_target_in_bucket = "/".join(upload_target.split("/")[1:])
-        if upload_target_in_bucket in log_output.splitlines():
-            return True
-        else:
+        bucket_name, upload_target = self.split_upload_target(upload_target)
+
+        bucket_config = self.generate_bucket_config(bucket_name)
+        try:
+            files = list_files.list_files_in_bucketfs(
+                bucket_config=bucket_config,
+                bucket_file_path=upload_target)
+            if upload_target not in files:
+                raise RuntimeError(f"Unexpected behavior of list_files.list_files_in_bucketfs. "
+                                   f"bucket_file_path='{upload_target}' was requested, but not returned.")
+        except FileNotFoundError as ex:
             return False
-
-    def generate_list_command(self, upload_target: str):
-        bucket = upload_target.split("/")[0]
-        url = "http://w:{password}@{host}:{port}/{bucket}".format(
-            host=self._database_info.host, port=self._database_info.bucketfs_port,
-            bucket=bucket, password=self.bucketfs_write_password)
-        cmd = f"curl --silent --show-error --fail '{url}'"
-        return cmd
+        return True
+
+    def generate_bucket_config(self, bucket_name: str) -> BucketConfig:
+        connection_config = BucketFSConnectionConfig(
+            host=self._database_info.host, port=int(self._database_info.bucketfs_port),
+            user="w", pwd=str(self.bucketfs_write_password),
+            is_https=False)
+        bucketfs_config = BucketFSConfig(
+            connection_config=connection_config,
+            bucketfs_name="bfsdefault")
+        bucket_config = BucketConfig(
+            bucket_name=bucket_name,
+            bucketfs_config=bucketfs_config)
+        return bucket_config
 
     def upload_file(self, file_to_upload: str, upload_target: str):
         self.logger.info("upload file %s to %s",
                          file_to_upload, upload_target)
-        exit_code, log_output = self.run_command("upload", "ls " + str(Path(file_to_upload).parent))
-        command = self.generate_upload_command(file_to_upload, upload_target)
-        exit_code, log_output = self.run_command("upload", command)
-        if exit_code != 0:
-            self.write_logs(log_output)
-            raise Exception("Upload of %s failed, got following output %s"
-                            % (file_to_upload, log_output))
-        return log_output
-
-    def generate_upload_command(self, file_to_upload, upload_target):
-        url = "http://w:{password}@{host}:{port}/{target}".format(
-            host=self._database_info.host, port=self._database_info.bucketfs_port,
-            target=upload_target, password=self.bucketfs_write_password)
-        cmd = f"curl --silent --show-error --fail -X PUT -T '{file_to_upload}' '{url}'"
-        return cmd
-
-    def run_command(self, command_type, cmd):
-        with self._get_docker_client() as docker_client:
-            test_container = docker_client.containers.get(self._test_container_info.container_name)
-            self.logger.info("start %s command %s", command_type, cmd)
-            exit_code, output = test_container.exec_run(cmd=cmd)
-            self.logger.info("finish %s command %s", command_type, cmd)
-            log_output = cmd + "\n\n" + output.decode("utf-8")
-            return exit_code, log_output
+        bucket_name, upload_target = self.split_upload_target(upload_target)
+
+        bucket_config = self.generate_bucket_config(bucket_name)
+        upload.upload_file_to_bucketfs(
+            bucket_config=bucket_config,
+            bucket_file_path=upload_target,
+            local_file_path=Path(file_to_upload))
+        return f"File '{file_to_upload}' to '{upload_target}'"
 
     def write_logs(self, output):
         log_file = Path(self.get_log_path(), "log")
diff --git a/exasol_integration_test_docker_environment/lib/test_environment/database_waiters/is_database_ready_thread.py b/exasol_integration_test_docker_environment/lib/test_environment/database_waiters/is_database_ready_thread.py
index cf8687bd3..062b3c03a 100644
--- a/exasol_integration_test_docker_environment/lib/test_environment/database_waiters/is_database_ready_thread.py
+++ b/exasol_integration_test_docker_environment/lib/test_environment/database_waiters/is_database_ready_thread.py
@@ -1,10 +1,13 @@
 import time
+from pathlib import PurePath
 from threading import Thread
 
 from docker.models.containers import Container
 
 from exasol_integration_test_docker_environment.lib.data.database_credentials import DatabaseCredentials
 from exasol_integration_test_docker_environment.lib.data.database_info import DatabaseInfo
+from exasol_integration_test_docker_environment.lib.test_environment.database_setup.find_exaplus_in_db_container import \
+    find_exaplus
 
 
 class IsDatabaseReadyThread(Thread):
@@ -12,46 +15,56 @@ class IsDatabaseReadyThread(Thread):
     def __init__(self,
                  logger,
                  database_info: DatabaseInfo,
+                 database_container: Container,
                  database_credentials: DatabaseCredentials,
-                 test_container: Container):
+                 docker_db_image_version: str):
         super().__init__()
         self.logger = logger
         self.database_credentials = database_credentials
         self._database_info = database_info
-        self.test_container = test_container
+        self._db_container = database_container
         self.finish = False
         self.is_ready = False
         self.output_db_connection = None
         self.output_bucketfs_connection = None
+        self.docker_db_image_version = docker_db_image_version
 
     def stop(self):
         self.logger.info("Stop IsDatabaseReadyThread")
         self.finish = True
 
     def run(self):
-        db_connection_command = self.create_db_connection_command()
-        bucket_fs_connection_command = self.create_bucketfs_connection_command()
+        db_connection_command = ""
+        bucket_fs_connection_command = ""
+        try:
+            exaplus_path = find_exaplus(self._db_container)
+            db_connection_command = self.create_db_connection_command(exaplus_path)
+            bucket_fs_connection_command = self.create_bucketfs_connection_command()
+        except RuntimeError as e:
+            self.logger.error(e)
+            self.finish = True
         while not self.finish:
             (exit_code_db_connection, self.output_db_connection) = \
-                self.test_container.exec_run(cmd=db_connection_command)
+                self._db_container.exec_run(cmd=db_connection_command)
             (exit_code_bucketfs_connection, self.output_bucketfs_connection) = \
-                self.test_container.exec_run(cmd=bucket_fs_connection_command)
+                self._db_container.exec_run(cmd=bucket_fs_connection_command)
             if exit_code_db_connection == 0 and exit_code_bucketfs_connection == 0:
                 self.finish = True
                 self.is_ready = True
             time.sleep(1)
 
-    def create_db_connection_command(self):
+    def create_db_connection_command(self, exaplus_path: PurePath):
         username = self.database_credentials.db_user
         password = self.database_credentials.db_password
-        connection_options = f"""-c '{self._database_info.host}:{self._database_info.db_port}' -u '{username}' -p '{password}'"""
-        cmd = f"""$EXAPLUS {connection_options}  -sql 'select 1;' -jdbcparam 'validateservercertificate=0'"""
+        connection_options = f"""-c 'localhost:{self._database_info.db_port}' -u '{username}' -p '{password}'"""
+
+        cmd = f"""{exaplus_path} {connection_options}  -sql 'select 1;' -jdbcparam 'validateservercertificate=0'"""
         bash_cmd = f"""bash -c "{cmd}" """
         return bash_cmd
 
     def create_bucketfs_connection_command(self):
         username = "w"
         password = self.database_credentials.bucketfs_write_password
-        cmd = f"""curl --silent --show-error --fail '{username}:{password}@{self._database_info.host}:{self._database_info.bucketfs_port}'"""
+        cmd = f"""curl --silent --show-error --fail '{username}:{password}@localhost:{self._database_info.bucketfs_port}'"""
         bash_cmd = f"""bash -c "{cmd}" """
         return bash_cmd
diff --git a/exasol_integration_test_docker_environment/lib/test_environment/database_waiters/wait_for_external_database.py b/exasol_integration_test_docker_environment/lib/test_environment/database_waiters/wait_for_external_database.py
index 43e352fa1..d9d9625b5 100644
--- a/exasol_integration_test_docker_environment/lib/test_environment/database_waiters/wait_for_external_database.py
+++ b/exasol_integration_test_docker_environment/lib/test_environment/database_waiters/wait_for_external_database.py
@@ -16,28 +16,27 @@
 class WaitForTestExternalDatabase(DockerBaseTask,
                                   DatabaseCredentialsParameter):
     environment_name = luigi.Parameter()
-    test_container_info = JsonPickleParameter(ContainerInfo, significant=False)  # type: ContainerInfo
     database_info = JsonPickleParameter(DatabaseInfo, significant=False)  # type: DatabaseInfo
     db_startup_timeout_in_seconds = luigi.IntParameter(1 * 60, significant=False)
     attempt = luigi.IntParameter(1)
 
     def run_task(self):
         with self._get_docker_client() as docker_client:
-            test_container = docker_client.containers.get(self.test_container_info.container_name)
-            is_database_ready = self.wait_for_database_startup(test_container)
+            db_container_name = self.database_info.container_info.container_name
+            is_database_ready = self.wait_for_database_startup(db_container_name)
             self.return_object(is_database_ready)
 
-    def wait_for_database_startup(self, test_container: Container):
-        is_database_ready_thread = self.start_wait_threads(test_container)
+    def wait_for_database_startup(self, db_container: Container):
+        is_database_ready_thread = self.start_wait_threads(db_container)
         is_database_ready = self.wait_for_threads(is_database_ready_thread)
         self.join_threads(is_database_ready_thread)
         return is_database_ready
 
-    def start_wait_threads(self, test_container):
+    def start_wait_threads(self, db_container):
         is_database_ready_thread = IsDatabaseReadyThread(self.logger,
                                                          self.database_info,
                                                          self.get_database_credentials(),
-                                                         test_container)
+                                                         db_container)
         is_database_ready_thread.start()
         return is_database_ready_thread
 
diff --git a/exasol_integration_test_docker_environment/lib/test_environment/database_waiters/wait_for_test_docker_database.py b/exasol_integration_test_docker_environment/lib/test_environment/database_waiters/wait_for_test_docker_database.py
index 81b47ab5d..f2dc0b7d0 100644
--- a/exasol_integration_test_docker_environment/lib/test_environment/database_waiters/wait_for_test_docker_database.py
+++ b/exasol_integration_test_docker_environment/lib/test_environment/database_waiters/wait_for_test_docker_database.py
@@ -8,7 +8,6 @@
 
 from exasol_integration_test_docker_environment.lib.base.docker_base_task import DockerBaseTask
 from exasol_integration_test_docker_environment.lib.base.json_pickle_parameter import JsonPickleParameter
-from exasol_integration_test_docker_environment.lib.data.container_info import ContainerInfo
 from exasol_integration_test_docker_environment.lib.data.database_credentials import DatabaseCredentialsParameter
 from exasol_integration_test_docker_environment.lib.data.database_info import DatabaseInfo
 from exasol_integration_test_docker_environment.lib.test_environment.database_waiters.db_container_log_thread import \
@@ -19,33 +18,31 @@
 
 class WaitForTestDockerDatabase(DockerBaseTask, DatabaseCredentialsParameter):
     environment_name = luigi.Parameter()
-    test_container_info = JsonPickleParameter(ContainerInfo, significant=False)  # type: ContainerInfo
     database_info = JsonPickleParameter(DatabaseInfo, significant=False)  # type: DatabaseInfo
     db_startup_timeout_in_seconds = luigi.IntParameter(10 * 60, significant=False)
     attempt = luigi.IntParameter(1)
+    docker_db_image_version = luigi.Parameter()
 
     def run_task(self):
         with self._get_docker_client() as docker_client:
-            test_container = docker_client.containers.get(self.test_container_info.container_name)
             db_container_name = self.database_info.container_info.container_name
             db_container = docker_client.containers.get(db_container_name)
             is_database_ready = \
-                self.wait_for_database_startup(test_container, db_container)
+                self.wait_for_database_startup(db_container)
             after_startup_db_log_file = self.get_log_path().joinpath("after_startup_db_log.tar.gz")
             self.save_db_log_files_as_gzip_tar(after_startup_db_log_file, db_container)
             self.return_object(is_database_ready)
 
     def wait_for_database_startup(self,
-                                  test_container: Container,
                                   db_container: Container):
         container_log_thread, is_database_ready_thread = \
-            self.start_wait_threads(db_container, test_container)
+            self.start_wait_threads(db_container)
         is_database_ready = \
             self.wait_for_threads(container_log_thread, is_database_ready_thread)
         self.join_threads(container_log_thread, is_database_ready_thread)
         return is_database_ready
 
-    def start_wait_threads(self, db_container, test_container):
+    def start_wait_threads(self, db_container: Container):
         startup_log_file = self.get_log_path().joinpath("startup.log")
         container_log_thread = DBContainerLogThread(db_container,
                                                     self.logger,
@@ -54,8 +51,9 @@ def start_wait_threads(self, db_container, test_container):
         container_log_thread.start()
         is_database_ready_thread = IsDatabaseReadyThread(self.logger,
                                                          self.database_info,
+                                                         db_container,
                                                          self.get_database_credentials(),
-                                                         test_container)
+                                                         self.docker_db_image_version)
         is_database_ready_thread.start()
         return container_log_thread, is_database_ready_thread
 
@@ -76,9 +74,12 @@ def wait_for_threads(self, container_log_thread: DBContainerLogThread,
                 is_database_ready = False
                 reason = "error message in container log"
                 break
-            if is_database_ready_thread.finish:
+            if is_database_ready_thread.finish and is_database_ready_thread.is_ready:
                 is_database_ready = True
                 break
+            elif is_database_ready_thread.finish:
+                reason = "error in is_database_ready_thread"
+                break
             if self.timeout_occured(start_time):
                 reason = f"timeout after after {self.db_startup_timeout_in_seconds} seconds"
                 is_database_ready = False
diff --git a/exasol_integration_test_docker_environment/lib/test_environment/parameter/docker_db_test_environment_parameter.py b/exasol_integration_test_docker_environment/lib/test_environment/parameter/docker_db_test_environment_parameter.py
index de46583d3..be131e0d4 100644
--- a/exasol_integration_test_docker_environment/lib/test_environment/parameter/docker_db_test_environment_parameter.py
+++ b/exasol_integration_test_docker_environment/lib/test_environment/parameter/docker_db_test_environment_parameter.py
@@ -10,6 +10,6 @@ class DockerDBTestEnvironmentParameter(Config):
     no_database_cleanup_after_failure = luigi.BoolParameter(False, significant=False)
     database_port_forward = luigi.OptionalParameter(None, significant=False)
     bucketfs_port_forward = luigi.OptionalParameter(None, significant=False)
-    mem_size = luigi.OptionalParameter("2 GiB",significant=False)
-    disk_size = luigi.OptionalParameter("2 GiB",significant=False)
-    nameservers = luigi.ListParameter([],significant=False)
+    mem_size = luigi.OptionalParameter("2 GiB", significant=False)
+    disk_size = luigi.OptionalParameter("2 GiB", significant=False)
+    nameservers = luigi.ListParameter([], significant=False)
diff --git a/exasol_integration_test_docker_environment/lib/test_environment/parameter/general_spawn_test_environment_parameter.py b/exasol_integration_test_docker_environment/lib/test_environment/parameter/general_spawn_test_environment_parameter.py
index c8003b066..429d2a034 100644
--- a/exasol_integration_test_docker_environment/lib/test_environment/parameter/general_spawn_test_environment_parameter.py
+++ b/exasol_integration_test_docker_environment/lib/test_environment/parameter/general_spawn_test_environment_parameter.py
@@ -1,6 +1,10 @@
 import luigi
 from luigi import Config
 
+from exasol_integration_test_docker_environment.lib.base.json_pickle_parameter import JsonPickleParameter
+from exasol_integration_test_docker_environment.lib.data.test_container_content_description import \
+    TestContainerContentDescription
+
 
 class GeneralSpawnTestEnvironmentParameter(Config):
 
@@ -9,6 +13,6 @@ class GeneralSpawnTestEnvironmentParameter(Config):
     no_test_container_cleanup_after_success = luigi.BoolParameter(False, significant=False)
     no_test_container_cleanup_after_failure = luigi.BoolParameter(False, significant=False)
     max_start_attempts = luigi.IntParameter(2, significant=False)
-    is_setup_database_activated = luigi.BoolParameter(True, significant=False)
     docker_runtime = luigi.OptionalParameter(None, significant=False)
-    create_certificates = luigi.BoolParameter()
\ No newline at end of file
+    create_certificates = luigi.BoolParameter()
+    test_container_content = JsonPickleParameter(TestContainerContentDescription, is_optional=True)
diff --git a/exasol_integration_test_docker_environment/lib/test_environment/spawn_test_container.py b/exasol_integration_test_docker_environment/lib/test_environment/spawn_test_container.py
index 78d8ca182..359d1e03f 100644
--- a/exasol_integration_test_docker_environment/lib/test_environment/spawn_test_container.py
+++ b/exasol_integration_test_docker_environment/lib/test_environment/spawn_test_container.py
@@ -1,4 +1,3 @@
-import pathlib
 from typing import List
 
 import luigi
@@ -12,11 +11,11 @@
 from exasol_integration_test_docker_environment.lib.base.json_pickle_parameter import JsonPickleParameter
 from exasol_integration_test_docker_environment.lib.data.container_info import ContainerInfo
 from exasol_integration_test_docker_environment.lib.data.docker_network_info import DockerNetworkInfo
+from exasol_integration_test_docker_environment.lib.data.test_container_content_description import \
+    TestContainerContentDescription
 from exasol_integration_test_docker_environment.lib.docker.images.image_info import ImageState, ImageInfo
 from exasol_integration_test_docker_environment.lib.test_environment.analyze_test_container import \
     DockerTestContainerBuild
-from exasol_integration_test_docker_environment.lib.test_environment.create_export_directory import \
-    CreateExportDirectory
 from exasol_integration_test_docker_environment.lib.test_environment.docker_container_copy import \
     copy_script_to_container
 
@@ -33,6 +32,7 @@ class SpawnTestContainer(DockerBaseTask):
     no_test_container_cleanup_after_failure = luigi.BoolParameter(False, significant=False)
     docker_runtime = luigi.OptionalParameter(None, significant=False)
     certificate_volume_name = luigi.OptionalParameter(None, significant=False)
+    test_container_content = JsonPickleParameter(TestContainerContentDescription)
 
     def __init__(self, *args, **kwargs):
         super().__init__(*args, **kwargs)
@@ -43,9 +43,8 @@ def __init__(self, *args, **kwargs):
 
     def register_required(self):
         self.test_container_image_future = \
-            self.register_dependency(self.create_child_task(task_class=DockerTestContainerBuild))
-        self.export_directory_future = \
-            self.register_dependency(self.create_child_task(task_class=CreateExportDirectory))
+            self.register_dependency(self.create_child_task(task_class=DockerTestContainerBuild,
+                                                            test_container_content=self.test_container_content))
 
     def is_reuse_possible(self) -> bool:
         test_container_image_info = \
@@ -74,18 +73,22 @@ def run_task(self):
             container_info = self._create_test_container(ip_address, self.network_info)
         with self._get_docker_client() as docker_client:
             docker_client.containers.get(self.test_container_name)
-        self._copy_tests()
+        self._copy_runtime_targets()
         self.return_object(container_info)
 
-    def _copy_tests(self):
-        self.logger.warning("Copy tests in test container %s.", self.test_container_name)
+    def _copy_runtime_targets(self):
+        self.logger.info("Copy runtime targets in test container %s.", self.test_container_name)
         with self._get_docker_client() as docker_client:
             test_container = docker_client.containers.get(self.test_container_name)
-            try:
-                test_container.exec_run(cmd="rm -r /tests")
-            except:
-                pass
-            test_container.exec_run(cmd="cp -r /tests_src /tests")
+            for runtime_mapping in self.test_container_content.runtime_mappings:
+                if runtime_mapping.deployment_target is not None:
+                    self.logger.warning(f"Copy runtime target {runtime_mapping.target} "
+                                        f"in test container {self.test_container_name}.")
+                    try:
+                        test_container.exec_run(cmd=f"rm -r {runtime_mapping.deployment_target}")
+                    except:
+                        pass
+                    test_container.exec_run(cmd=f"cp -r {runtime_mapping.target} {runtime_mapping.deployment_target}")
 
     def _try_to_reuse_test_container(self, ip_address: str,
                                      network_info: DockerNetworkInfo) -> ContainerInfo:
@@ -107,21 +110,12 @@ def _create_test_container(self, ip_address,
         test_container_image_info = \
             self.get_values_from_futures(self.test_container_image_future)["test-container"]
 
-        # A later task which uses the test_container needs the exported container,
-        # but to access exported container from inside the test_container,
-        # we need to mount the release directory into the test_container.
-        exports_host_path = pathlib.Path(self._get_export_directory()).absolute()
-        tests_host_path = pathlib.Path("./tests").absolute()
-        volumes = {
-            exports_host_path: {
-                "bind": "/exports",
-                "mode": "rw"
-            },
-            tests_host_path: {
-                "bind": "/tests_src",
+        volumes = dict()
+        for runtime_mapping in self.test_container_content.runtime_mappings:
+            volumes[runtime_mapping.source.absolute()] = {
+                "bind": runtime_mapping.target,
                 "mode": "rw"
-            },
-        }
+            }
         if self.certificate_volume_name is not None:
             volumes[self.certificate_volume_name] = {
                 "bind": "/certificates",
@@ -189,7 +183,7 @@ def register_certificates(self, test_container: Container):
             script_name = "install_root_certificate.sh"
             script_str = pkg_resources.resource_string(
                 PACKAGE_NAME,
-                f"test_container_config/{script_name}")  # type: bytes
+                f"certificate_resources/{script_name}")  # type: bytes
 
             script_location_in_container = f"scripts/{script_name}"
             copy_script_to_container(script_str.decode("UTF-8"), script_location_in_container, test_container)
@@ -206,4 +200,3 @@ def cleanup_task(self, success: bool):
                 self._remove_container(self.test_container_name)
             except Exception as e:
                 self.logger.error(f"Error during removing container %s: %s", self.test_container_name, e)
-
diff --git a/exasol_integration_test_docker_environment/lib/test_environment/spawn_test_environment_with_docker_db.py b/exasol_integration_test_docker_environment/lib/test_environment/spawn_test_environment_with_docker_db.py
index 413c0f33c..b4556f748 100644
--- a/exasol_integration_test_docker_environment/lib/test_environment/spawn_test_environment_with_docker_db.py
+++ b/exasol_integration_test_docker_environment/lib/test_environment/spawn_test_environment_with_docker_db.py
@@ -7,7 +7,7 @@
 from exasol_integration_test_docker_environment.lib.data.environment_type import EnvironmentType
 from exasol_integration_test_docker_environment.lib.test_environment.abstract_spawn_test_environment import \
     AbstractSpawnTestEnvironment
-from exasol_integration_test_docker_environment.lib.test_environment.create_ssl_certificates_task import \
+from exasol_integration_test_docker_environment.lib.test_environment.create_certificates.create_ssl_certificates_task import \
     CreateSSLCertificatesTask
 from exasol_integration_test_docker_environment.lib.test_environment.database_waiters.wait_for_test_docker_database import \
     WaitForTestDockerDatabase
@@ -39,7 +39,6 @@ def create_ssl_certificates(self):
             self.create_child_task_with_common_params(
                 CreateSSLCertificatesTask,
                 environment_name=self.environment_name,
-                test_container_name=self.test_container_name,
                 db_container_name=self.db_container_name,
                 network_name=self.network_name,
                 docker_runtime=self.docker_runtime,
@@ -80,11 +79,10 @@ def create_spawn_database_task(self,
 
     def create_wait_for_database_task(self,
                                       attempt: int,
-                                      database_info: DatabaseInfo,
-                                      test_container_info: ContainerInfo):
+                                      database_info: DatabaseInfo):
         return \
             self.create_child_task_with_common_params(
                 WaitForTestDockerDatabase,
-                test_container_info=test_container_info,
                 database_info=database_info,
-                attempt=attempt)
+                attempt=attempt,
+                docker_db_image_version=self.docker_db_image_version)
diff --git a/exasol_integration_test_docker_environment/lib/test_environment/spawn_test_environment_with_external_db.py b/exasol_integration_test_docker_environment/lib/test_environment/spawn_test_environment_with_external_db.py
index d979763ad..f09e6d6ed 100644
--- a/exasol_integration_test_docker_environment/lib/test_environment/spawn_test_environment_with_external_db.py
+++ b/exasol_integration_test_docker_environment/lib/test_environment/spawn_test_environment_with_external_db.py
@@ -1,6 +1,5 @@
 from typing import Optional
 
-from exasol_integration_test_docker_environment.lib.data.container_info import ContainerInfo
 from exasol_integration_test_docker_environment.lib.data.database_info import DatabaseInfo
 from exasol_integration_test_docker_environment.lib.data.docker_network_info import DockerNetworkInfo
 from exasol_integration_test_docker_environment.lib.data.docker_volume_info import DockerVolumeInfo
@@ -48,11 +47,9 @@ def create_spawn_database_task(self, network_info: DockerNetworkInfo,
 
     def create_wait_for_database_task(self,
                                       attempt: int,
-                                      database_info: DatabaseInfo,
-                                      test_container_info: ContainerInfo):
+                                      database_info: DatabaseInfo):
         return \
             self.create_child_task_with_common_params(
                 WaitForTestExternalDatabase,
-                test_container_info=test_container_info,
                 database_info=database_info,
                 attempt=attempt)
diff --git a/exasol_integration_test_docker_environment/test/resources/test_test_container_reuse/tests/requirements.txt b/exasol_integration_test_docker_environment/lib/utils/__init__.py
similarity index 100%
rename from exasol_integration_test_docker_environment/test/resources/test_test_container_reuse/tests/requirements.txt
rename to exasol_integration_test_docker_environment/lib/utils/__init__.py
diff --git a/exasol_integration_test_docker_environment/lib/utils/resource_directory.py b/exasol_integration_test_docker_environment/lib/utils/resource_directory.py
new file mode 100644
index 000000000..cfe2b35f7
--- /dev/null
+++ b/exasol_integration_test_docker_environment/lib/utils/resource_directory.py
@@ -0,0 +1,87 @@
+import importlib
+import logging
+import tempfile
+from pathlib import Path
+from types import ModuleType
+
+import importlib_resources as ir
+
+LOG = logging.getLogger("resource_directory")
+
+
+def _copy_importlib_resources_file(src_file: ir.abc.Traversable, target_file: Path) -> None:
+    """
+    Uses a given source path "src_file" given as an importlib_resources.abc.Traversable to copy the file it points to
+    into the destination denoted by target_path.
+    :param src_file: Location of the file to be copied, given as importlib_resources.abc.Traversable.
+    :param target_file: Path object the location file should be copied to.
+    :raises RuntimeError if parameter target_file already exists.
+    """
+    if src_file.name == "__init__.py":
+        LOG.debug(f"Ignoring {src_file} for repository.")
+        return
+    if target_file.exists():
+        error = f"Repository target: {target_file} already exists."
+        LOG.error(error)
+        raise RuntimeError(error)
+
+    content = src_file.read_bytes()
+    with open(target_file, "wb") as file:
+        file.write(content)
+
+
+def _copy_importlib_resources_dir_tree(src_path: ir.abc.Traversable, target_path: Path) -> None:
+    """
+    Uses a given source path "scr_path" given as an importlib_resources.abc.Traversable to copy all files/directories
+    in the directory tree whose root is scr_path into target_path.
+    :param src_path: Root of the dir tree to be copied, given as importlib_resources.abc.Traversable.
+    :param target_path: Path object the dir tree should be copied to.
+    :raises RuntimeError if parameter target_file already exists.
+    """
+    if not target_path.exists():
+        target_path.mkdir()
+    for file in src_path.iterdir():
+        file_target = target_path / file.name
+        if file.is_file():
+            _copy_importlib_resources_file(file, file_target)
+        else:
+            file_target.mkdir(exist_ok=True)
+            _copy_importlib_resources_dir_tree(file, file_target)
+
+
+class ResourceDirectory:
+    """
+    Copies all files stored within the given package (resource_package) into a temporary directory
+    and yields the directory name.
+    :resource_package The module whose content should be copied to a temporary directory.
+    """
+
+    def __init__(self, resource_package: ModuleType):
+        # We need to transform the module to a string and later back to a module
+        # because this class will be pickled by luigi and modules are not supported for serialization
+        self._resource_package_str = resource_package.__name__
+        self._tmp_directory = None
+
+    @property
+    def tmp_directory(self):
+        if self._tmp_directory is not None:
+            return self._tmp_directory.name
+        else:
+            return None
+
+    def create(self) -> str:
+        self._tmp_directory = tempfile.TemporaryDirectory()
+        source_path = ir.files(self._resource_package_str)
+        LOG.debug(f"Copying resource package: '{self._resource_package_str}' to '{self._tmp_directory.name}'")
+        _copy_importlib_resources_dir_tree(source_path, Path(self._tmp_directory.name))
+        return self._tmp_directory.name
+
+    def cleanup(self):
+        self._tmp_directory.cleanup()
+        self._tmp_directory = None
+
+    def __enter__(self):
+        return self.create()
+
+    def __exit__(self, exc_type, exc_val, exc_tb):
+        self.cleanup()
diff --git a/exasol_integration_test_docker_environment/test/get_test_container_content.py b/exasol_integration_test_docker_environment/test/get_test_container_content.py
new file mode 100644
index 000000000..9ff2bd549
--- /dev/null
+++ b/exasol_integration_test_docker_environment/test/get_test_container_content.py
@@ -0,0 +1,17 @@
+from pathlib import Path
+from typing import Tuple
+
+from exasol_integration_test_docker_environment.lib.data.test_container_content_description import \
+    TestContainerContentDescription, TestContainerBuildMapping, TestContainerRuntimeMapping
+
+TEST_CONTAINER_PATH = Path(__file__).parent / "resources" / "test_container"
+
+
+def get_test_container_content(runtime_mapping: Tuple[TestContainerRuntimeMapping] = tuple()) \
+        -> TestContainerContentDescription:
+    return TestContainerContentDescription(
+        docker_file=f"{TEST_CONTAINER_PATH}/Dockerfile",
+        build_files_and_directories=[TestContainerBuildMapping(source=TEST_CONTAINER_PATH / "test.txt",
+                                                               target="test.text")],
+        runtime_mappings=list(runtime_mapping)
+    )
diff --git a/tests/Dockerfile b/exasol_integration_test_docker_environment/test/resources/test_container/Dockerfile
similarity index 71%
rename from tests/Dockerfile
rename to exasol_integration_test_docker_environment/test/resources/test_container/Dockerfile
index df637f753..189e77d7c 100644
--- a/tests/Dockerfile
+++ b/exasol_integration_test_docker_environment/test/resources/test_container/Dockerfile
@@ -1,12 +1,11 @@
 FROM ubuntu:20.04
-ENV DEBIAN_FRONTEND=noninteractive
 
-COPY ext/01_nodoc /etc/dpkg/dpkg.cfg.d/01_nodoc
+ENV DEBIAN_FRONTEND=noninteractive
 
 RUN apt-get -y update && \
     apt-get -y install \
-        openjdk-11-jdk \
         perl \
+        openjdk-11-jdk \
         locales \
         curl && \
     locale-gen en_US.UTF-8 && \
@@ -15,9 +14,11 @@ RUN apt-get -y update && \
     apt-get -y autoremove && \
     ldconfig
 
+
 RUN curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh
 
-RUN mkdir -p downloads/JDBC downloads/EXAplus
-RUN curl -s https://www.exasol.com/support/secure/attachment/175412/EXASOL_JDBC-7.1.3.tar.gz | tar -C downloads/JDBC --strip-components 1 -zxf -
+RUN mkdir -p downloads/EXAplus
 RUN curl -s https://www.exasol.com/support/secure/attachment/175394/EXAplus-7.1.3.tar.gz | tar -C downloads/EXAplus --strip-components 1 -zxf -
 ENV EXAPLUS=/downloads/EXAplus/exaplus
+
+COPY test.text /test.text
\ No newline at end of file
diff --git a/exasol_integration_test_docker_environment/test/resources/test_container/test.txt b/exasol_integration_test_docker_environment/test/resources/test_container/test.txt
new file mode 100644
index 000000000..037869c9e
--- /dev/null
+++ b/exasol_integration_test_docker_environment/test/resources/test_container/test.txt
@@ -0,0 +1,1 @@
+Empty File
\ No newline at end of file
diff --git a/tests/test/enginedb_small/csv/ENGINETABLE.csv b/exasol_integration_test_docker_environment/test/resources/test_data/ENGINETABLE.csv
similarity index 100%
rename from tests/test/enginedb_small/csv/ENGINETABLE.csv
rename to exasol_integration_test_docker_environment/test/resources/test_data/ENGINETABLE.csv
diff --git a/exasol_integration_test_docker_environment/test/resources/test_data/import.sql b/exasol_integration_test_docker_environment/test/resources/test_data/import.sql
new file mode 100644
index 000000000..c238f5375
--- /dev/null
+++ b/exasol_integration_test_docker_environment/test/resources/test_data/import.sql
@@ -0,0 +1,2 @@
+@schema.sql;
+import into ENGINETABLE from local csv file 'ENGINETABLE.csv';
diff --git a/exasol_integration_test_docker_environment/test/resources/test_data/schema.sql b/exasol_integration_test_docker_environment/test/resources/test_data/schema.sql
new file mode 100644
index 000000000..c91f771f1
--- /dev/null
+++ b/exasol_integration_test_docker_environment/test/resources/test_data/schema.sql
@@ -0,0 +1,20 @@
+CREATE SCHEMA TEST;
+
+CREATE TABLE ENGINETABLE (
+    INT_INDEX   DECIMAL(18,0),
+    DECIMAL1    DECIMAL(8,3),
+    DECIMAL2    DECIMAL(8,3),
+    SMALLINT1   DECIMAL(9,0),
+    SMALLINT2   DECIMAL(9,0),
+    INT1        DECIMAL(18,0),
+    INT2        DECIMAL(18,0),
+    FLOAT1      DOUBLE PRECISION,
+    FLOAT2      DOUBLE PRECISION,
+    SINGLE_CHAR CHAR(1) UTF8,
+    CHAR1       CHAR(30) UTF8,
+    CHAR2       CHAR(30) UTF8,
+    VARCHAR01   VARCHAR(30) UTF8,
+    VARCHAR02   VARCHAR(30) UTF8,
+    DATE1       DATE,
+    DATE2       DATE
+);
\ No newline at end of file
diff --git a/exasol_integration_test_docker_environment/test/test_api_build_test_container.py b/exasol_integration_test_docker_environment/test/test_api_build_test_container.py
index acd4688b7..a3e0fa56e 100644
--- a/exasol_integration_test_docker_environment/test/test_api_build_test_container.py
+++ b/exasol_integration_test_docker_environment/test/test_api_build_test_container.py
@@ -1,13 +1,27 @@
 import unittest
+from sys import stderr
 
 from exasol_integration_test_docker_environment.lib import api
 from exasol_integration_test_docker_environment.lib.docker import ContextDockerClient
+from exasol_integration_test_docker_environment.test.get_test_container_content import get_test_container_content
+from exasol_integration_test_docker_environment.testing import luigi_utils
+from exasol_integration_test_docker_environment.testing.api_test_environment import ApiTestEnvironment
 
 
 class APIBuildTestContainerTest(unittest.TestCase):
 
+    def setUp(self):
+        print(f"SetUp {self.__class__.__name__}", file=stderr)
+        self.test_environment = ApiTestEnvironment(self)
+
+    def tearDown(self):
+        luigi_utils.clean(self.test_environment.docker_repository_name)
+        self.test_environment.close()
+
     def test_build_test_container(self):
-        image_info = api.build_test_container()
+        docker_repository_name = self.test_environment.docker_repository_name
+        image_info = api.build_test_container(target_docker_repository_name=docker_repository_name,
+                                              test_container_content=get_test_container_content())
         with ContextDockerClient() as docker_client:
             image = docker_client.images.get(image_info.get_target_complete_name())
             assert len(image.tags) == 1
diff --git a/exasol_integration_test_docker_environment/test/test_api_push_test_container.py b/exasol_integration_test_docker_environment/test/test_api_push_test_container.py
index 49987e3f2..6a04b093c 100644
--- a/exasol_integration_test_docker_environment/test/test_api_push_test_container.py
+++ b/exasol_integration_test_docker_environment/test/test_api_push_test_container.py
@@ -2,6 +2,8 @@
 from sys import stderr
 
 from exasol_integration_test_docker_environment.lib import api
+from exasol_integration_test_docker_environment.test.get_test_container_content import get_test_container_content
+from exasol_integration_test_docker_environment.testing import luigi_utils
 from exasol_integration_test_docker_environment.testing.api_test_environment import ApiTestEnvironment
 from exasol_integration_test_docker_environment.testing.docker_registry import LocalDockerRegistryContextManager
 
@@ -19,14 +21,18 @@ def test_docker_push(self):
         with LocalDockerRegistryContextManager(self.test_environment.name) as docker_registry:
             print("registry:", docker_registry.repositories, file=stderr)
             docker_repository_name = docker_registry.name
-            image_info = api.push_test_container(source_docker_repository_name=docker_repository_name,
-                                                 target_docker_repository_name=docker_repository_name)
-            print("repos:", docker_registry.repositories, file=stderr)
-            images = docker_registry.images
-            print("images", images, file=stderr)
-            self.assertEqual(len(images["tags"]), 1,
-                             f"{images} doesn't have the expected 1 tags, it has {len(images['tags'])}")
-            self.assertIn(image_info.get_target_complete_tag(), images["tags"][0])
+            try:
+                image_info = api.push_test_container(source_docker_repository_name=docker_repository_name,
+                                                     target_docker_repository_name=docker_repository_name,
+                                                     test_container_content=get_test_container_content())
+                print("repos:", docker_registry.repositories, file=stderr)
+                images = docker_registry.images
+                print("images", images, file=stderr)
+                self.assertEqual(len(images["tags"]), 1,
+                                 f"{images} doesn't have the expected 1 tags, it has {len(images['tags'])}")
+                self.assertIn(image_info.get_target_complete_tag(), images["tags"][0])
+            finally:
+                luigi_utils.clean(docker_repository_name)
 
 
 if __name__ == '__main__':
diff --git a/exasol_integration_test_docker_environment/test/test_api_spawn_test_environment.py b/exasol_integration_test_docker_environment/test/test_api_spawn_test_environment.py
deleted file mode 100644
index ef63e4206..000000000
--- a/exasol_integration_test_docker_environment/test/test_api_spawn_test_environment.py
+++ /dev/null
@@ -1,78 +0,0 @@
-import unittest
-from sys import stderr
-
-from exasol_integration_test_docker_environment.lib.docker import ContextDockerClient
-from exasol_integration_test_docker_environment.testing import utils
-from exasol_integration_test_docker_environment.testing.api_test_environment import ApiTestEnvironment
-
-
-class APISpawnTestEnvironmentTest(unittest.TestCase):
-
-    @classmethod
-    def setUpClass(cls):
-        print(f"SetUp {cls.__name__}", file=stderr)
-        cls.test_environment = ApiTestEnvironment(cls)
-        cls.docker_environment_name = cls.__name__
-        cls.spawned_docker_test_environments = \
-            cls.test_environment.spawn_docker_test_environment(name=cls.docker_environment_name)
-
-    @classmethod
-    def tearDownClass(cls):
-        utils.close_environments(cls.spawned_docker_test_environments, cls.test_environment)
-
-    def test_all_containers_started(self):
-        with ContextDockerClient() as docker_client:
-            containers = [c.name for c in docker_client.containers.list() if self.docker_environment_name in c.name]
-            self.assertEqual(len(containers), 2,
-                             f"Not exactly 2 containers in {containers}.")
-            db_container = [c for c in containers if "db_container" in c]
-            self.assertEqual(len(db_container), 1,
-                             f"Found no db container in {containers}.")
-            test_container = [c for c in containers if "test_container" in c]
-            self.assertEqual(len(test_container), 1,
-                             f"Found no test container in {containers}.")
-
-    def test_docker_available_in_test_container(self):
-        environment_info = self.spawned_docker_test_environments.environment_info
-        with ContextDockerClient() as docker_client:
-            test_container = docker_client.containers.get(environment_info.test_container_info.container_name)
-            exit_result = test_container.exec_run("docker ps")
-            exit_code = exit_result[0]
-            output = exit_result[1]
-            self.assertEqual(exit_code, 0,
-                             f"Error while executing 'docker ps' in test container got output\n {output}.")
-
-    def test_db_container_available(self):
-        environment_info = self.spawned_docker_test_environments.environment_info
-        with ContextDockerClient() as docker_client:
-            db_container = docker_client.containers.get(environment_info.database_info.container_info.container_name)
-            exit_result = db_container.exec_run("ls /exa")
-            exit_code = exit_result[0]
-            output = exit_result[1]
-            self.assertEqual(exit_code, 0,
-                             f"Error while executing 'ls /exa' in db container got output\n {output}.")
-
-    def test_db_available(self):
-        environment_info = self.spawned_docker_test_environments.environment_info
-        with ContextDockerClient() as docker_client:
-            test_container = docker_client.containers.get(environment_info.test_container_info.container_name)
-            exit_result = test_container.exec_run(self.create_db_connection_command())
-            exit_code = exit_result[0]
-            output = exit_result[1]
-            self.assertEqual(exit_code, 0,
-                             f"Error while executing 'exaplus' in test container got output\n {output}.")
-
-    def create_db_connection_command(self):
-        spawned_docker_test_environments = self.spawned_docker_test_environments
-        username = spawned_docker_test_environments.db_username
-        password = spawned_docker_test_environments.db_password
-        db_host = spawned_docker_test_environments.environment_info.database_info.host
-        db_port = spawned_docker_test_environments.environment_info.database_info.db_port
-        connection_options = f"-c '{db_host}:{db_port}' -u '{username}' -p '{password}'"
-        cmd = f"""$EXAPLUS {connection_options}  -sql 'select 1;' -jdbcparam 'validateservercertificate=0'"""
-        bash_cmd = f"""bash -c "{cmd}" """
-        return bash_cmd
-
-
-if __name__ == '__main__':
-    unittest.main()
diff --git a/exasol_integration_test_docker_environment/test/test_api_test_environment.py b/exasol_integration_test_docker_environment/test/test_api_test_environment.py
new file mode 100644
index 000000000..762cd6e0f
--- /dev/null
+++ b/exasol_integration_test_docker_environment/test/test_api_test_environment.py
@@ -0,0 +1,160 @@
+import tempfile
+import unittest
+from pathlib import Path
+from sys import stderr
+from typing import Optional
+
+from exasol_integration_test_docker_environment.lib.data.environment_info import EnvironmentInfo
+from exasol_integration_test_docker_environment.lib.data.test_container_content_description import \
+    TestContainerRuntimeMapping
+from exasol_integration_test_docker_environment.lib.docker import ContextDockerClient
+from exasol_integration_test_docker_environment.test.get_test_container_content import get_test_container_content
+from exasol_integration_test_docker_environment.testing import utils
+from exasol_integration_test_docker_environment.testing.api_test_environment import ApiTestEnvironment
+
+
+class APISpawnTestEnvironmentTest(unittest.TestCase):
+
+    @classmethod
+    def setUpClass(cls):
+        print(f"SetUp {cls.__name__}", file=stderr)
+        cls.test_environment = ApiTestEnvironment(cls)
+        cls.docker_environment_name = cls.__name__
+        cls.environment = \
+            cls.test_environment.spawn_docker_test_environment_with_test_container(
+                name=cls.docker_environment_name,
+                test_container_content=get_test_container_content()
+            )
+
+    @classmethod
+    def tearDownClass(cls):
+        utils.close_environments(cls.environment, cls.test_environment)
+
+    def test_all_containers_started(self):
+        with ContextDockerClient() as docker_client:
+            containers = [c.name for c in docker_client.containers.list() if self.docker_environment_name in c.name]
+            self.assertEqual(len(containers), 2,
+                             f"Not exactly 2 containers in {containers}.")
+            db_container = [c for c in containers if "db_container" in c]
+            self.assertEqual(len(db_container), 1,
+                             f"Found no db container in {containers}.")
+            test_container = [c for c in containers if "test_container" in c]
+            self.assertEqual(len(test_container), 1,
+                             f"Found no test container in {containers}.")
+
+    def test_docker_available_in_test_container(self):
+        environment_info = self.environment.environment_info
+        with ContextDockerClient() as docker_client:
+            test_container = docker_client.containers.get(environment_info.test_container_info.container_name)
+            exit_result = test_container.exec_run("docker ps")
+            exit_code = exit_result[0]
+            output = exit_result[1]
+            self.assertEqual(exit_code, 0,
+                             f"Error while executing 'docker ps' in test container got output\n {output}.")
+
+    def test_db_container_available(self):
+        environment_info = self.environment.environment_info
+        with ContextDockerClient() as docker_client:
+            db_container = docker_client.containers.get(environment_info.database_info.container_info.container_name)
+            exit_result = db_container.exec_run("ls /exa")
+            exit_code = exit_result[0]
+            output = exit_result[1]
+            self.assertEqual(exit_code, 0,
+                             f"Error while executing 'ls /exa' in db container got output\n {output}.")
+
+    def test_db_available(self):
+        environment_info = self.environment.environment_info
+        with ContextDockerClient() as docker_client:
+            test_container = docker_client.containers.get(environment_info.test_container_info.container_name)
+            exit_result = test_container.exec_run(self.create_db_connection_command())
+            exit_code = exit_result[0]
+            output = exit_result[1]
+            self.assertEqual(exit_code, 0,
+                             f"Error while executing 'exaplus' in test container got output\n {output}.")
+
+    def create_db_connection_command(self):
+        spawned_docker_test_environments = self.environment
+        username = spawned_docker_test_environments.db_username
+        password = spawned_docker_test_environments.db_password
+        db_host = spawned_docker_test_environments.environment_info.database_info.host
+        db_port = spawned_docker_test_environments.environment_info.database_info.db_port
+        connection_options = f"-c '{db_host}:{db_port}' -u '{username}' -p '{password}'"
+        cmd = f"""$EXAPLUS {connection_options}  -sql 'select 1;' -jdbcparam 'validateservercertificate=0'"""
+        bash_cmd = f"""bash -c "{cmd}" """
+        return bash_cmd
+
+    def test_build_mapping(self):
+        environment_info = self.environment.environment_info
+        with ContextDockerClient() as docker_client:
+            test_container = docker_client.containers.get(environment_info.test_container_info.container_name)
+            exit_code, output = test_container.exec_run("cat /test.text")
+            self.assertEqual(exit_code, 0)
+            self.assertEqual(output.decode("UTF-8"), "Empty File")
+
+
+class APISpawnTestEnvironmentTestWithCustomRuntimeMapping(unittest.TestCase):
+
+    @classmethod
+    def setUpClass(cls):
+        print(f"SetUp {cls.__name__}", file=stderr)
+        cls.test_environment = ApiTestEnvironment(cls)
+        cls.docker_environment_name = cls.__name__
+
+    @classmethod
+    def tearDownClass(cls):
+        utils.close_environments(cls.test_environment)
+
+    def _assert_deployment_available(self, environment_info: EnvironmentInfo) -> None:
+        with ContextDockerClient() as docker_client:
+            test_container = docker_client.containers.get(environment_info.test_container_info.container_name)
+            exit_code, output = test_container.exec_run("cat /test/test.txt")
+            self.assertEqual(exit_code, 0)
+            self.assertEqual(output.decode("utf-8"), "test")
+
+    def _assert_deployment_not_shared(self, environment_info: EnvironmentInfo, temp_path: Path) -> bool:
+        with ContextDockerClient() as docker_client:
+            test_container = docker_client.containers.get(environment_info.test_container_info.container_name)
+            exit_code, output = test_container.exec_run("touch /test_target/test_new.txt")
+            self.assertEqual(exit_code, 0)
+            local_path = temp_path / "test_new.txt"
+            self.assertFalse(local_path.exists())
+
+    def _get_test_mapping(self, temp_path: Path, deployment_target: Optional[str] = None):
+        with open(temp_path / "test.txt", "w") as f:
+            f.write("test")
+        return TestContainerRuntimeMapping(source=temp_path, target="/test", deployment_target=deployment_target)
+
+    def test_runtime_mapping_without_deployment(self):
+        with tempfile.TemporaryDirectory() as temp_dir:
+            mapping = self._get_test_mapping(Path(temp_dir))
+            try:
+                environment = \
+                    self.test_environment.spawn_docker_test_environment_with_test_container(
+                        name=self.docker_environment_name,
+                        test_container_content=get_test_container_content((mapping,))
+                    )
+                environment_info = environment.environment_info
+                self._assert_deployment_available(environment_info)
+            finally:
+                utils.close_environments(environment)
+
+    def test_runtime_mapping_deployment(self):
+        with tempfile.TemporaryDirectory() as temp_dir:
+            temp_path = Path(temp_dir)
+            mapping = self._get_test_mapping(temp_path=temp_path, deployment_target="/test_target")
+            try:
+                environment = \
+                    self.test_environment.spawn_docker_test_environment_with_test_container(
+                        name=self.docker_environment_name,
+                        test_container_content=get_test_container_content((mapping,))
+                    )
+                environment_info = environment.environment_info
+                self._assert_deployment_available(environment_info)
+                self._assert_deployment_not_shared(environment_info, temp_path)
+
+            finally:
+                utils.close_environments(environment)
+
+
+if __name__ == '__main__':
+    unittest.main()
diff --git a/exasol_integration_test_docker_environment/test/test_test_environment_certificate.py b/exasol_integration_test_docker_environment/test/test_api_test_environment_certificate.py
similarity index 58%
rename from exasol_integration_test_docker_environment/test/test_test_environment_certificate.py
rename to exasol_integration_test_docker_environment/test/test_api_test_environment_certificate.py
index 436b968bf..5cff060a2 100644
--- a/exasol_integration_test_docker_environment/test/test_test_environment_certificate.py
+++ b/exasol_integration_test_docker_environment/test/test_api_test_environment_certificate.py
@@ -4,8 +4,9 @@
 from exasol_integration_test_docker_environment.lib.docker import ContextDockerClient
 from exasol_integration_test_docker_environment.lib.test_environment.db_version import \
     db_version_supports_custom_certificates
+from exasol_integration_test_docker_environment.test.get_test_container_content import get_test_container_content
 from exasol_integration_test_docker_environment.testing import utils
-from exasol_integration_test_docker_environment.testing.exaslct_test_environment import ExaslctTestEnvironment
+from exasol_integration_test_docker_environment.testing.api_test_environment import ApiTestEnvironment
 from exasol_integration_test_docker_environment.testing.utils import check_db_version_from_env
 
 
@@ -14,13 +15,7 @@ class CertificateTest(unittest.TestCase):
     @classmethod
     def setUpClass(cls):
         print(f"SetUp {cls.__name__}")
-        # We can't use start-test-env. because it only mounts ./ and
-        # doesn't work with --build_ouput-directory
-        cls.test_environment = \
-            ExaslctTestEnvironment(
-                cls,
-                utils.INTEGRATION_TEST_DOCKER_ENVIRONMENT_DEFAULT_BIN,
-                clean_images_at_close=False)
+        cls.test_environment = ApiTestEnvironment(cls)
 
         cls.spawned_docker_test_environments = None
 
@@ -30,10 +25,13 @@ def setUpClass(cls):
             #            However, host name length is limited to 63 characters. A the class name itself already creates
             #            a unique environment, we must keep the parameter empty.
             cls.docker_environment_name = ""
-            cls.spawned_docker_test_environments = \
-                cls.test_environment.spawn_docker_test_environments(cls.docker_environment_name,
-                                                                    additional_parameter=["--deactivate-database-setup",
-                                                                                          "--create-certificates"])
+            additional_parameter = {"create_certificates": True}
+
+            cls.on_host_docker_environment = \
+                cls.test_environment.spawn_docker_test_environment_with_test_container(
+                    cls.docker_environment_name,
+                    test_container_content=get_test_container_content(),
+                    additional_parameter=additional_parameter)
 
     @classmethod
     def tearDownClass(cls):
@@ -41,21 +39,23 @@ def tearDownClass(cls):
 
     @unittest.skipIf(not db_version_supports_custom_certificates(check_db_version_from_env()), "Database not supported")
     def test_certificate(self):
-        on_host_docker_environment = self.spawned_docker_test_environments.on_host_docker_environment
         with ContextDockerClient() as docker_client:
-            test_container = docker_client.containers.get(f"test_container_{on_host_docker_environment.name}")
-
-            host_name = f"{on_host_docker_environment.environment_info.database_info.container_info.container_name}." \
-                        f"{on_host_docker_environment.environment_info.network_info.network_name}"
-            db_port = f"{on_host_docker_environment.environment_info.database_info.db_port}"
-            openssl_check_cmd = f"openssl s_client -connect {host_name}:{db_port}"
+            test_container_name = self.on_host_docker_environment.environment_info.test_container_info.container_name
+            test_container = docker_client.containers.get(test_container_name)
+            database_container = \
+                self.on_host_docker_environment.environment_info.database_info.container_info.container_name
+            database_network_name = \
+                self.on_host_docker_environment.environment_info.database_info.container_info.network_info.network_name
+            db_port = self.on_host_docker_environment.environment_info.database_info.db_port
+
+            openssl_check_cmd = f"openssl s_client -connect {database_container}.{database_network_name}:{db_port}"
             print(f"OpenSSL cmd:{openssl_check_cmd}")
             exit_code, output = test_container.exec_run(openssl_check_cmd)
             print(f"fOpenSSL out:{output}")
             self.assertEqual(exit_code, 0)
             log = output.decode("utf-8")
             expected_subject = f"subject=C = XX, ST = N/A, L = N/A, O = Self-signed certificate, " \
-                               f"CN = {host_name}"
+                               f"CN = {database_container}"
             self.assertIn(expected_subject, log, "Certificate check")
 
 
diff --git a/exasol_integration_test_docker_environment/test/test_api_test_environment_docker_runtime.py b/exasol_integration_test_docker_environment/test/test_api_test_environment_docker_runtime.py
new file mode 100644
index 000000000..c13b7c4d6
--- /dev/null
+++ b/exasol_integration_test_docker_environment/test/test_api_test_environment_docker_runtime.py
@@ -0,0 +1,121 @@
+import subprocess
+import unittest
+
+from exasol_integration_test_docker_environment.lib.api import api_errors
+from exasol_integration_test_docker_environment.lib.docker import ContextDockerClient
+from exasol_integration_test_docker_environment.test.get_test_container_content import get_test_container_content
+from exasol_integration_test_docker_environment.testing import utils
+from exasol_integration_test_docker_environment.testing.api_test_environment import ApiTestEnvironment
+
+
+def assert_container_runtime(self, container_name, expected_runtime):
+    with ContextDockerClient() as docker_client:
+        container = docker_client.containers.get(container_name)
+        container.reload()
+        actual_runtime = container.attrs['HostConfig']['Runtime']
+        self.assertEqual(actual_runtime, expected_runtime,
+                         f"{container_name} has the wrong runtime expected {expected_runtime} got {actual_runtime}.")
+
+
+def get_default_docker_runtime():
+    with ContextDockerClient() as docker_client:
+        tmp_container = docker_client.containers.create("ubuntu:18.04", "echo")
+        try:
+            tmp_container.reload()
+            default_docker_runtime = tmp_container.attrs['HostConfig']['Runtime']
+        finally:
+            tmp_container.remove(force=True)
+        return default_docker_runtime
+
+
+class DockerTestEnvironmentDockerRuntimeNoRuntimeGivenTest(unittest.TestCase):
+
+    @classmethod
+    def setUpClass(cls):
+        print(f"SetUp {cls.__name__}")
+        cls.test_environment = ApiTestEnvironment(cls)
+        cls.docker_environment_name = "test_no_runtime_given"
+        cls.environment = \
+            cls.test_environment.spawn_docker_test_environment_with_test_container(
+                name=cls.docker_environment_name,
+                test_container_content=get_test_container_content()
+            )
+        cls.default_docker_runtime = get_default_docker_runtime()
+
+    @classmethod
+    def tearDownClass(cls):
+        utils.close_environments(cls.environment, cls.test_environment)
+
+    def test_test_container_runtime(self):
+        environment_info = self.environment.environment_info
+        test_container_name = environment_info.test_container_info.container_name
+        assert_container_runtime(self, test_container_name, self.default_docker_runtime)
+
+    def test_database_container_runtime(self):
+        environment_info = self.environment.environment_info
+        database_container_name = environment_info.database_info.container_info.container_name
+        assert_container_runtime(self, database_container_name, self.default_docker_runtime)
+
+
+class DockerTestEnvironmentDockerRuntimeDefaultRuntimeGivenTest(unittest.TestCase):
+
+    @classmethod
+    def setUpClass(cls):
+        print(f"SetUp {cls.__name__}")
+        cls.test_environment = ApiTestEnvironment(cls)
+        cls.default_docker_runtime = get_default_docker_runtime()
+        cls.docker_environment_name = "test_default_runtime_given"
+        cls.environment = cls.test_environment.spawn_docker_test_environment_with_test_container(
+                cls.docker_environment_name,
+                test_container_content=get_test_container_content(),
+                additional_parameter={
+                    "docker_runtime": cls.default_docker_runtime,
+                })
+
+    @classmethod
+    def tearDownClass(cls):
+        utils.close_environments(cls.environment, cls.test_environment)
+
+    def test_test_container_runtime(self):
+        environment_info = self.environment.environment_info
+        test_container_name = environment_info.test_container_info.container_name
+        assert_container_runtime(self, test_container_name, self.default_docker_runtime)
+
+    def test_database_container_runtime(self):
+        environment_info = self.environment.environment_info
+        database_container_name = environment_info.database_info.container_info.container_name
+        assert_container_runtime(self, database_container_name, self.default_docker_runtime)
+
+
+class DockerTestEnvironmentDockerRuntimeInvalidRuntimeGivenTest(unittest.TestCase):
+
+    @classmethod
+    def setUpClass(cls):
+        print(f"SetUp {cls.__name__}")
+        cls.test_environment = ApiTestEnvironment(cls)
+        cls.docker_environment_name = "test_default_runtime_given"
+
+    @classmethod
+    def tearDownClass(cls):
+        utils.close_environments(cls.test_environment)
+
+    def test_docker_environment_not_available(self):
+        exception_thrown = False
+        spawn_docker_test_environments_successful = False
+        try:
+            environment = self.test_environment.spawn_docker_test_environment_with_test_container(
+                    self.docker_environment_name,
+                    test_container_content=get_test_container_content(),
+                    additional_parameter={
+                        "docker_runtime": "AAAABBBBCCCC_INVALID_RUNTIME_111122223333"
+                    })
+            spawn_docker_test_environments_successful = True
+            utils.close_environments(environment)
+        except api_errors.TaskRuntimeError:
+            exception_thrown = True
+        self.assertFalse(spawn_docker_test_environments_successful)
+        self.assertTrue(exception_thrown)
+
+
+if __name__ == '__main__':
+    unittest.main()
diff --git a/exasol_integration_test_docker_environment/test/test_certificate_docker_build.py b/exasol_integration_test_docker_environment/test/test_certificate_docker_build.py
new file mode 100644
index 000000000..cadb16f91
--- /dev/null
+++ b/exasol_integration_test_docker_environment/test/test_certificate_docker_build.py
@@ -0,0 +1,55 @@
+import shutil
+import unittest
+
+import luigi
+
+from exasol_integration_test_docker_environment.lib.api.common import generate_root_task, set_docker_repository_config
+from exasol_integration_test_docker_environment.lib.docker import ContextDockerClient
+from exasol_integration_test_docker_environment.lib.docker.images.clean.clean_images import CleanImagesStartingWith
+from exasol_integration_test_docker_environment.lib.docker.images.utils import find_images_by_tag
+from exasol_integration_test_docker_environment.lib.test_environment.create_certificates.analyze_certificate_container import \
+    DockerCertificateContainerBuild
+from exasol_integration_test_docker_environment.lib.utils.resource_directory import ResourceDirectory
+import exasol_integration_test_docker_environment.certificate_resources.container
+
+
+class DockerCertificateBuildTest(unittest.TestCase):
+
+    def clean(self):
+        task = generate_root_task(task_class=CleanImagesStartingWith,
+                                  starts_with_pattern="exasol-certificate-docker-build")
+        success = luigi.build([task], workers=1, local_scheduler=True, log_level="INFO")
+        task.cleanup(success)
+
+    def setUp(self):
+        self.clean()
+
+    def tearDown(self):
+        self.clean()
+
+    def assert_image_exists(self, prefix):
+        with ContextDockerClient() as docker_client:
+            image_list = find_images_by_tag(docker_client, lambda x: x.startswith(prefix))
+            self.assertEquals(len(image_list), 1, f"Image with prefix {prefix} not found")
+
+    def test_build(self):
+        try:
+            set_docker_repository_config(
+                docker_password=None,
+                docker_repository_name="exasol-certificate-docker-build",
+                docker_username=None,
+                tag_prefix="",
+                kind="target"
+            )
+
+            with ResourceDirectory(exasol_integration_test_docker_environment.certificate_resources.container) as d:
+                task = generate_root_task(task_class=DockerCertificateContainerBuild,
+                                          certificate_container_root_directory=d)
+                success = luigi.build([task], workers=1, local_scheduler=True, log_level="INFO")
+            self.assert_image_exists("exasol-certificate-docker-build:certificate_resources")
+        finally:
+            task.cleanup(success)
+
+
+if __name__ == '__main__':
+    unittest.main()
diff --git a/exasol_integration_test_docker_environment/test/test_cli_test_environment.py b/exasol_integration_test_docker_environment/test/test_cli_test_environment.py
new file mode 100644
index 000000000..672516dc5
--- /dev/null
+++ b/exasol_integration_test_docker_environment/test/test_cli_test_environment.py
@@ -0,0 +1,69 @@
+import unittest
+
+import docker.models.containers
+
+from exasol_integration_test_docker_environment.lib.docker import ContextDockerClient
+from exasol_integration_test_docker_environment.lib.test_environment.database_setup.find_exaplus_in_db_container import \
+    find_exaplus
+from exasol_integration_test_docker_environment.testing import utils
+from exasol_integration_test_docker_environment.testing.exaslct_test_environment import ExaslctTestEnvironment
+
+
+class DockerTestEnvironmentTest(unittest.TestCase):
+
+    @classmethod
+    def setUpClass(cls):
+        print(f"SetUp {cls.__name__}")
+        cls.test_environment = \
+            ExaslctTestEnvironment(
+                cls,
+                utils.INTEGRATION_TEST_DOCKER_ENVIRONMENT_DEFAULT_BIN,
+                clean_images_at_close=False)
+        # TODO cls.test_environment.clean_images()
+        cls.docker_environment_name = cls.__name__
+        cls.spawned_docker_test_environments = \
+            cls.test_environment.spawn_docker_test_environments(name=cls.docker_environment_name)
+
+    @classmethod
+    def tearDownClass(cls):
+        utils.close_environments(cls.spawned_docker_test_environments, cls.test_environment)
+
+    def test_db_container_started(self):
+        on_host_docker_environment = self.spawned_docker_test_environments.on_host_docker_environment
+        with ContextDockerClient() as docker_client:
+            containers = [c.name for c in docker_client.containers.list() if self.docker_environment_name in c.name]
+            self.assertEqual(len(containers), 1,
+                             f"Not exactly 1 container in {containers}.\nStartup log was: "
+                             f"{on_host_docker_environment.completed_process.stdout.decode('utf8')}")
+            db_container = [c for c in containers if "db_container" in c]
+            self.assertEqual(len(db_container), 1,
+                             f"Found no db container in {containers}.\nStartup log was: "
+                             f"{on_host_docker_environment.completed_process.stdout.decode('utf8')}")
+
+    def test_db_available(self):
+        environment_info = self.spawned_docker_test_environments.on_host_docker_environment
+        db_container_name = environment_info.environment_info.database_info.container_info.container_name
+        with ContextDockerClient() as docker_client:
+            db_container = docker_client.containers.get(db_container_name)
+            exit_result = db_container.exec_run(self.create_db_connection_command(db_container))
+            exit_code = exit_result[0]
+            output = exit_result[1]
+            self.assertEqual(exit_code, 0,
+                             f"Error while executing 'exaplus' in test container got output\n {output}.")
+
+    def create_db_connection_command(self, db_container: docker.models.containers.Container):
+        spawned_docker_test_environments = self.spawned_docker_test_environments
+        username = spawned_docker_test_environments.on_host_docker_environment.db_username
+        password = spawned_docker_test_environments.on_host_docker_environment.db_password
+        db_host = spawned_docker_test_environments.on_host_docker_environment.environment_info.database_info.host
+        db_port = spawned_docker_test_environments.on_host_docker_environment.environment_info.database_info.db_port
+        db_version = spawned_docker_test_environments.on_host_docker_environment.docker_db_image_version
+        connection_options = f"-c '{db_host}:{db_port}' -u '{username}' -p '{password}'"
+        exaplus = find_exaplus(db_container)
+        cmd = f"""{exaplus} {connection_options}  -sql 'select 1;' -jdbcparam 'validateservercertificate=0'"""
+        bash_cmd = f"""bash -c "{cmd}" """
+        return bash_cmd
+
+
+if __name__ == '__main__':
+    unittest.main()
diff --git a/exasol_integration_test_docker_environment/test/test_test_environment_db_disk_size.py b/exasol_integration_test_docker_environment/test/test_cli_test_environment_db_disk_size.py
similarity index 80%
rename from exasol_integration_test_docker_environment/test/test_test_environment_db_disk_size.py
rename to exasol_integration_test_docker_environment/test/test_cli_test_environment_db_disk_size.py
index 3643aa8e4..4c0518838 100644
--- a/exasol_integration_test_docker_environment/test/test_test_environment_db_disk_size.py
+++ b/exasol_integration_test_docker_environment/test/test_cli_test_environment_db_disk_size.py
@@ -10,8 +10,6 @@ class DockerTestEnvironmentDBDiskSizeTest(unittest.TestCase):
     @classmethod
     def setUpClass(cls):
         print(f"SetUp {cls.__name__}")
-        # We can't use start-test-env. because it only mounts ./ and
-        # doesn't work with --build_ouput-directory
         cls.test_environment = \
             ExaslctTestEnvironment(
                 cls,
@@ -38,18 +36,14 @@ def assert_disk_size(self, size: str):
 
     def test_default_db_disk_size(self):
         self.docker_environment_name = "test_default_db_disk_size"
-        with self.test_environment.spawn_docker_test_environments(name=self.docker_environment_name,
-                                                                  additional_parameter=[
-                                                                      "--deactivate-database-setup"
-                                                                  ]):
+        with self.test_environment.spawn_docker_test_environments(name=self.docker_environment_name):
             self.assert_disk_size("2 GiB")
 
     def test_smallest_valid_db_disk_size(self):
         self.docker_environment_name = "test_smallest_valid_db_disk_size"
         with self.test_environment.spawn_docker_test_environments(name=self.docker_environment_name,
                                                                   additional_parameter=[
-                                                                    "--db-disk-size", "'100 MiB'",
-                                                                    "--deactivate-database-setup"
+                                                                    "--db-disk-size", "'100 MiB'"
                                                                   ]):
             self.assert_disk_size("100 MiB")
 
@@ -58,8 +52,7 @@ def test_invalid_db_mem_size(self):
         with self.assertRaises(Exception) as context:
             with self.test_environment.spawn_docker_test_environments(name=self.docker_environment_name,
                                                                       additional_parameter=[
-                                                                        "--db-disk-size", "'90 MiB'",
-                                                                        "--deactivate-database-setup"
+                                                                        "--db-disk-size", "'90 MiB'"
                                                                       ]):
                 pass
 
diff --git a/exasol_integration_test_docker_environment/test/test_test_environment_db_mem_size.py b/exasol_integration_test_docker_environment/test/test_cli_test_environment_db_mem_size.py
similarity index 80%
rename from exasol_integration_test_docker_environment/test/test_test_environment_db_mem_size.py
rename to exasol_integration_test_docker_environment/test/test_cli_test_environment_db_mem_size.py
index 47ae872f0..adb889fbc 100644
--- a/exasol_integration_test_docker_environment/test/test_test_environment_db_mem_size.py
+++ b/exasol_integration_test_docker_environment/test/test_cli_test_environment_db_mem_size.py
@@ -10,8 +10,6 @@ class DockerTestEnvironmentDBMemSizeTest(unittest.TestCase):
     @classmethod
     def setUpClass(cls):
         print(f"SetUp {cls.__name__}")
-        # We can't use start-test-env. because it only mounts ./ and
-        # doesn't work with --build_ouput-directory
         cls.test_environment = \
             ExaslctTestEnvironment(
                 cls,
@@ -38,10 +36,7 @@ def assert_mem_size(self, size: str):
 
     def test_default_db_mem_size(self):
         self.docker_environment_name = "test_default_db_mem_size"
-        with self.test_environment.spawn_docker_test_environments(name=self.docker_environment_name,
-                                                                  additional_parameter=[
-                                                                      "--deactivate-database-setup",
-                                                                  ]):
+        with self.test_environment.spawn_docker_test_environments(name=self.docker_environment_name):
             self.assert_mem_size("2 GiB")
 
     def test_smallest_valid_db_mem_size(self):
@@ -49,8 +44,7 @@ def test_smallest_valid_db_mem_size(self):
 
         with self.test_environment.spawn_docker_test_environments(name=self.docker_environment_name,
                                                                   additional_parameter=[
-                                                                      "--db-mem-size", "'1 GiB'",
-                                                                      "--deactivate-database-setup",
+                                                                      "--db-mem-size", "'1 GiB'"
                                                                   ]):
             self.assert_mem_size("1 GiB")
 
@@ -59,8 +53,7 @@ def test_invalid_db_mem_size(self):
         with self.assertRaises(Exception) as context:
             with self.test_environment.spawn_docker_test_environments(name=self.docker_environment_name,
                                                                       additional_parameter=[
-                                                                        "--db-mem-size", "'999 MiB'",
-                                                                        "--deactivate-database-setup",
+                                                                        "--db-mem-size", "'999 MiB'"
                                                                       ]):
                 pass
 
diff --git a/exasol_integration_test_docker_environment/test/test_test_environment_nameservers.py b/exasol_integration_test_docker_environment/test/test_cli_test_environment_nameservers.py
similarity index 80%
rename from exasol_integration_test_docker_environment/test/test_test_environment_nameservers.py
rename to exasol_integration_test_docker_environment/test/test_cli_test_environment_nameservers.py
index 6061f02fc..325f92ef4 100644
--- a/exasol_integration_test_docker_environment/test/test_test_environment_nameservers.py
+++ b/exasol_integration_test_docker_environment/test/test_cli_test_environment_nameservers.py
@@ -11,8 +11,6 @@ class DockerTestEnvironmentDBMemSizeTest(unittest.TestCase):
     @classmethod
     def setUpClass(cls):
         print(f"SetUp {cls.__name__}")
-        # We can't use start-test-env. because it only mounts ./ and
-        # doesn't work with --build_ouput-directory
         cls.test_environment = \
             ExaslctTestEnvironment(
                 cls,
@@ -39,19 +37,14 @@ def assert_nameserver(self, nameservers: str):
 
     def test_no_nameserver(self):
         self.docker_environment_name = "test_no_nameserver"
-        with self.test_environment.spawn_docker_test_environments(self.docker_environment_name,
-                                                                  [
-                                                                      "--deactivate-database-setup",
-                                                                  ]
-                                                                  ):
+        with self.test_environment.spawn_docker_test_environments(self.docker_environment_name):
             self.assert_nameserver("")
 
     def test_single_nameserver(self):
         self.docker_environment_name = "test_single_nameserver"
         with self.test_environment.spawn_docker_test_environments(self.docker_environment_name,
                                                                   [
-                                                                    "--nameserver", "'8.8.8.8'",
-                                                                    "--deactivate-database-setup",
+                                                                    "--nameserver", "'8.8.8.8'"
                                                                   ]):
             self.assert_nameserver("8.8.8.8")
 
@@ -61,7 +54,6 @@ def test_multiple_nameserver(self):
                                                                   [
                                                                     "--nameserver", "'8.8.8.8'",
                                                                     "--nameserver", "'8.8.8.9'",
-                                                                    "--deactivate-database-setup",
                                                                   ]):
             self.assert_nameserver("8.8.8.8,8.8.8.9")
 
diff --git a/exasol_integration_test_docker_environment/test/test_populate_data.py b/exasol_integration_test_docker_environment/test/test_populate_data.py
new file mode 100644
index 000000000..3e2f7d120
--- /dev/null
+++ b/exasol_integration_test_docker_environment/test/test_populate_data.py
@@ -0,0 +1,103 @@
+import unittest
+from pathlib import Path, PurePath
+from sys import stderr
+
+import luigi
+
+from exasol_integration_test_docker_environment.lib.api.common import generate_root_task
+from exasol_integration_test_docker_environment.lib.data.test_container_content_description import \
+    TestContainerRuntimeMapping
+from exasol_integration_test_docker_environment.lib.docker import ContextDockerClient
+from exasol_integration_test_docker_environment.lib.test_environment.database_setup.populate_data import \
+    PopulateTestDataToDatabase
+from exasol_integration_test_docker_environment.test.get_test_container_content import get_test_container_content
+from exasol_integration_test_docker_environment.testing import utils
+from exasol_integration_test_docker_environment.testing.api_test_environment import ApiTestEnvironment
+
+
+class TestDataPopulateData(PopulateTestDataToDatabase):
+
+    def get_data_path_within_test_container(self) -> PurePath:
+        return PurePath("/test_data")
+
+    def get_data_file_within_data_path(self) -> PurePath:
+        return PurePath("import.sql")
+
+
+class TestPopulateData(unittest.TestCase):
+
+    @classmethod
+    def setUpClass(cls):
+        print(f"SetUp {cls.__name__}", file=stderr)
+        cls.test_environment = ApiTestEnvironment(cls)
+        cls.docker_environment_name = cls.__name__
+        test_data_folder = Path(__file__).parent / "resources" / "test_data"
+        test_container_runtime_mapping = TestContainerRuntimeMapping(source=test_data_folder, target="/test_data")
+        test_container_content = get_test_container_content((test_container_runtime_mapping,))
+        cls.environment = \
+            cls.test_environment.spawn_docker_test_environment_with_test_container(
+                name=cls.docker_environment_name,
+                test_container_content=test_container_content
+            )
+
+    @classmethod
+    def tearDownClass(cls):
+        utils.close_environments(cls.environment, cls.test_environment)
+
+    def _populate_data(self, reuse=False):
+        task = generate_root_task(task_class=TestDataPopulateData,
+                                  environment_name=self.environment.name,
+                                  db_user=self.environment.db_username,
+                                  db_password=self.environment.db_password,
+                                  bucketfs_write_password=self.environment.bucketfs_password,
+                                  test_environment_info=self.environment.environment_info,
+                                  )
+        try:
+            success = luigi.build([task], workers=1, local_scheduler=True, log_level="INFO")
+            if not success:
+                raise Exception("Task failed")
+        except Exception as e:
+            task.cleanup(False)
+            raise RuntimeError("Error uploading test file.") from e
+
+    def setUp(self) -> None:
+        self._execute_sql_on_db("DROP SCHEMA IF EXISTS TEST CASCADE;")
+
+    def _execute_sql_on_db(self, sql: str) -> str:
+        with ContextDockerClient() as docker_client:
+            print(f"Executing sql on db: '{sql}'")
+            test_container = docker_client.containers.get(self.environment.environment_info.
+                                                          test_container_info.container_name)
+            db_info = self.environment.environment_info.database_info
+            db_user_name = self.environment.db_username
+            db_password = self.environment.db_password
+            cmd = f"$EXAPLUS -x -q -c '{db_info.host}:{db_info.db_port}' " \
+                  f"-u '{db_user_name}' -p '{db_password}' -sql '{sql}' " \
+                  f"-jdbcparam 'validateservercertificate=0'"
+
+            bash_cmd = f"""bash -c "{cmd}" """
+            exit_code, output = test_container.exec_run(cmd=bash_cmd)
+
+            if exit_code != 0:
+                raise RuntimeError(f"Error executing sql. Output is {output}")
+
+        return output.decode("utf-8")
+
+    def test_populate_data(self):
+        self._populate_data()
+        result = self._execute_sql_on_db("SELECT count(*) FROM TEST.ENGINETABLE;")
+        expected_result = '\nCOUNT(*)             \n---------------------\n                  100\n\n'
+        self.assertEquals(result, expected_result)
+
+    def test_populate_twice_throws_exception(self):
+        self._populate_data()
+        exception_thrown = False
+        try:
+            self._populate_data()
+        except RuntimeError:
+            exception_thrown = True
+        self.assertTrue(exception_thrown)
+
+
+if __name__ == '__main__':
+    unittest.main()
diff --git a/exasol_integration_test_docker_environment/test/test_test_container_reuse.py b/exasol_integration_test_docker_environment/test/test_test_container_reuse.py
index 952a832b1..b97a32225 100644
--- a/exasol_integration_test_docker_environment/test/test_test_container_reuse.py
+++ b/exasol_integration_test_docker_environment/test/test_test_container_reuse.py
@@ -1,4 +1,3 @@
-import os
 import shutil
 import tempfile
 import unittest
@@ -9,7 +8,10 @@
 from exasol_integration_test_docker_environment.lib.api.common import set_build_config, set_docker_repository_config, \
     generate_root_task
 from exasol_integration_test_docker_environment.lib.base.docker_base_task import DockerBaseTask
+from exasol_integration_test_docker_environment.lib.base.json_pickle_parameter import JsonPickleParameter
 from exasol_integration_test_docker_environment.lib.data.container_info import ContainerInfo
+from exasol_integration_test_docker_environment.lib.data.test_container_content_description import \
+    TestContainerContentDescription
 from exasol_integration_test_docker_environment.lib.docker import ContextDockerClient
 from exasol_integration_test_docker_environment.lib.test_environment.prepare_network_for_test_environment import \
     PrepareDockerNetworkForTestEnvironment
@@ -20,6 +22,7 @@
 class TestTask(DockerBaseTask):
     reuse = luigi.BoolParameter()
     attempt = luigi.IntParameter()
+    test_container_content = JsonPickleParameter(TestContainerContentDescription)
 
     def run_task(self):
         docker_network_task_1 = self.create_child_task(task_class=PrepareDockerNetworkForTestEnvironment,
@@ -43,13 +46,14 @@ def run_task(self):
                                    attempt=self.attempt,
                                    reuse_test_container=self.reuse,
                                    no_test_container_cleanup_after_success=True,
-                                   no_test_container_cleanup_after_failure=False
+                                   no_test_container_cleanup_after_failure=False,
+                                   test_container_content=self.test_container_content
                                    )
         test_container_future_1 = yield from self.run_dependencies(test_container_task_1)
         container_info = test_container_future_1.get_output()  # type: ContainerInfo
         with ContextDockerClient() as docker_client:
             container = docker_client.containers.get(container_info.container_name)
-            self.return_object({"container_id": container.image.id, "image_id": container.image.id})
+            self.return_object({"container_id": container.id, "image_id": container.image.id})
 
 
 class TestContainerReuseTest(unittest.TestCase):
@@ -61,8 +65,6 @@ def setUp(self):
         self.working_directory = shutil.copytree(resource_directory,
                                                  Path(self.temp_directory, "test_test_container_reuse"))
         print("working_directory", self.working_directory)
-        self.old_working_directory = os.getcwd()
-        os.chdir(self.working_directory)
         print("working_directory content", list(Path(self.working_directory).iterdir()))
         self.docker_repository_name = self.__class__.__name__.lower()
         print("docker_repository_name", self.docker_repository_name)
@@ -70,10 +72,16 @@ def setUp(self):
         self.setup_luigi_config()
 
     def tearDown(self):
-        os.chdir(self.old_working_directory)
         luigi_utils.clean(self.docker_repository_name)
         shutil.rmtree(self.temp_directory)
 
+    def get_test_container_content(self) -> TestContainerContentDescription:
+        return TestContainerContentDescription(
+            docker_file=str(self.dockerfile),
+            build_files_and_directories=list(),
+            runtime_mappings=list()
+        )
+
     def setup_luigi_config(self):
         set_build_config(force_rebuild=False,
                          force_pull=False,
@@ -92,8 +100,13 @@ def setup_luigi_config(self):
             kind="target"
         )
 
+    @property
+    def dockerfile(self):
+        return Path(self.working_directory) / "tests" / "Dockerfile"
+
     def run1(self):
-        task = generate_root_task(task_class=TestTask, reuse=False, attempt=1)
+        task = generate_root_task(task_class=TestTask, reuse=False, attempt=1,
+                                  test_container_content=self.get_test_container_content())
         try:
             success = luigi.build([task], workers=1, local_scheduler=True, log_level="INFO")
             if success:
@@ -107,7 +120,8 @@ def run1(self):
             raise RuntimeError("Error spawning test environment") from e
 
     def run2(self):
-        task = generate_root_task(task_class=TestTask, reuse=True, attempt=2)
+        task = generate_root_task(task_class=TestTask, reuse=True, attempt=2,
+                                  test_container_content=self.get_test_container_content())
         try:
             success = luigi.build([task], workers=1, local_scheduler=True, log_level="INFO")
 
@@ -121,8 +135,7 @@ def run2(self):
 
     def test_test_container_no_reuse_after_change(self):
         p1 = self.run1()
-        dockerfile = Path(self.working_directory, "tests/Dockerfile")
-        with dockerfile.open("a") as f:
+        with self.dockerfile.open("a") as f:
             f.write("\n#Test\n")
         p2 = self.run2()
         assert "container_id" in p1
diff --git a/exasol_integration_test_docker_environment/test/test_test_env_reuse.py b/exasol_integration_test_docker_environment/test/test_test_env_reuse.py
index 54f74e58b..e4624e6ca 100644
--- a/exasol_integration_test_docker_environment/test/test_test_env_reuse.py
+++ b/exasol_integration_test_docker_environment/test/test_test_env_reuse.py
@@ -6,6 +6,7 @@
 from exasol_integration_test_docker_environment.lib.docker import ContextDockerClient
 from exasol_integration_test_docker_environment.lib.test_environment.spawn_test_environment import SpawnTestEnvironment
 from exasol_integration_test_docker_environment.lib.api.common import set_docker_repository_config, generate_root_task
+from exasol_integration_test_docker_environment.test.get_test_container_content import get_test_container_content
 from exasol_integration_test_docker_environment.testing import luigi_utils
 from exasol_integration_test_docker_environment.cli.options import test_environment_options
 from exasol_integration_test_docker_environment.testing.utils import check_db_version_from_env
@@ -28,9 +29,7 @@ def setUp(self):
         print("docker_repository_name", self._docker_repository_name)
         luigi_utils.clean(self._docker_repository_name)
 
-        db_version_from_env = check_db_version_from_env()
-        self.docker_db_version_parameter = db_version_from_env \
-            if db_version_from_env is not None else test_environment_options.LATEST_DB_VERSION
+        self.docker_db_version_parameter = check_db_version_from_env() or test_environment_options.LATEST_DB_VERSION
 
         self.setup_luigi_config()
 
@@ -67,7 +66,8 @@ def run_spawn_test_env(self, cleanup: bool):
                                   environment_type=EnvironmentType.docker_db,
                                   environment_name=self.env_name(),
                                   docker_db_image_version=self.docker_db_version_parameter,
-                                  docker_db_image_name="exasol/docker-db"
+                                  docker_db_image_name="exasol/docker-db",
+                                  test_container_content=get_test_container_content()
                                   )
         try:
             success = luigi.build([task], workers=1, local_scheduler=True, log_level="INFO")
@@ -98,19 +98,6 @@ def _exec_cmd_in_test_container(self, test_environment_info, cmd):
             self.assertEquals(exit_code, 0)
             return output.decode('utf-8')
 
-    def _verify_test_data(self, test_environment_info):
-        cmd = self._create_exaplus_check_cmd(test_environment_info)
-        output_str = self._exec_cmd_in_test_container(test_environment_info, cmd)
-
-        # TODO read /tests/test/import.sql and apply a regular expression to
-        # get all table names and compare then one-by-one
-        self.assertIn("ENGINETABLE", [output_entry.strip() for output_entry in output_str.split(sep='\n')])
-
-    def test_initial_reuse_database_setup_populates_data(self):
-        task = self.run_spawn_test_env(cleanup=True)
-        self._verify_test_data(task.get_result())
-        task.cleanup(True)
-
     def get_instance_ids(self, test_environment_info):
         with ContextDockerClient() as docker_client:
             test_container = docker_client.containers.get(test_environment_info.test_container_info.container_name)
@@ -130,7 +117,6 @@ def test_reuse_env_same_instances(self):
         test_environment_info = task.get_result()
         new_instance_ids = self.get_instance_ids(test_environment_info)
         self.assertEquals(old_instance_ids, new_instance_ids)
-        self._verify_test_data(test_environment_info)
 
         task.cleanup(True)
 
diff --git a/exasol_integration_test_docker_environment/test/test_test_environment.py b/exasol_integration_test_docker_environment/test/test_test_environment.py
deleted file mode 100644
index 0f9b4d457..000000000
--- a/exasol_integration_test_docker_environment/test/test_test_environment.py
+++ /dev/null
@@ -1,75 +0,0 @@
-import unittest
-from pathlib import Path
-
-from exasol_integration_test_docker_environment.lib.docker import ContextDockerClient
-from exasol_integration_test_docker_environment.testing import utils
-from exasol_integration_test_docker_environment.testing.exaslct_test_environment import ExaslctTestEnvironment
-
-
-class DockerTestEnvironmentTest(unittest.TestCase):
-
-    @classmethod
-    def setUpClass(cls):
-        print(f"SetUp {cls.__name__}")
-        # We can't use start-test-env. because it only mounts ./ and
-        # doesn't work with --build_ouput-directory
-        cls.test_environment = \
-            ExaslctTestEnvironment(
-                cls,
-                utils.INTEGRATION_TEST_DOCKER_ENVIRONMENT_DEFAULT_BIN,
-                clean_images_at_close=False)
-        # TODO cls.test_environment.clean_images()
-        cls.docker_environment_name = cls.__name__
-        cls.spawned_docker_test_environments = \
-            cls.test_environment.spawn_docker_test_environments(name=cls.docker_environment_name,
-                                                                additional_parameter=[
-                                                                    "--deactivate-database-setup"
-                                                                ])
-
-    @classmethod
-    def tearDownClass(cls):
-        utils.close_environments(cls.spawned_docker_test_environments, cls.test_environment)
-
-    def test_all_containers_started(self):
-        on_host_docker_environment = self.spawned_docker_test_environments.on_host_docker_environment
-        with ContextDockerClient() as docker_client:
-            containers = [c.name for c in docker_client.containers.list() if self.docker_environment_name in c.name]
-            self.assertEqual(len(containers), 2,
-                             f"Not exactly 2 containers in {containers}.\nStartup log was: "
-                             f"{on_host_docker_environment.completed_process.stdout.decode('utf8')}")
-            db_container = [c for c in containers if "db_container" in c]
-            self.assertEqual(len(db_container), 1,
-                             f"Found no db container in {containers}.\nStartup log was: "
-                             f"{on_host_docker_environment.completed_process.stdout.decode('utf8')}")
-            test_container = [c for c in containers if "test_container" in c]
-            self.assertEqual(len(test_container), 1,
-                             f"Found no test container in {containers}.\nStartup log was: "
-                             f"{on_host_docker_environment.completed_process.stdout.decode('utf8')}")
-
-    def test_docker_available_in_test_container(self):
-        on_host_docker_environment = self.spawned_docker_test_environments.on_host_docker_environment
-        with ContextDockerClient() as docker_client:
-            containers = [c.name for c in docker_client.containers.list() if self.docker_environment_name in c.name]
-            test_container = [c for c in containers if "test_container" in c]
-            exit_result = docker_client.containers.get(test_container[0]).exec_run("docker ps")
-            exit_code = exit_result[0]
-            output = exit_result[1]
-            self.assertEqual(exit_code, 0,
-                             f"Error while executing 'docker ps' in test container got output\n {output}.\n"
-                             f"Startup log was: {on_host_docker_environment.completed_process.stdout.decode('utf8')}")
-
-    def test_envrionment_info_available(self):
-        on_host_docker_environment = self.spawned_docker_test_environments.on_host_docker_environment
-        temp_dir_glob = list(Path(self.test_environment.temp_dir).glob("**/*"))
-        path_filter = f"cache/environments/{on_host_docker_environment.name}"
-        actual_environment_infos = sorted([path.name
-                                           for path in temp_dir_glob
-                                           if path_filter in str(path) and "environment_info" in path.name])
-        expected_environment_infos = sorted(["environment_info.sh", "environment_info.conf", "environment_info.json"])
-        self.assertEqual(actual_environment_infos, expected_environment_infos,
-                         f"Did not found environment_info files on host.\n"
-                         f"Startup log was: {on_host_docker_environment.completed_process.stdout.decode('utf8')}")
-
-
-if __name__ == '__main__':
-    unittest.main()
diff --git a/exasol_integration_test_docker_environment/test/test_test_environment_docker_runtime.py b/exasol_integration_test_docker_environment/test/test_test_environment_docker_runtime.py
deleted file mode 100644
index 99f7c172b..000000000
--- a/exasol_integration_test_docker_environment/test/test_test_environment_docker_runtime.py
+++ /dev/null
@@ -1,164 +0,0 @@
-import subprocess
-import unittest
-
-from exasol_integration_test_docker_environment.lib.docker import ContextDockerClient
-from exasol_integration_test_docker_environment.testing import utils
-from exasol_integration_test_docker_environment.testing.exaslct_test_environment import ExaslctTestEnvironment
-
-
-def assert_container_runtime(self, container_name, expected_runtime):
-    on_host_docker_environment = self.spawned_docker_test_environments.on_host_docker_environment
-    with ContextDockerClient() as docker_client:
-        try:
-            container = docker_client.containers.get(container_name)
-            container.reload()
-            actual_runtime = container.attrs['HostConfig']['Runtime']
-        except Exception as e:
-            startup_log = on_host_docker_environment.completed_process.stdout.decode("utf8")
-            raise Exception(f"Startup log: {startup_log}") from e
-        self.assertEqual(actual_runtime, expected_runtime,
-                         f"{container_name} has the wrong runtime expected {expected_runtime} got {actual_runtime}."
-                         f"\n Startup log is "
-                         f"{on_host_docker_environment.completed_process.stdout.decode('utf8')}")
-
-
-def get_default_docker_runtime():
-    with ContextDockerClient() as docker_client:
-        tmp_container = docker_client.containers.create("ubuntu:18.04", "echo")
-        try:
-            tmp_container.reload()
-            default_docker_runtime = tmp_container.attrs['HostConfig']['Runtime']
-        finally:
-            tmp_container.remove(force=True)
-        return default_docker_runtime
-
-
-class DockerTestEnvironmentDockerRuntimeNoRuntimeGivenTest(unittest.TestCase):
-
-    @classmethod
-    def setUpClass(cls):
-        print(f"SetUp {cls.__name__}")
-        # We can't use start-test-env. because it only mounts ./ and
-        # doesn't work with --build_ouput-directory
-        cls.test_environment = \
-            ExaslctTestEnvironment(
-                cls,
-                utils.INTEGRATION_TEST_DOCKER_ENVIRONMENT_DEFAULT_BIN,
-                clean_images_at_close=False)
-        cls.docker_environment_name = "test_no_runtime_given"
-        cls.spawned_docker_test_environments = \
-            cls.test_environment.spawn_docker_test_environments(name=cls.docker_environment_name,
-                                                                additional_parameter=[
-                                                                    "--deactivate-database-setup"
-                                                                ])
-        cls.default_docker_runtime = get_default_docker_runtime()
-
-    @classmethod
-    def tearDownClass(cls):
-        utils.close_environments(cls.spawned_docker_test_environments, cls.test_environment)
-
-    def test_test_container_runtime(self):
-        try:
-            environment_info = self.spawned_docker_test_environments.on_host_docker_environment.environment_info
-            test_container_name = environment_info.test_container_info.container_name
-        except Exception as e:
-            startup_log = self.spawned_docker_test_environments\
-                .on_host_docker_environment.completed_process.stdout.decode("utf8")
-            raise Exception(f"Startup log: {startup_log}") from e
-        assert_container_runtime(self, test_container_name, self.default_docker_runtime)
-
-    def test_database_container_runtime(self):
-        try:
-            environment_info = self.spawned_docker_test_environments.on_host_docker_environment.environment_info
-            database_container_name = environment_info.database_info.container_info.container_name
-        except Exception as e:
-            startup_log = \
-                self.spawned_docker_test_environments.on_host_docker_environment.completed_process.stdout.decode("utf8")
-            raise Exception(f"Startup log: {startup_log}") from e
-        assert_container_runtime(self, database_container_name, self.default_docker_runtime)
-
-
-class DockerTestEnvironmentDockerRuntimeDefaultRuntimeGivenTest(unittest.TestCase):
-
-    @classmethod
-    def setUpClass(cls):
-        print(f"SetUp {cls.__name__}")
-        # We can't use start-test-env. because it only mounts ./ and
-        # doesn't work with --build_ouput-directory
-        cls.test_environment = \
-            ExaslctTestEnvironment(
-                cls,
-                utils.INTEGRATION_TEST_DOCKER_ENVIRONMENT_DEFAULT_BIN,
-                clean_images_at_close=False)
-        cls.default_docker_runtime = get_default_docker_runtime()
-        cls.docker_environment_name = "test_default_runtime_given"
-        cls.spawned_docker_test_environments = cls.test_environment.spawn_docker_test_environments(
-                cls.docker_environment_name,
-                additional_parameter=[
-                    "--docker-runtime", cls.default_docker_runtime,
-                    "--deactivate-database-setup",
-                ])
-
-    @classmethod
-    def tearDownClass(cls):
-        utils.close_environments(cls.spawned_docker_test_environments, cls.test_environment)
-
-    def test_test_container_runtime(self):
-        on_host_docker_environment = self.spawned_docker_test_environments.on_host_docker_environment
-        try:
-            environment_info = on_host_docker_environment.environment_info
-            test_container_name = environment_info.test_container_info.container_name
-        except Exception as e:
-            startup_log = on_host_docker_environment.completed_process.stdout.decode("utf8")
-            raise Exception(f"Startup log: {startup_log}") from e
-        assert_container_runtime(self, test_container_name, self.default_docker_runtime)
-
-    def test_database_container_runtime(self):
-        on_host_docker_environment = self.spawned_docker_test_environments.on_host_docker_environment
-        try:
-            environment_info = on_host_docker_environment.environment_info
-            database_container_name = environment_info.database_info.container_info.container_name
-        except Exception as e:
-            startup_log = on_host_docker_environment.completed_process.stdout.decode("utf8")
-            raise Exception(f"Startup log: {startup_log}") from e
-        assert_container_runtime(self, database_container_name, self.default_docker_runtime)
-
-
-class DockerTestEnvironmentDockerRuntimeInvalidRuntimeGivenTest(unittest.TestCase):
-
-    @classmethod
-    def setUpClass(cls):
-        print(f"SetUp {cls.__name__}")
-        # We can't use start-test-env. because it only mounts ./ and
-        # doesn't work with --build_ouput-directory
-        cls.test_environment = \
-            ExaslctTestEnvironment(
-                cls,
-                utils.INTEGRATION_TEST_DOCKER_ENVIRONMENT_DEFAULT_BIN,
-                clean_images_at_close=False)
-        cls.docker_environment_name = "test_default_runtime_given"
-
-    @classmethod
-    def tearDownClass(cls):
-        utils.close_environments(cls.test_environment)
-
-    def test_docker_environment_not_available(self):
-        exception_thrown = False
-        spawn_docker_test_environments_successful = False
-        try:
-            spawned_docker_test_environments = self.test_environment.spawn_docker_test_environments(
-                    self.docker_environment_name,
-                    additional_parameter=[
-                        "--docker-runtime", "AAAABBBBCCCC_INVALID_RUNTIME_111122223333",
-                        "--deactivate-database-setup",
-                    ])
-            spawn_docker_test_environments_successful = True
-            utils.close_environments(spawned_docker_test_environments)
-        except subprocess.CalledProcessError:
-            exception_thrown = True
-        self.assertFalse(spawn_docker_test_environments_successful)
-        self.assertTrue(exception_thrown)
-
-
-if __name__ == '__main__':
-    unittest.main()
diff --git a/exasol_integration_test_docker_environment/test/test_upload.py b/exasol_integration_test_docker_environment/test/test_upload.py
new file mode 100644
index 000000000..b9769058d
--- /dev/null
+++ b/exasol_integration_test_docker_environment/test/test_upload.py
@@ -0,0 +1,122 @@
+import tempfile
+import unittest
+from pathlib import Path
+from sys import stderr
+
+import luigi
+from exasol_bucketfs_utils_python import list_files, download
+from exasol_bucketfs_utils_python.bucket_config import BucketConfig
+from exasol_bucketfs_utils_python.bucketfs_config import BucketFSConfig
+from exasol_bucketfs_utils_python.bucketfs_connection_config import BucketFSConnectionConfig
+
+from exasol_integration_test_docker_environment.lib.api.common import generate_root_task
+from exasol_integration_test_docker_environment.lib.test_environment.database_setup.upload_file_to_db import \
+    UploadFileToBucketFS
+from exasol_integration_test_docker_environment.testing import utils
+from exasol_integration_test_docker_environment.testing.api_test_environment import ApiTestEnvironment
+
+BUCKET_NAME = "default"
+PATH_IN_BUCKET = "upload_test"
+
+
+class TestfileUpload(UploadFileToBucketFS):
+    path = luigi.Parameter()
+    file_to_upload = luigi.Parameter()
+
+    def get_log_file(self) -> str:
+        return "/exa/logs/cored/*bucketfsd*"
+
+    def get_pattern_to_wait_for(self) -> str:
+        return f"{self.file_to_upload}.*linked"
+
+    def get_file_to_upload(self) -> str:
+        return f"{Path(str(self.path)) / str(self.file_to_upload)}"
+
+    def get_upload_target(self) -> str:
+        return f"{BUCKET_NAME}/{PATH_IN_BUCKET}/{self.file_to_upload}"
+
+    def get_sync_time_estimation(self) -> int:
+        """Estimated time in seconds which the bucketfs needs to extract and sync a uploaded file"""
+        return 10
+
+
+class TestUpload(unittest.TestCase):
+
+    @classmethod
+    def setUpClass(cls):
+        print(f"SetUp {cls.__name__}", file=stderr)
+        cls.test_environment = ApiTestEnvironment(cls)
+        cls.docker_environment_name = cls.__name__
+        cls.environment = \
+            cls.test_environment.spawn_docker_test_environment(name=cls.docker_environment_name)
+
+    @classmethod
+    def tearDownClass(cls):
+        utils.close_environments(cls.environment, cls.test_environment)
+
+    def _upload(self, temp_dir: str, file_to_upload: str):
+        task = generate_root_task(task_class=TestfileUpload,
+                                  path=temp_dir,
+                                  file_to_upload=file_to_upload,
+                                  environment_name=self.environment.name,
+                                  test_environment_info=self.environment.environment_info,
+                                  bucketfs_write_password=self.environment.bucketfs_password
+                                  )
+        try:
+            success = luigi.build([task], workers=1, local_scheduler=True, log_level="INFO")
+            if not success:
+                raise Exception("Task failed")
+        except Exception as e:
+            task.cleanup(False)
+            raise RuntimeError("Error uploading test file.") from e
+
+    def get_bucket_config(self):
+        db_info = self.environment.environment_info.database_info
+        connection_config = BucketFSConnectionConfig(
+            host=db_info.host, port=int(db_info.bucketfs_port),
+            user=self.environment.bucketfs_username, pwd=self.environment.bucketfs_password,
+            is_https=False)
+        bucketfs_config = BucketFSConfig(
+            connection_config=connection_config,
+            bucketfs_name="bfsdefault")
+
+        bucket_config = BucketConfig(
+            bucket_name=BUCKET_NAME,
+            bucketfs_config=bucketfs_config)
+
+        return bucket_config
+
+    def download_file_and_read(self, output_path: Path, filename: str):
+        local_output_file_path = output_path / filename
+        download.download_from_bucketfs_to_file(
+            bucket_config=self.get_bucket_config(),
+            bucket_file_path=f"{PATH_IN_BUCKET}/{filename}",
+            local_file_path=local_output_file_path)
+        file_content = local_output_file_path.read_text()
+        return file_content
+
+    def test_upload(self):
+        with tempfile.TemporaryDirectory() as d:
+            file_one = "test1.txt"
+            file_two = "test2.txt"
+            with open(f"{d}/{file_one}", "w") as f:
+                f.write(file_one)
+            with open(f"{d}/{file_two}", "w") as f:
+                f.write(file_two)
+
+            self._upload(d, file_one)
+            self._upload(d, file_two)
+
+        bucket_config = self.get_bucket_config()
+        files = list_files.list_files_in_bucketfs(bucket_config=bucket_config, bucket_file_path=PATH_IN_BUCKET)
+        self.assertEquals(sorted(list(files)), [file_one, file_two])
+        with tempfile.TemporaryDirectory() as d_target:
+            p_target = Path(d_target)
+            file_one_content = self.download_file_and_read(p_target, file_one)
+            assert file_one_content == file_one
+            file_two_content = self.download_file_and_read(p_target, file_two)
+            assert file_two_content == file_two
+
+
+if __name__ == '__main__':
+    unittest.main()
diff --git a/exasol_integration_test_docker_environment/testing/api_consistency_utils.py b/exasol_integration_test_docker_environment/testing/api_consistency_utils.py
index 67208e0ec..52a98fa3a 100644
--- a/exasol_integration_test_docker_environment/testing/api_consistency_utils.py
+++ b/exasol_integration_test_docker_environment/testing/api_consistency_utils.py
@@ -1,11 +1,8 @@
 import inspect
-import unittest
 from typing import Any, List, Tuple
 
 import click
 
-from exasol_integration_test_docker_environment.testing.utils import multiassert
-
 
 def adjust_default_value_for_multiple(x: Any):
     """
@@ -50,7 +47,8 @@ def get_click_and_api_functions(click_module, api_module) -> Tuple[List[Any], Li
     # Get all click commands in module 'click_module'
     click_commands = [c[1] for c in inspect.getmembers(click_module, is_click_command)]
     # Get all functions in module 'api_module'
-    api_functions = [f[1] for f in inspect.getmembers(api_module, inspect.isfunction)]
+    api_functions = [f[1] for f in inspect.getmembers(api_module, inspect.isfunction)
+                     if f[1].__cli_function__]
     return click_commands, api_functions
 
 
@@ -58,5 +56,6 @@ def get_click_and_api_function_names(click_module, api_module) -> Tuple[List[Any
     # Get all click command names in module 'click_module'
     click_command_names = [c[0] for c in inspect.getmembers(click_module, is_click_command)]
     # Get all function names in module 'api_module'
-    api_function_names = [f[0] for f in inspect.getmembers(api_module, inspect.isfunction)]
+    api_function_names = [f[0] for f in inspect.getmembers(api_module, inspect.isfunction)
+                          if f[1].__cli_function__]
     return click_command_names, api_function_names
diff --git a/exasol_integration_test_docker_environment/testing/api_test_environment.py b/exasol_integration_test_docker_environment/testing/api_test_environment.py
index fb80c47ae..ff9a7f35e 100644
--- a/exasol_integration_test_docker_environment/testing/api_test_environment.py
+++ b/exasol_integration_test_docker_environment/testing/api_test_environment.py
@@ -6,12 +6,14 @@
 from sys import stderr
 from typing import Dict, Any
 
-from exasol_integration_test_docker_environment.cli.options.test_environment_options import LATEST_DB_VERSION
 from exasol_integration_test_docker_environment.lib.api import spawn_test_environment
+from exasol_integration_test_docker_environment.lib.api import spawn_test_environment_with_test_container
+from exasol_integration_test_docker_environment.lib.data.test_container_content_description import \
+    TestContainerContentDescription
 from exasol_integration_test_docker_environment.testing.docker_registry import default_docker_repository_name
 from exasol_integration_test_docker_environment.testing.exaslct_docker_test_environment import \
     ExaslctDockerTestEnvironment
-from exasol_integration_test_docker_environment.testing.utils import find_free_ports, check_db_version_from_env
+from exasol_integration_test_docker_environment.testing.utils import find_free_ports
 
 
 class ApiTestEnvironment:
@@ -47,10 +49,8 @@ def close(self):
         except Exception as e:
             print(e, file=stderr)
 
-    def spawn_docker_test_environment(self, name: str, additional_parameter: Dict[str, Any] = None) \
-            -> ExaslctDockerTestEnvironment:
-        database_port, bucketfs_port = find_free_ports(2)
-        on_host_parameter = ExaslctDockerTestEnvironment(
+    def _get_default_test_environment(self, name: str, database_port: int, bucketfs_port: int):
+        return ExaslctDockerTestEnvironment(
             name=self.name + "_" + name,
             database_host="localhost",
             db_username="sys",
@@ -59,18 +59,36 @@ def spawn_docker_test_environment(self, name: str, additional_parameter: Dict[st
             bucketfs_password="write",
             database_port=database_port,
             bucketfs_port=bucketfs_port)
-        db_version_from_env = check_db_version_from_env()
+
+    def spawn_docker_test_environment_with_test_container(self, name: str,
+                                                          test_container_content: TestContainerContentDescription,
+                                                          additional_parameter: Dict[str, Any] = None) \
+            -> ExaslctDockerTestEnvironment:
         if additional_parameter is None:
-            on_host_parameter.environment_info, on_host_parameter.clean_up = \
-                spawn_test_environment(environment_name=on_host_parameter.name,
-                                       database_port_forward=on_host_parameter.database_port,
-                                       bucketfs_port_forward=on_host_parameter.bucketfs_port,
-                                       docker_db_image_version=db_version_from_env or LATEST_DB_VERSION)
-        else:
-            on_host_parameter.environment_info, on_host_parameter.clean_up = \
-                spawn_test_environment(environment_name=on_host_parameter.name,
-                                       database_port_forward=on_host_parameter.database_port,
-                                       bucketfs_port_forward=on_host_parameter.bucketfs_port,
-                                       docker_db_image_version=db_version_from_env or LATEST_DB_VERSION,
-                                       **additional_parameter)
+            additional_parameter = dict()
+        database_port, bucketfs_port = find_free_ports(2)
+        on_host_parameter = self._get_default_test_environment(name, database_port, bucketfs_port)
+        docker_db_image_version = on_host_parameter.docker_db_image_version
+        on_host_parameter.environment_info, on_host_parameter.clean_up = \
+            spawn_test_environment_with_test_container(environment_name=on_host_parameter.name,
+                                                       database_port_forward=on_host_parameter.database_port,
+                                                       bucketfs_port_forward=on_host_parameter.bucketfs_port,
+                                                       docker_db_image_version=docker_db_image_version,
+                                                       test_container_content=test_container_content,
+                                                       **additional_parameter)
+        return on_host_parameter
+
+    def spawn_docker_test_environment(self, name: str,
+                                      additional_parameter: Dict[str, Any] = None) \
+            -> ExaslctDockerTestEnvironment:
+        if additional_parameter is None:
+            additional_parameter = dict()
+        database_port, bucketfs_port = find_free_ports(2)
+        on_host_parameter = self._get_default_test_environment(name, database_port, bucketfs_port)
+        on_host_parameter.environment_info, on_host_parameter.clean_up = \
+            spawn_test_environment(environment_name=on_host_parameter.name,
+                                   database_port_forward=on_host_parameter.database_port,
+                                   bucketfs_port_forward=on_host_parameter.bucketfs_port,
+                                   docker_db_image_version=on_host_parameter.docker_db_image_version,
+                                   **additional_parameter)
         return on_host_parameter
diff --git a/exasol_integration_test_docker_environment/testing/exaslct_docker_test_environment.py b/exasol_integration_test_docker_environment/testing/exaslct_docker_test_environment.py
index bf4244911..96ce9445b 100644
--- a/exasol_integration_test_docker_environment/testing/exaslct_docker_test_environment.py
+++ b/exasol_integration_test_docker_environment/testing/exaslct_docker_test_environment.py
@@ -1,7 +1,9 @@
 import subprocess
 from typing import Optional
 
+from exasol_integration_test_docker_environment.cli.options.test_environment_options import LATEST_DB_VERSION
 from exasol_integration_test_docker_environment.lib.data.environment_info import EnvironmentInfo
+from exasol_integration_test_docker_environment.testing.utils import check_db_version_from_env
 
 
 class ExaslctDockerTestEnvironment:
@@ -22,6 +24,7 @@ def __init__(self, name: str, database_host: str,
         self.environment_info = environment_info
         self.completed_process = completed_process
         self.clean_up = None
+        self.docker_db_image_version = check_db_version_from_env() or LATEST_DB_VERSION
 
     def close(self):
         if self.clean_up is not None:
diff --git a/tests/requirements.txt b/tests/requirements.txt
deleted file mode 100644
index 10a34ae79..000000000
--- a/tests/requirements.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-#Need to keep this empty file, as any clients might need a requirements.txt
-#and analyze_test_container.py assumes it's existence
\ No newline at end of file
diff --git a/tests/test/enginedb_small/csv/COMP1.csv b/tests/test/enginedb_small/csv/COMP1.csv
deleted file mode 100644
index 31038425f..000000000
--- a/tests/test/enginedb_small/csv/COMP1.csv
+++ /dev/null
@@ -1,100 +0,0 @@
-1,B," ",c,b,"  aC"," 1  ",2C2,22,"1B32c  b  ","B2b3      ",C,"  "
-2,C,3,2,c,"c1A ","BA  ",ABC," C","2a2       ","cbc       "," ",ABC
-3,a,C,C," "," aB ","B   ",Cc," A31","  2 2AC cB","  A1a 3   "," 2 2 C1aA",
-4,3,c,2,1,"3B  ","22c ","3c ",a2,"bC2cCbc   ","CB1C b    ",aB3Bc1,"B  1a  "
-5,2,b,3," ","    ","    ",1c," ","cBcCbca   "," ac221aB  ","ABC ","B 3"
-6,C,a,c,A,"A3  "," C  ",ca,"  c1","1a  3CCaA ","   B ccA3 ","   "," B"
-7,a,a,b," ",c2aB,,C," ","c cBCc    ","Cac       ","Ac C"," "
-8,C," ",2,3,"bBc ","A   "," cCa","C1a ","ABC       ","ab3       ","1c ",b
-9,1,1,A,a,"b 33","1aC "," a",2AC,"ABC       ","ba2       ","Aa  3 b"," c3bb1"
-10,b,A,A,1,"21a ",b21C,A,"b 1b","1BA1CBA   ","2 1       ",ba1,
-11,c,2,2,2,"33c "," 1C ",1,ABC,"3         "," C 3      ",,ABbBb
-12,2,C,B,b,"b2  ","ac  ","B ",2CBa,"3         ","BCba      "," A a3 2","C1a  B"
-13,1,C,B,b,bb1c,"a   ",aa1,Cc,"          ","bC1b CccC ",bA,"A   c2BC1"
-14,c,c,2,C,"ABC ","    ","A  ","c aB","E         ","          ","123 ","b bB1B B"
-15,C,1,3,c,"C   ",," ",31c,"bBC       "," 1C       ","A1B31Ab c"," 3"
-16,A,A," ",C,"BA 3","a   ",1c3,"b ","31a2b     ","1C3Aa 1   ","a2bc    c",2A
-17,2,C,1,B," 1  "," 1  ",bA1A,E,"          ","ABC       "," cB"," a1c "
-18,3,2,B,1,"ABC ","3   ",AC3,b,"c A2      ","Ccac      ",3,"3 b1C"
-19,2,a,B,A,"B2  ","c b "," c3B"," A","ABC       ","   A3C2A  "," A 2C1a3 c","3 c ac c1C"
-20,b,2,c,C,"    ","A1  ","aC b","A ","ABC       ","cC        ",3C," 2 "
-21," ",,3,B,"b   ","21b ",cCc,11,"b a  1BcA ","aA  b3ac  "," ",BA
-22,A,2,B,C,"a 2c","2B  ","31 ",bb2C,"C         ","c         ","c "," B3Ac3a"
-23,,C,b,1,"1   ","33  ",c," B","1c3a3     ","ABB1B B3  ",ABC,"b2B  "
-24,C," ",C," ","32a ","ABC ",E,3B,"12 2 C    ","aB1B      ",1cCb," C b"
-25,C," ",c,c,"c   ","ca  ",C1AB,3,"BA        ","1C AC32aC ","2 ","c "
-26,3,b,2,1," 21 ","b   ",a2B1,Bb2,"B3Ba2 B   ","AB        "," ",CB
-27,2,3,C,a,"3 1 ","2 Bb",c,"ABC ","AcC       ","2C        ","    "," 3"
-28,C,2,1,C,"a   ","B   ",bc,CbbC," c        ","CB11 3Ab3 ",2A," "
-29,2,a,1,2,"    ","  aC"," ","1a "," CB 1 31b ","AaA3      ","32b BB12 ","BBC A1"
-30," ",3,3,b,"c   ","1A  ",,ABC,"1b        ","33bB Ab33 ","1Ab C",b
-31,B,A,B,C,"  C2","2   "," aC"," AC","ABC       "," B        ",3b,
-32,C," ",1,C,"ABC ","C   ","3 "," b a","1ba 3bA   ","3 C3a2  3 "," 1",A1
-33,2,2,b,C,"1   ","aaa ","1   ",CC,"bb1BA     ",2BC2b2CBc1,"   2","2aB CBB"
-34,B,c,B,1,,"    ",3Ab,1b,"2 C  b    ","B31A 3    ",ABC,"222 BC2b"
-35,3,1,C,a,b3BB,"c   ",2,"a  "," ab BA C  ","c         ","ABC ","  B"
-36,a,c,3," ","ABC ","A   ","Ca  ","ABC "," C        ","a2        ","ABC  ",11b
-37,A,,1,3,"c   ","C   ",1,C,"1c        ","cB        ","3 2AC ","1aC A1BA"
-38,C,A,a,,"a   ","ccc ","A ","12 ","  b       ","2         ",3aBBB,"B 2A23"
-39,a,2,1,A,"B   ",2A23,2,"2 2c","ba1       ","3         ",,"12  a3"
-40,A,A,3,b,"C CB","3ca ",31A1,3C3C,"c c       ","aA  1     ","BbB 3 a ",31b
-41,A,c,2," ","B   "," 31 ",CAc," ","a2        ","bC 3 A    ","bC2a1 Ba3"," a3 31cC"
-42,2,3,c,A,"C2  ","    ",," ","1c        ","  b       "," ab c cbb ",ac3A
-43," ",1,C,2,C1aa,cB21,c,aAA,"BAB31a AC ","a2        ","ABC  "," "
-44,A,2,2,c,"B   ","A   ","B 13",bBCC,"a 3CbA    ","abbbC     "," 1B 1a  C",ABC
-45,1,C,2,c," B A"," abb",B22,C11,"          ","AC AC33   "," bbCBACa"," c"
-46,A,3,B,," b C","2   ",C," ","A         ","B 2 2BbcB ",2BAC1," B1"
-47,c,3,3,1,"3 C ","1   ","1a ","1  ","3         ","  13      "," 1BcCcCa","c2aB B"
-48,2,C,1,A,"1c  ",2c2b,"ABC "," ","1CA231A3  ","b1        ","21a1 22 ",cc
-49,B," ",3,1,"3   ","2a  ","b13 ","Cb 2"," CC3cAA   ","3ab B BbbC",BC,"Aa 12  1"
-50,C,c,2,a,"bb1 ","B   ","a C"," 3","ABC       ","BaB21C    ","2 ","BAa 3CaAa "
-51,3,2,1," ","1c2 ","    ","a 3 ",B,"1 32a B   "," c3ab     ","32baC b","C b"
-52,,3,3,c,"3C  ","1   ",12,1b1,"1c ABcC3  ","cac3a23   "," B C1 3aC",
-53,a,b,3,A,"ABC ","C   "," "," ","ABC       ","cC        ",232c,2Ba1
-54,1,B,2,b,"B2  ","cC  ",ca," aC ","AA32b     ","ba2323    ","ABC  "," 1"
-55," ",2,2,B,"ABC ","b   ","   ","aB "," 2aB CA   "," CAc      ",3,"AC 1 3cb3"
-56,3,1,1,a,"CA3 ",B22B,2C2,"  1","3cB b2 a33","ABC       ","   3","1C "
-57,b,A,2,3,"2c  ",bBC1,c,aCAc,"CC        ","1         ","ABC  ",BA
-58,2,B,1,a,"caA ","13  ","ABC ",c,"acb       "," C a cC   ","Ab "," B b2BA2cB"
-59,a,C,3," ","A   "," 2c2",AAbb,"A  ","11 aA2A2 B","C3bAB     ",bB2bB,"1  13 b"
-60,2,A,c,c,"Cbb "," BA ",ABC,aC,"C         "," 1        ",,"ABC "
-61,c,1,c,a,"B1  ","B 12"," ",cb," a        ","CcB       "," 2B1C ","3 b2 CC2"
-62,3,2," ",1,"ABC ","B1  ",B2B,B11,"b C1 3    ","C b       "," BaC"," "
-63,3,a,3,2,"ABC ","ABC ",1B,b2C,"a a       ","1ab       ","21BB   ",BCBa
-64," ",b,B,2,"c3A ",32cB,"31 "," ","113 b  13 ","1         ","ABC  "," A"
-65,C,c,A,a,"ABC ","ABC "," "," 3","3 A       ","1   2c2aC ",a,
-66,B,,1,C,"aC  ","1 3C",BBBB,23,"          ","ca  a 3CaA","caa 3  c A","A  "
-67,c,,B,a," Ac ","3a  ","  3c"," ","b 2cCaa   ","B3ca1  C  ","ABC  "," ab"
-68,a,3,1," ","    ","AaC ","3 C"," a","b BBBACBcB","CBa2Ac    ","c 3","  3b"
-69," "," ",1,a,"A   ",BAA3,a1A3,C,"a 1C      ","3baC      ","A a"," bc2c  1B"
-70,A,a,1,C,"    ","A   ",,E," 2        ","BC b      ",,BCaA
-71,1,c,A,A,"1   ","Bc  ","1  ","1  A","ABC       ","1B        ",b1BB,"a c31BA  "
-72,C,c,2,B," 2  ","211 ",2BC,A23,"aBb3      ","C aB      ","13 c1","c a 3b11"
-73,C,B,2,a,"3A1 ","B 2C","3 a",AC3,"CC        ","aB        "," 3A  a","1A  B"
-74,B,c,1,c,"   c","ABC "," ",31,"  2a1     "," 1b Bb    ","ABC ","2 C"
-75,C,a," ",B,"Bb  ","2 B ",ABC,"2 2 ","bAB bba   "," 2 1a  2  ",aC3A,"ac 3bA232b"
-76,c,c,B,C,"A2C ","    ","  ",3Ba2,"cbAB      "," 1        ","b 2","Cac3c    1"
-77,a,b,c,C,"c1  ","ABC ",A," 3cA","3Ab CC2   ","A1        ","ABC  ","ABC  "
-78,2,2,C,B,"3   ","b B ",C1a,"A 3a","Bc2 2 BaB "," 3 b      ","ABC ",2a3
-79,3,A,2,a,"1b  ","C1  ",23A,aB32,"A         ","22b2Ccc   ",BB,2AC
-80,c,2,1,1,"b   ","B   "," 1a","B2 1","ABC       ","2a1 b     "," c ca 11","1B31c A33A"
-81,B,2,c,2,22Cb," 2  ","Cab ","Cab ","c         "," b        ","1B3Caa CB ","B 1"
-82,a,2,a,1,"b2  ","A c3",Bc,C3,"aC3bc1bc  ","3b        ",23cbaC,a
-83,b,1," ",C,"ABC ","A   ","  Ca",2B,"3ba1      ","ABC       ","3c ",
-84," "," "," ",2,"2 a "," a  ",1BAB," a1 "," Bca  A   ","b3Cbb2    ",32ca,"aB CBC22"
-85,3,C,a,C," 31 ","B 32","c ","ABC "," a        ","C  cCccA  ","1b 23 A1",E
-86,3,3," ",c,"    ","  33",A1,ABC," b3B      "," 2bC1A    "," 2AC 3 cA","C3AA a33 "
-87,3,a,a,2,"1   ","3   ",Cbb,13,"AacAa3A   ","B1B C 3bb1","2  ","ABC "
-88,1,c,C,3,"13  ","3   "," ",Ca," 2  bb11  ","BB1C Ab   ",3BcCC,"  3"
-89,A,2,,B,C3Aa,"b   ",3Ba," bcC","a3        ","A         "," A   2 2 2"," 112 2CC"
-90,1,a,B,c,"3   ","b   ",23," "," B1 3     ","3aa3  3 A1"," AC11AAC","b 2B11 cc3"
-91,2,C,1,,"B   "," B 1"," 2B2",1C1,"Ac 12 B   ","ACb2a     "," aC3c",bb1
-92,2,1,3,2,BaC2," b  ",3BC," b13","ABC       ","          ",ABC," 2A13 AC "
-93,3,C,B,2,"A   ","3 1 ",2bb1," ","2c1Aa     ","331b11 Bc ","B B bbC","   "
-94," ",B,2,b,"ABC ","A3  ","  ","A   ","Bb1b3b    ","3aa  c    ",31AC,ABC
-95,3,1,c,B,"B   ","AC  ",1,B," cCca23   ","CCaA3 c   ","123 ",21CC
-96,b,B," ",A,"Bb  ","AB  ","a1 ","A1  ","AaC3cAb   ","ABC       ",3," A"
-97,C," ",1,b,"ba3 "," A  "," 21 ","Ac ","          ",,A," c22CaAc"
-98,2,a,a," ","Cba ","ABC ",3," ","3 aA   B  ","ccac bb1  ","b1A ","ABC "
-99," ",A,,C,"33a ",B2A1,Bb2B," ",," bb BB    "," 21B"," cab "
-100," ",a,3,b," 2C2","C2  ","B  ",ABC,"aC a      ","2         ","cAa 1 C",a
diff --git a/tests/test/enginedb_small/csv/COMP2.csv b/tests/test/enginedb_small/csv/COMP2.csv
deleted file mode 100644
index 6a0b21a19..000000000
--- a/tests/test/enginedb_small/csv/COMP2.csv
+++ /dev/null
@@ -1,100 +0,0 @@
-1,B," ",c,b,"  aC"," 1  ",2C2,22,"1B32c  b  ","B2b3      ",C,"  "
-2,C,3,2,c,"c1A ","BA  ",ABC," C","2a2       ","cbc       "," ","3ab 1"
-3,C," "," ",B," B  ","ca  ",A31a," 2 2"," cB13     ",,"1a ","1  2 2 C"
-4,A,,3,c," C 2","3B  ",22c,"3c ","a2 2      ","2cCbc     ","CB1C b",aB3Bc1
-5,A,C," ",2,"b   "," B  "," a a",1C1c," A2       ","cCbc      ","3 ac22",B
-6,c,1,C,a,"A CB","A3  "," C",ca,"  c1b 1a  ",,"CaAa "," B ccA3 aA"
-7," "," ",C,b," b  "," 2  ",2," 2"," a b1     ",cBCc1ACac2,"c C"," "
-8,C," ",2,3,"bBc ","A   "," cCa","C1a ","cab3B     ","c cab     ","2a23AB ",3
-9,,2,2,B," a  ","2AC ",ABC,b,"32Aa  3   ","31        ",3bb,"AcC A"
-10,A,1,1,3,"ABC ","1C3 ","b ","1b 2","A1CB      ","A2 11c    ",1,E
-11,c,2,2,2,"33c "," 1C ",1,ABC,"3         "," C 3      ",,ABbBb
-12,2,C,B,b,"b2  ","ac  ","B ",2CBa,"3         ","BCba      "," A a3 2","C1a  B"
-13,1,C,B,b,bb1c,"a   ",aa1,Cc,"          ","bC1b CccC ",bA,"A   c2BC1"
-14,c,c,2,C,"ABC ","    ","A  ","c aB","ABC       ","          ","123 ","b bB1B B"
-15,C,1,3,c,"C   ",," ",31c,"bBC       "," 1C       ","A1B31Ab c"," 3"
-16,A,A," ",C,"BA 3","a   ",1c3,"b ","31a2b     ","1C3Aa 1   ","a2bc    c",2A
-17,2,C,1,B," 1  "," 1  ",bA1A,"ABC ","          ","c cB C    ",1,"a  A3 a "
-18,C,B," ",A,"Cbb ","c   ",3CC,c,"a         ","B3 b1C  3 ",a,B2BBCBB
-19,C,b,2,A," A  ","ABC ","   A",2A," A 2C1a3 c","3 c ac c1C","b  ","bc1b1Ba 3"
-20,C,a,a,c,cbcC,"3   ","A ","1A  ","          ","CccbC221  ",1cC,B1
-21,3,a,,A,"3   ","    ","ac "," ","BA        ","B C3 a    ","c1  a 2cB","BC231  "
-22,b,a,1,2,"    "," B3 ",3," C1c","Ba        ","b1 A33 ac "," BaC",3a3
-23,c,C,A,a,"2   "," aa2"," 12","  a","2a  aB3   ","21        ","2 C BaB1B ","cCbaB "
-24,b,C," ",c,"c   ","c   ",ca,C1AB,"3         ","AB 1C     ",C32," b2 2"
-25,2,3,b,2,"2A  ",21Ba," a2",B3B," 2B3Ba2   ","E         ","cAB a",E
-26,B,b," ",C,"3a3 "," 1  "," Bb",c,"AAcC      ","2C        ","    "," 3"
-27,C,2,1,C,"a   ","B   ",bc,CbbC," c        ","CB11 3Ab3 ",2A," "
-28,2,a,1,2,"    ","  aC"," ","1a "," CB 1 31b ","AaA3      ","32b BB12 ","BBC A1"
-29," ",3,3,b,"c   ","1A  ",,A,"          ","33bB Ab33 ","1Ab C",b
-30,B,A,B,C,"  C2","2   "," aC"," AC","ABC       "," B        ",3b,
-31,C," ",1,C,"ABC ","C   ","3 "," b a","1ba 3bA   ","3 C3a2  3 "," 1",A1
-32,2,2,b,C,"1   ","aaa ","1   ",CC,"bb1BA     ",2BC2b2CBc1,"   2","2aB CBB"
-33,B,c,B,1,"E   ","    ",3Ab,1b,"2 C  b    ","B31A 3    ",32," BC2b 2"
-34,B,C,b,3,"BBc ","1   ",33a," 3 a","BA CCac 1 "," Bc aa3Ac ","1  ac"," Ca"
-35," ",3,b," ","1   ","B   "," 2","Ac ","c         ","C C       ","CaC c1","bcBb13 2"
-36,3,C,3,A," 2  ","AC  ",AbaC,c,"AA        ","212       ","  b",2
-37,1,A,C,C,"3C  ","1   ",CBA,"B ","2A232a2  2","cAcba13   "," b112  a",cA
-38,A,3,b,B,"Bb  ","caA ",1A1,3C3C,"c c       ","aA  1     ","BbB 3 a ",31b
-39,A,c,2," ","B   "," 31 ",CAc," ","a2        ","bC 3 A    ","bC2a1 Ba3"," a3 31cC"
-40,2,3,c,A,"C2  ","    ",," ","1c        ","  b       "," ab c cbb ",ac3A
-41," ",1,C,2,C1aa,cB21,c,aAA,"BAB31a AC ","a2        ","ABC "," "
-42,A,2,2,c,"B   ","A   ","B 13",bBCC,"a 3CbA    ","abbbC     "," 1B 1a  C",c
-43,1,3," "," "," A  "," abb",B22,C11,"          ","AC AC33   "," bbCBACa"," c"
-44,A,3,B,," b C","2   ",C," ","A         ","B 2 2BbcB ",2BAC1," B1"
-45,c,3,3,1,"3 C ","1   ","1a ","1  ","3         ","  13      "," 1BcCcCa","c2aB B"
-46,2,C,1,A,"1c  ",2c2b,"ABC "," ","1CA231A3  ","b1        ","21a1 22 ",cc
-47,B," ",3,1,"3   ","2a  ","b13 ","Cb 2"," CC3cAA   ","3ab B BbbC",BC,"Aa 12  1"
-48,C,c,2,a,"bb1 ","B   ","a C"," 3"," BaB21C   "," c2 C BAa ","aAa 1"," 1  A2Ab "
-49,C,a,2,a," bb ","21  ","a B"," c3","          ","32baC b   ","C b",E
-50,3,3,c,1,"b1  ","12  ",1b1,"1c ","cC3a      ","ac        ",2,"  B"
-51,C,a,c,3,"A   ","23B ",C," ","          ","cC        ",232c,2Ba1
-52,1,B,2,b,"B2  ","cC  ",ca," aC ","AA32b     ","ba2323    ","ABC  "," 1"
-53," ",2,2,B,"c   ","1   ","aB "," 2a","CA 1B CAc1","  AC 1    ",b3C,"1C3aA3 ca"
-54,B,3,A,A,"2C2 ","  1 ","3cB "," a3","AB   3 A1C","cbC1A     ","3 a  32c"," bB"
-55,B,a,B,b,"Cb  "," Bc ",13,aC1c," ac       ","ABC       ",A,"C13 AbcCA"
-56,a,3,a,B,"A   ","   B",2,2c,"Ca        ","11  13 Aa ","  2c2","AAbbC1A  "
-57,C,a,c,A,"C3b "," 3  ",B,B,"1  13 b   ","3baB3     "," cc","Cbb B2 B"
-58,2,B,B,2," abc","2   ",A1Aa,B1,"B 12Ab CB ","AC        "," ","BACcBa2 2B"
-59,3,2,1,B,"B a2","b B ","  C"," 3B","21B1      ","2b C1 32  "," bcA ",C
-60,3,3,a,3,"   c","B32 ",CBc,aCc1,"b         ","1BB   b   ",CBa3,"bbb1BC1c A"
-61,1,2,b,1," Aa "," 11 ","b  1","a1 c","Aba1  c b ","3a        "," b","32A3 A2 1 "
-62,C,a,c," ","C   ","ABC ",3,212a,"A 1 3Cb B ","BBB2      ","a C",E
-63," ",3,a," ","a   ","  c ",3A," 3 A","ABC       ","C1aaa  Ac ","3a c   3",a
-64,1,1,a,2,"ca1 ","C bc",b,a1,"123ac ca  ","AaC c13 C ","ac b BBBAC",BA
-65,A,c,c,1,"    ","a   ","c  a",3Aa,"AB        ","AA3       ",1," aCaAa 1"
-66,A,a,c,a," bc2"," 1B ",32,2,"21Cb CcA  ",,"ABC  "," 2"
-67,A,b,,A,"A   ",2cCA,BcCB,"1   ","Bc  b11   ","1  A Ab1  ",Bb,"BC a"
-68,2,c,A,A,"a   ","BaC "," 2","211 ","2BC12A    ","2BaBb31   "," aB C"," c1A c "
-69,1,C,C,B,"    ","a   ",3A1,"B 2C","3 aB2AC   ","bCCbbaB   "," 3A  a","1A  B"
-70,B,c,1,c,"   c","ABC "," ",31,"  2a1     "," 1b Bb    ",ABC,"2 C"
-71,C,a," ",B,"Bb  ","2 B "," 2"," 23","B b       ","c         ","2 1a  2cBa","Ac ac 3b"
-72,2,B,1,A,"Cc  ",2A2C," ","  ",3Ba2cCcbAB,"ABC       "," 1","b 2"
-73,B,1,2,C,a12b,"c c ",B,"  c","          ","Aa        ","b C"," cbA1  "
-74,2,2,C,B,"3   ","b B ",C1a,"A 3a","Bc2 2 BaB "," 3 b      ",ABC,2a3
-75,3,A,2,a,"1b  ","C1  ",23A,aB32,"A         ","22b2Ccc   ",BB,2AC
-76,c,2,1,1,"b   ","B   "," 1a","B2 1","ABC       ","2a1 b     "," c ca 11","1B31c A33A"
-77,B,2,c,2,22Cb," 2  ","Cab ","Cab ","c         "," b        ","1B3Caa CB ","B 1"
-78,a,2,a,1,"b2  ","A c3",Bc,C3,"aC3bc1bc  ","3b        ",23cbaC,a
-79,b,1," ",C,"aAa ",Ca2B,aC,a," aA3c  1a ",," bB 1b3212",1
-80,a,C,A,3," 32 ","ca  ",A31b,bb,"B32cac    ","B         ",ABC,C22B
-81,,B,1,1,"1 31","B 32","c ",ABC," a        ","C  cCccA  ","1b 23 A1","ABC  "
-82,3,3," ",c,"    ","  33",A1,"B ","BC2 2bC   ","          ","C 3","Ab "
-83,c,a," ",3,"a   ",bAa3,1,3,"Cbb A133  ","acA       ","A2 B1B C","ABC  "
-84,b,c," ",c,"1   ","C1A ","113 ",3," b        ","a1  2     ","bb11  2B","C Ab B"
-85,b,a,3,c,"a   ","  CA",3A,"Ab  ","Ba1  bc   ","b         "," cA  1 ","   "
-86,C,a,C,3,"CA  ","Ccb ",BBB,b3,"bB        ","31a  B    "," 3  3a","  3 A133"
-87,,C,A," ",2B11,"ABC ",3," b","E         ","c2 BaBb   ","1   2B2B2","11 Ac"
-88,1,2,A,1,"C   ","3c  ",b,"Cb ","23C c3 2  ","C         ",C," "
-89,A," ",C,C," b  ","13  ","C "," Bc1",CaC3cbA133,"  2bb1    "," A","c1Aa A "
-90,C,C,c,1,"B bb","A   ","ABC "," ","C13       ","b C1A3 bB ",," "
-91," ",C,C,b,"3aa ",c1B3,"C "," a33","caC       ","bB13AC    ",1,BB
-92,b,a,A,B,"3   ","B   ","3 b",1CC,"bbBC12 13 ","CBb       ","AB c2a","B A1  32"
-93,B,c,A,2,"A2 1","    ",CBb,"ba3 "," Ac       "," 31Ac     "," ",E
-94,A," ",1,A,"a 3 ","3   ",a,B2Cb,"cc3aa   3 ","          ","3ccac ",1
-95,b,3,c,a,2c1A,"3aC ",2A," Bb","aa        "," bb BB    "," 21B"," cab "
-96," ",a,3,b," 2C2","C2  ","B  ",B," abb2     ","cAa 1 C   ",a,ABC
-97,2,b,3,C,"ab a"," Cc ",ABC,"  ","b2C1      "," B1b c bB2",a33ab,"b 1C c"
-98,A,3,2,b,"c2  ","c   ","2 "," ","1  B      ","CaA       ","b a3  c2b",B
-99,a,c,2,b,"3A  ","Cab ",," bcc","232a      ","  Aa3bb   ",1c1b,"C a3"
-100," ",a,a,3,"1c  ","1a  ",ABC," ","bB        ","bBCB3     ","Ac ","Ab   3Bb"
diff --git a/tests/test/enginedb_small/csv/ENGINETABLEBIG1.csv b/tests/test/enginedb_small/csv/ENGINETABLEBIG1.csv
deleted file mode 100644
index c9c720e91..000000000
--- a/tests/test/enginedb_small/csv/ENGINETABLEBIG1.csv
+++ /dev/null
@@ -1,100 +0,0 @@
-1,-17114.423,44312.364,-5829,-4768,711432981,-347113369,-0.039437288,-2.3049443e29,,"gBO                 ",JYx;U8GzYG;h,pVal_,1969-09-16,1937-04-03
-2,42433.973,,16071,16040,410335572,242133638,9.4517401,-2.711325e-7,"Z7:am:r3:Uf         ","kKAPDJo6hLJ_a       ","Iu,Zr,eq8ar_.doqjbE9",nggRNAP,1961-05-25,1953-10-14
-3,-2184.698,-35988.473,-4639,6328,692218546,-47081005,0.8872711,7.28617e-19,"5uMTRtZT8rqA_VZVBky ","J                   ",4605752526,hYKK64o8.Aom,,1928-04-11
-4,-47183.625,,,,-708779828,,-1.9313592e15,-8.5682008e-30,"TgsO6NW             ","iU                  ",:Gd,r6;Jk6ymSpyeL3OSL,1981-08-01,1939-05-25
-5,4494.357,48768.354,-3849,14279,102605798,674827068,7.290246e-11,2.9016474e36,"aa;Kv:WhgLQnDlqsc6  ","4603942080          ",",Xrd.4BpzJyz;E",BNz,1954-06-06,1931-01-07
-6,-43104.635,44516.538,-4071,-16328,-356719922,-975865237,9.9334686e-18,4.4537609e-23,".0p5,j4             ",uELkZzeF:igJQcF4hRaO,,e,1923-05-17,1971-05-14
-7,25483.747,46046.324,-14119,-5242,748809507,201931542,-7.0990048e25,-8.5291543e21,"27053970099331344   ","5ZY                 ",McV60J7,3926770260769499,1914-08-28,1925-01-13
-8,-29911.993,-4708.202,-5242,-4242,-430587952,489804230,-8.2447019e-7,-32.20805,"43376196346124      ","39TwsT              ","OONK,4OPOcK5pK01x",qE5KN1V0lS,1945-06-17,1966-07-01
-9,,,-16159,5778,-84231899,-479824827,-2.705103e-24,-8.9432719e-24,"PuK04DE4n           ","C,utJwZtO3OINGY1;s  ",v:CREy,U5XQOzMEUko,1924-06-23,1991-10-17
-10,15237.165,-13462.218,4251,-4268,,-221807081,4.5079118e-23,7.8179401e-31,"mzqH0MQmFshF        ","7Bw                 ",F_DYp_rc23fbs98w,Ir;;li.hp6eXVWjtC4e,1984-07-25,1958-02-09
-11,38361.237,38642.372,,-15180,-88381839,-766542344,,-73885.481,"AJz6EIesZp9MuU0     ","aN;                 ",s.L,98389719340,1936-06-05,1974-05-17
-12,-1768.278,-12541.164,-14824,14660,,-428346242,-2.5067176e-35,9.1174139e17,"9S                  ","tx4S                ",HP:0e7j,pPFIi9FkHz:EfrS.x,1955-01-06,1939-09-26
-13,34423.683,39509.942,-6284,3966,682506990,734897463,6.6959624e-35,9.5194604e21,"kPXHMOeMWUizl7TCu   ","RtA3R8CGT           ",qc_gdBZz.;4jPl4,kAyB,1945-05-18,
-14,-40027.017,45280.298,-3784,-4064,-493093353,-473070944,6.1337682,6.2190167e-8,"1961886748440863    ",";gtF3EVylLa         ","wQDiqqba,_Za9cw,ftw2",K13k_uTDwbQe4:RgA,1954-06-07,1937-11-14
-15,40439.615,11453.768,13647,13839,993315688,866492250,5.870222e28,-3.153006e36,"XgHfbCYv_T          ","4GRqzbGodJ1w2V1K12  ",9uwgco6hgLOdLjy,8zzSFxhugHOi,1998-06-08,1944-05-27
-16,4701.953,10921.723,-16321,14241,-417319016,615493316,7.4029205e-28,-6.6832792e-38,"r                   ",41921026930432799038,TEulxZqxaNFthwqt,,1915-02-27,1952-05-09
-17,17240.235,,13721,14338,-210652306,190615333,8.0644122e28,3.9325771e-37,"CxYOaI_Bb48yzQ:Dv;t ","y.QmFq              ",gkWzGGdD0o,36,2001-12-05,1924-05-12
-18,-26443.743,30030.975,15161,4750,-990112201,-56144037,2.0900077e-30,-1443446300000,"4r9;vkO3WGB2zW      ","PLL                 ",X4ejYDErs;TiuFZJ,889411240396145374,1988-08-21,1967-07-18
-19,-8276.944,-20088.652,-15180,-5121,201841336,694615480,-8.9539729e-36,3.4718205e32,"mPxJP6x             ",GD3jV.jTC:uef;cH5bKJ,wCTVrj;OkNyuI,"kCULggNQ6EJXWe,MqVb9",1948-04-22,1994-08-13
-20,-21930.676,,-6318,-14341,305396134,-426945376,-1.648492e20,1.550678e30,"cm7ECWTHuay_Id;ZJ   ","0440425597095940616 ",:T8uvnRlwuR1,KX,1916-09-07,1922-10-03
-21,-12612.783,3864.508,5118,-5931,884517218,781724012,-2.9040261e16,-1.40259e-19,"VpjeEWlhtJ45WLgmzpE ","whThrK              ",,pNAmBTIix,1967-12-24,1972-05-12
-22,-2664.189,16431.832,-14729,4979,-852611653,-458164184,-8.559721e-38,-7.4509656e18,"QbF8jBP             ","J,nmEplq3bu         ",3994304604633779,0H4:gf,1920-02-22,2000-09-14
-23,24122.824,-9712.404,5771,16222,846122827,-703271646,-9.338476e-38,-4.0089517e17,"k                   ","54804036            ",01W3fRS4wMS,YUO676EJR7OCO,1964-11-22,1994-05-13
-24,21046.028,,-15153,,-797606306,,-4.8844403e25,9.549011e31,"QcVRkxxPGJc85kb     ","AC:vgpNe1kk:YArAkA  ",nOldu0Z48,BwuTFQax_,1916-09-25,1959-09-01
-25,41847.112,-38760.134,6021,13820,-916436757,622875985,4.0351633,-1.3569743e-34,"010L_0CZCAhBpxnU    ","phFMhTM7bF          ",M95vNtQ3Gce,G2KZ2WZiVHN,1921-12-19,1943-08-20
-26,-46336.559,11347.087,15629,5857,-48271133,614410270,4.9523566e15,-5.2896325e-26,,"Mg:N6               ",MsV9lyuJK6eetY2:Wgg,VLouk0fFSgvOX,1951-08-10,1968-09-10
-27,5670.377,19635.561,16281,5761,886442812,-357697085,-7.4902036e19,1.7812791e-12,"rxlN:DqoF6hJr       ","MlWwiRBAwxVMj,btY2ai",27uv37kLz5ENzl8RyA,plPtbtmpse,1942-09-22,1931-03-07
-28,-30375.982,-39088.475,15829,3680,-919556040,229014433,5.8662314e31,-2.9050981e25,"7QrF:peHsQ8D        ","Nktz4               ",9luXTdk2x0F48,DLwZQ8Gf,,1970-06-13
-29,,-30595.279,-15379,4330,697983439,-721971037,905996090,125866630,"S;6as.8oyRJ         ","w2AWCguN            ",DzoNm9pJYE_BLy,9YV0l;uD1K23,1975-02-09,1986-04-23
-30,38751.924,7971.886,-15661,-5140,770801525,,3185884600,7.7900891e-24,"UJnIL               ","n4o4iE6l            ",do0k4MEpEZC8Qz,ebS99uvY9_,1914-07-27,1946-11-13
-31,-22873.559,32790.983,-15781,-15739,-950996246,-124398592,1.6087007e26,7.2007698e21,"p0                  ","aK_abA8CyoIhfMRJz1  ",Xad;Zx88yzYG:faU_,Ui,1960-12-08,1984-03-22
-32,29913.198,-43397.709,-15781,-5083,-632613249,623837685,8.3700796e-31,470972010000,"QF                  ",";JKv3VSksR7zCEZn,qC_",,u,1955-10-04,1955-01-10
-33,13362.292,-15883.444,4040,5032,325090967,-461440793,9.2211551e15,-9.921641e20,,"Xz                  ",tau;Zk9bx9,HT_zch3,1927-11-12,1948-04-14
-34,-41209.808,-36527.982,5729,-15329,-523066287,603644122,7.3040132e18,6.6113259e29,"vI.,L0Ya            ",LdX0D6lGifuTYsV7jTCD,ifIT_,5n.GvZ..omcq5_,1914-10-28,1994-06-14
-35,-34326.007,34418.865,14652,5872,-658856836,-430387706,-2.6854625e-28,-2.2314126e-28,"KHl                 ",,ro.9mwjopigHNy,E0l4zXGdf;T,1939-08-18,1965-01-21
-36,-32401.125,3123.055,-5129,3620,434411451,-259933866,8.5194826e-30,1.6655825e-26,"BxxCNuRZzatZo9      ","FMjWBCg             ",lO4MmDqrKh4MZ,nook,1946-07-16,1985-03-27
-37,-28901.283,25984.528,-5623,-4624,374846822,-261335163,,4.2207644e-15,"d_ld6Zb,isP8Ks2P    ",,j,9ux5:LeXY,2002-08-23,1956-12-04
-38,-29034.772,-14323.997,16017,-5849,623909244,961344625,,-3.6644272e-13,"jNDigpQfLUX0d       ","4684605824623157    ",e91v1w0rhMJ9nxDO5OdO,_4o3kVUkjaD;ok,1950-11-12,1969-05-17
-39,11603.857,33652.712,-13618,4359,855911726,164339537,-4.92288e18,-8817910000,,"U.qYBaxiYH1a3H      ","0ebY,kbA9CwfQhnLmurZ",0Y5_MdVZRzAF9_xa,1999-12-10,2000-03-06
-40,-34731.574,-46357.962,-14262,-14159,613445284,,-8.4685474e28,-8.8664539e-8,"xDxrZ;.i            ","Z1.3pSr             ",UK924XQeJN5;Jk8x6VBn,"9WffRRnAoB,XDc",1938-04-09,1982-11-28
-41,-48740.203,-36132.702,-15063,15828,-421326544,978742815,3.6751934e-27,4.1333361e-26,"65NLi1L             ","ca4:6vPCHuHY_dc     ",qLc,"TIrA,yMIWhhMK:2WZh",1962-10-16,1980-11-03
-42,13262.316,-42472.705,5976,4120,137804323,-441551738,8.2481642e-28,9.4025546e-9,"t42PZIc93           ","qsb9                ",;;lk:zk,bGJd6Z:.fo,1926-11-17,1978-02-06
-43,-24069.503,11027.082,-6223,4356,-400586059,710271626,751441020,8.827423e-21,"N                   ","guN1SGwfkYA;D       ",u9jhDLqXc74tOW,5Tn,1973-11-20,1939-03-27
-44,6671.923,40221.134,-4262,-5069,-930344770,-250219088,,-1.143337e-9,"1                   ","ZZ.9nvKU29zK;13fa   ",UfqSbjKCMuWYiFbidI2f,"g_L6GIc,3_w_Ta",2004-12-02,1980-12-03
-45,-22840.462,-26537.917,-14339,-14222,-538557017,890479824,-1670066100000,-33.524911,"3;UkozhGbN7uCR      ","3Y                  ",5lMLBpe;Jx8NBRzAGyN7,;uHZQ8Eak,,1979-09-22
-46,-4887.709,48958.628,-4321,14942,-394221143,,5.9739804e29,-5.3749902e31,"2uYTAf              ","z1e10               ",7RECl4w:CH5_8lRxB,SqxcOjMBN,1979-04-09,2004-12-01
-47,33441.744,-46347.837,5819,14748,-703644234,523910912,49110387,-5.4711242e30,"8342395298          ","HMXTClsb8iBJz8      ",r3.SnyoJo,470,1988-09-20,1941-09-05
-48,-4424.836,-47288.548,-4830,-5644,972977027,,1.5335561e-6,-6.730496e24,"wETSdw1S2vQze       ","c2V,EcmepYgFPjIE    ",4pMdJ16oLhdLZH,h,1981-11-02,1989-11-20
-49,-28370.807,22730.985,4629,5861,670184131,-834365560,2.1859324e-29,-6.5344931e-7,"VGjcU44n            ","I;;UjoDhp8Yz_Udn    ",dN9Q7,RLzBwj:EJ7:DfWti4;,1999-08-16,1973-08-11
-50,-6921.375,28270.232,,-15669,-220595092,-433023458,-5.2114433e-8,-3.8771057e-25,"7jEAf               ","P,JvvVIL2Zn.7m      ","m,s78EzlETj",402049210371258,,1925-12-09
-51,-32369.293,,-15778,-15053,519596928,-983208643,-9.1063952e-29,-8.5361752e-32,"iH0b5Y;a            ","I:9faR              ",,.y:,1924-10-16,1942-05-03
-52,32391.646,-47501.824,14672,-3621,-601828855,682114313,2.1948344e-19,-28032721000000,"t;7jFn              ","M0VKL3SVxQPEjnjH    ",u,RNviVzNHSOBLzXEem,1934-09-03,1968-03-01
-53,34730.721,34826.778,-4620,-5884,346626424,408920781,-5.2718247e24,2.5288644e-22,"jNC                 ",s26YH_39rvSfwUSoMZsM,HGUndn2mASAvAX,z,1924-08-16,1986-07-24
-54,2165.068,-19208.973,14767,-15733,-67201625,-389426163,,2.1058791e-33,"D                   ","46025010460596475   ",1DkYtW5goQi3I70C5vLF,66I,2000-02-06,1934-08-24
-55,-26192.589,48579.276,-4939,16176,183854912,-841107868,-2.708957e-31,-6.8446126e-25,"1H0f4KBa            ",IbL9SUvsV7kKA5DLWXfg,;yk2HY_Jn;nKl,ppcf3SCxuIh9Mu,1982-06-28,1993-03-15
-56,-43346.149,39431.728,-5144,-15264,-673163278,835096714,-1.4412289e-5,-6.8522105e-20,"a                   ",vGgc4MQWWL.cp_Nuh0F7,AmArCevYW,,1987-06-07,1918-07-16
-57,-32061.346,-30672.773,5716,-6220,951924874,586451658,7.817087e27,-2.2473845e24,"L2BJ:7Ju5ZL         ","8047191310900019    ",3LTX,l,1943-03-20,1935-02-22
-58,-26440.584,32558.566,-3724,6178,-657816387,768724958,-4.3026001e-36,98.44764,"QGDepmfpUeTVxlMlTv  ","qTceDoqbb,9         ",",jOCku5",";PmJsD6Nlr,,",1936-02-28,1993-04-14
-59,-46702.619,8805.941,13978,5717,-558874922,276345185,6.736056e20,8.6541196e-34,"R8B1M3Vuj0W9:ueR    ","_hkqxbPxKP3;Ij;     ",lLOTuO,"g16DItO5MxK,",,1925-10-14
-60,-39730.752,-17257.493,6320,-14371,856992336,-969307239,9.5076653e27,-1.8533755e-38,31048367705674806442,"FyG                 ",xCNQQiGFdK0G7,P4Kn,1934-03-10,1969-05-08
-61,-35775.177,18304.811,16167,-15729,865209491,-27183377,700679100000000,-8.3962489e-6,"l9vsV               ","356896056           ",0;5kNi,yaXhhMJVIm,1937-04-28,1926-02-13
-62,-34526.856,41174.326,-15954,-5244,436631792,400481735,7.7957835e-24,,"WHiPI,0h5hILU       ",":J4TQ               ",0.6oH,D,1934-09-04,1961-04-26
-63,-10088.905,-10269.228,,-14874,645162896,889709903,,-2735671.1,"du2YY:;gi8II9       ","3377142812251940319 ",OaPXH6dTKtq4tY3,,1925-02-15,1967-05-18
-64,-4332.486,24224.587,3761,3971,279826144,209689625,3.8531691e-27,-2.4118166e17,"w                   ","23171526753760      ",,,,1925-09-15
-65,45804.242,46637.304,5872,-13662,463279538,270660581,-2.1817686e-25,1.1523922e-24,"IggOOyDLCYs;O3      ","Stw2b;8DFqE         ",vxVn,DvrK,1991-07-17,1985-12-24
-66,8279.806,-10261.872,-6118,-4080,-457682560,537615179,-6.2306221e-35,-4.4375049e35,"Yw;wi;H             ","U                   ",6;GkfzSFvj1H,Hh:Kf,1974-02-02,1979-01-15
-67,13278.772,-7780.165,-14949,4172,,-493566606,2.508835e20,,"D                   ","31588               ",mfqSc_3zTnto59Nu,"H31p01GrM,VPM_Vj",1955-04-05,1953-03-05
-68,-13577.185,29077.112,-13642,-5939,628867539,-547189624,55699007000,,":ShwKQ4             ","lKtJ9gv8XBezXpc     ",WghQJS583EqHaa;.9,b,,1992-04-16
-69,32615.473,37229.932,-6368,-16031,-677204605,700868963,6.5027992e-27,-9.4231483e-9,"6gdN2_vbH           ","3                   ",mW9vgW;,"Tur1UOpffSUa:.IQ,6t",1975-04-07,1926-08-03
-70,12401.617,-23849.017,6156,-5073,-84680599,-14516327,-55887414000000,-49.105836,".Jo8j.E,Q9EfmvtUqp  ",",1                  ",:ofT2tg;EkaA.Bpzu:z,k,1946-10-17,
-71,-48262.835,-45397.292,4919,-15320,690251633,505724005,4825537,-3758909100,"g.Xpdd00i           ","8dyYUbo7k58M        ",ykIsH9:UenVlnjQ,2rXmcr3;S,1946-05-16,1975-09-17
-72,-38566.858,-24123.848,-4041,13718,969529184,943520172,-9.933974e-33,1.6820895e-11,"sF7zFIR.NpS         ","OQ                  ",52972972009826163569,6XJeky6,1958-07-01,1992-09-07
-73,-32912.597,30163.585,5918,3652,-547190210,240238029,-4807031900000,-5079.2311,"H0_1wARJW5UAw2RZz   ","4hOwdSSy5L          ","C89Aw5RNBre,EN,Q",gkDPqK_26W,1923-06-17,1969-11-24
-74,19528.038,-47193.569,-14739,-5629,,-87886624,-4.6037492e30,6.526059e-35,";FiQGy_bdlMnToOH    ",".L6dGsehYMTU7       ","TirH,_.cmz",7tnK6tW.jm,1968-05-03,1952-12-09
-75,1653.962,-15982.686,-3881,-13630,734673876,-366364224,3.5699202e27,,"xW                  ","oHk                 ","8xy63HT,4",sC7.Fm2qK.2wY,1945-09-08,1993-01-24
-76,-47529.213,5730.782,-6072,-3939,-219709438,226441135,4.805568e-22,,"0A4HfiP8ZB,rWBdw    ","nlowiSJs76EHP       ",:_U4fd.GKh0,mMRV_lUu9BxgOy4zQp,1920-03-18,1984-10-26
-77,-18238.676,1729.972,-13832,-14143,-779937895,366305507,7.5270879e-11,3.760463e-8,"2AWMhZMCTvuXD       ","WdGZd               ",1,;slNtS,1944-08-26,1941-07-23
-78,-31745.958,29814.577,4150,14228,-750986523,-284114518,-3.064166e-15,-2.9912421e36,"l                   ","EXZbM9P             ",,tYTMs:6,1957-07-03,
-79,-33898.044,-44924.816,-6072,4781,-112596385,-62599565,3.461558e-29,-6.3472963e20,"rYba8_G7dEAnnom     ","I8;,iq              ",.jn8m0r3.Touk,:Lgrsi6r,1918-12-14,1922-03-18
-80,-32219.626,-39297.186,-15670,14946,-25037504,270578340,1.394315e-38,-7.0815473e32,,"eD                  ",o:pgFhgyJw5,GmfiUFsgTOn,1971-12-19,1940-09-24
-81,26554.933,5665.886,-6033,13831,114632529,-420558062,3.8887791e22,-7.4875125e28,"UKn:opidG0c7QwyS9y  ","2kYK:1hbL8UIfHTas;8 ",Q:DzrA:4,g5.LmYrs;72KE,1932-08-03,1976-11-07
-82,-43226.928,44375.893,15321,4281,674634654,618664880,4.3337016e-12,9.4071153e24,"wzpGNaQ:CK3cT:      ","vO                  ",qdW0_GI_;Kj3,8R,1930-01-24,1938-01-26
-83,-19251.994,20741.134,3736,6246,952993010,472114237,1.0688221e32,,"9k                  ","_jbe8WljwES5Fc      ","KydIv,Aq;iRGV:NP",v9RCDu,1982-05-08,1997-03-10
-84,15965.138,-28046.936,-5083,-15318,-430019550,183463466,4.7383765e-16,3.6640493e-27,"LtY4_PbH            ","3                   ",3LTYnKlA8y,"YhILNYra,30",1993-11-15,2001-08-05
-85,-16936.536,-34500.584,-14643,-5634,258780326,-777143324,-7.5750529e33,-0.0002613367,"KO2JW5CZB8          ","gN                  ","DMrU;qFag03,O_2dXrb",75665,1978-05-27,1939-10-10
-86,10768.556,-18548.346,15980,6132,334268480,-234729225,3355.575,3.0270889e-5,"vE;qkOTf            ",";q._maW;tb4TQs      ",OoGheCYt;zlcSOyIJ.z,bD8oyyKExnrl;,1986-04-19,1951-02-10
-87,9324.077,-20888.579,3968,14660,-773074886,-622596632,-0.024517581,-8.2655499e28,"3YvUXq2,Wqga        ",gh7L9XYo;pik.yeOgMNL,IV;Tlut00ZBAyd,,1944-01-19,1970-11-16
-88,23956.605,-22104.712,-16031,-14378,493271967,-193759897,5.8992027e35,,"iZ                  ","encg6OxuIv9Wui0H_9D ",NaMiT,JY8kB7w,1948-04-12,1950-05-12
-89,6554.005,,,-14862,-791237680,282473043,-8.5268251e-36,5.4710394e-20,"S                   ","RUzs,;q             ",Epm,220885,1993-12-14,1947-09-15
-90,-14508.888,-42173.176,-4019,14282,-143014429,259798072,4.6537587e-6,1.0384506e35,"q                   ","5                   ",u4VYlH,5403943278,1952-05-10,1964-09-13
-91,-25143.163,23469.508,-5631,-16284,26622009,-18220878,3.6511249e-8,-4.4028943e-8,"MZUoqhcK            ","SALmYqzcHeMVhk      ",VAjBZw9hu,CcdllvvVOl,1981-04-01,1934-04-04
-92,46046.058,-38662.618,16346,6170,-559604924,82798241,-1.735472e-27,-0.00039017388,"TvdV                ","YM_WJgQOGyhBw       ",BdxEO:NPlJvVWk,GIf9ROx8P,1963-06-24,1976-08-06
-93,-36152.222,,-13633,-3730,823142413,644385787,-6.70659e-25,,"98tzXBcxbMD         ","qCLs066G            ",fOSLsC7sF:XG0,FMmRrrTRG5fLohjKED,1947-05-15,1967-09-18
-94,-9951.849,32581.756,4168,5767,,509729365,5788451.7,8.4450863e-22,":rO;Lf,Sb5fyTL      ",":7GEudZDuoT         ",E,2788,1959-06-28,1919-09-22
-95,48066.257,2911.238,-5829,14779,-238961259,745288662,-7.1769529e22,0.00039421056,"vJn9mDVokiAFByrpch  ","559933461231        ",3vQp,l3,1978-08-27,1970-09-02
-96,34921.788,-21049.318,-5064,5346,66842048,-973174615,6.4035576e23,-7.5093129e-6,"DdoHO               ",";rlkmxpOuo0z        ",d;fidIZy.Yx,6R9tvKa2:IFi,1980-07-06,
-97,-46057.219,31549.311,14717,-4749,-124138855,621153184,-1.7208964e23,-1.452803e35,"OBLx0               ","HAmUrz;5kLkAlQvMUT  ",NoRiQFrG;R9AdSv7o,9Wv,1981-12-01,1940-04-18
-98,3770.952,-2909.648,-4760,-4832,700998477,529900798,-7.981608e-22,-8.85186e29,"o5yqNv              ","P6Jw6TJsj9SlYuhZ,,ts","7,DtU8qAbCKl",Nb_AoAf,1974-01-23,1984-09-26
-99,-42201.948,-25975.979,15150,-13938,-329913308,584643174,1.3569894e-15,4.5165683e-24,"y25cH8:FgY01        ","4zpAeAPAIA,ArIek    ",;MjWDbpOuNYS1yv:Wf,RhAJD7oEl.0D4;,1930-07-09,1962-11-23
-100,31799.332,16221.897,5919,4758,-558748772,-699910684,-1.6546037e-18,6.6982672e-38,STvfUd:14lWtCsv_Xbd8,"2D                  ",ZainG,A1,1988-06-24,1970-05-15
diff --git a/tests/test/enginedb_small/csv/ENGINETABLEBIG2.csv b/tests/test/enginedb_small/csv/ENGINETABLEBIG2.csv
deleted file mode 100644
index 060a16c9d..000000000
--- a/tests/test/enginedb_small/csv/ENGINETABLEBIG2.csv
+++ /dev/null
@@ -1,100 +0,0 @@
-1,-17114.423,14817,403067892,2.8087114e-11,5lNhQKt44RQAi5FOgNOn,rGif,1977-12-16
-2,5799.311,5051,694374911,-2.9806335e30,"gn9oCzu             ",2959857837864537,1931-01-10
-3,5720.824,-16142,-405482599,-5.2711325e-38,"JZ7:am:r3:UfoRkKA   ",Jo6hLJ_ai,
-4,-10270.972,-3683,-950767884,-0.035461553,"V6lLwgnVl           ",i,1960-04-24
-5,-24032.544,-16130,-781453961,-8.100473e-37,"YpVimIqKb0s4OjYgs   ",5uMTRtZT8rqA_VZVBky,1916-07-25
-6,-3942.475,5021,882993219,-6.6397184e-11,"..;.ln;npnd         ",t:0h7bP7UFe3VEkl,1944-02-22
-7,42133.603,15156,519401828,,"6ymS                ",eL3OSLwX,1915-03-08
-8,33544.943,15371,354728657,2.885471e-20,"H                   ",3NVQVD2oWcQ3sTXp9etA,1915-05-27
-9,-20983.526,,9539710,0.024122088,"bA,Dsf7cwT,Xrd      ",42353394114536442,1931-01-07
-10,-43104.635,15020,-125058569,-1.0483568e26,"Y                   ",402413476337993,1957-09-26
-11,-25155.464,-14282,289184934,-2695089500,"4hRaO_sbeR          ",NBQxFPWK,1986-05-23
-12,33960.464,-5232,,-0.64836943,"g:LeZWYoak_xiMFrh   ",;aa_.,1934-11-04
-13,-35291.543,15766,-29900669,-56812.267,"60J78ZA.rTWZfqT     ","Q8D,:NaP;mieDwqc",1992-11-02
-14,36452.916,13957,-151736985,0.041204835,8dBpwfRyhWNIs;7jC3dR,",l;NbJ8TBuwVSm9",1943-06-20
-15,-25971.037,4260,985660582,7384248.5,"0lSYwFOiMHa_;Vl     ",y2FU1p,1941-06-06
-16,,6067,-264798249,-862705110000000,"Vphf                ",0t6inNCPuK04DE,1932-08-24
-17,43253.725,5051,212394643,687663540000000,"ziE0d               ",MUUKnwUlSPwySJv1V,1930-03-20
-18,25873.913,14670,-70803055,9.1182977e25,"_HangnNmzqH0MQmF    ",FJj,1950-04-11
-19,-527.079,13632,-604700881,-1.9222876e25,"0K                  ",41258836123868864,1942-10-05
-20,,-15180,-88381839,-7665423500,,26,1925-06-15
-21,45173.537,3867,367210590,-4.040162e32,"8xBd                ",ElkSx,1965-06-23
-22,-18278.164,6241,-520940484,1.0571653e17,"2qZF,ys6pDdr.;mlW   ","v,X",1918-12-19
-23,-37613.865,15676,264519415,4.0269374e-37,"sU7p7BCnuU7q        ",_Ia9;EjnDoocg4QdG1,1989-07-20
-24,-24930.097,14982,-365433041,-0.059610481,"E0                  ",kPXHMOeMWUizl7TCu,1951-08-09
-25,36944.656,-14382,-1838139,-6.5365308e-37,"7298379528029903770 ",z8GBixFNbQ9gU,1951-09-10
-26,2692.905,-3882,682506621,-8325128100,"2QYG7FBg3PyIJ;gtF   ",VylLaZ.wQ,1925-03-07
-27,-40029.097,-16133,781936430,-1.0396356e-22,"6FG.cE              ",PnIoShBLwZS9w:dfIs.8,1947-04-16
-28,29933.156,15170,-77496242,-7.7791554e27,",_Fd_2GXgHfbCY      ",T064GRqzbGodJ1w2V1K1,1961-09-26
-29,-19971.895,-15264,336431305,-6.0570661e27,"Wah;KvYUa.          ",0pwq,1915-02-27
-30,-1825.268,14166,,-4.2384507e-14,"27XDbo_naMjUBw      ",RXte,1914-10-01
-31,39419.211,5819,-200961824,-8.6276946e-16,"qt_Waf.             ",xuvUVqDar,1968-12-18
-32,,-15749,433078934,9.4471906e-26,"zuaZ4dR             ",nsn7BYy_y,1964-09-22
-33,-46056.249,14672,-305607877,,"FqjE                ",WzGG,1954-10-06
-34,-46320.087,-5072,625868003,0.075085768,"jLPTHeb:            ",ZZ88zA8Dz5HK:OvoW,1922-12-03
-35,-42281.615,5041,-317006842,-5162.9835,"X4ejYDErs;TiuFZJ    ",889411240396145374,1988-08-21
-36,5694.172,-14883,,,"wE;                 ",KwbT,1950-07-11
-37,4920.184,-4941,461548041,-5.3972895e28,"1k1obI,Vxm          ",JP6xJ_G,1988-02-20
-38,-33506.992,-4351,346721961,-6.4708535e-31,"Q6EJXWe,MqVb        ",3278864428069324934,1915-11-27
-39,-23834.927,5357,-394269454,-9.9016485e-35,"p3hKMeUY3a8X4cm7    ",WTHuay_Id,
-40,9904.404,5366,,4061685900000,"3261336             ",eKXScTpug1g1A,1950-11-21
-41,-31046.136,-13842,-526932473,4.5172183e20,"m0qFchqucZf9H9Yx_W  ",4N.,1958-02-02
-42,-21027.896,-16149,511324223,1.2598425e-9,"TIixIN;4k           ",BMHYyAK6,1920-07-20
-43,-6816.818,16231,-56685262,-5.2694582e-13,"iU3o;iGGerX,b4ypJ   ","fzDHYSvQbF8jBPyIJ,n",1955-03-05
-44,30397.398,-6044,337793275,4.01759e15,"WChsr6rGvEeq5ZN,Sw  ",p1122WZf:UZ3AT,1940-04-23
-45,26229.673,-5082,615240060,9.1048372e-37,"zJH7bCfvUdJ01W3fRS4 ",SUOYUO676EJR,1968-06-18
-46,8798.345,-16044,930335299,-9.7606306e33,"LhiJ                ",",Y4YP;HG:dhj",1998-11-21
-47,-42386.636,-13774,449312508,-2.67587e-8,"ldu0Z48RBBwuT       ",ax_McU6MHUao_,1993-06-20
-48,-37788.762,5862,-100779208,356324350,"q5ZK84              ",VCbuMkTxzIew6,1958-05-02
-49,7057.777,15968,-576738579,165804.85,"352684006548578771  ",NPf_SfvRVAb,1973-08-11
-50,-9938.654,16282,-513163759,1.7288675e17,"EHm                 ",0c7YF,
-51,-26433.228,3640,193251958,527.91335,"02                  ",:WggOOVLouk0fFSgv,1981-08-12
-52,-14336.045,13871,963556038,8.8568268e-17,"7RECn4lo1jUBpxan:   ","qrpHd9Z,UCZ",1998-02-20
-53,-37208.665,-5921,-518471049,-8.3566625e-28,"2                   ",aiK627uv37kLz5ENz,1996-08-11
-54,4216.203,-16322,111221962,-8.0589089,"f6UynLHWaf_UP       ",8,1950-06-11
-55,,-14673,,-55666242000000,"zlG,f               ",b:G.cn_50N7QrF:p,1959-04-18
-56,-5748.763,5741,-816251037,376840960,";nl:EeDWr           ","hGfdYrNn:nP8IT,086A",1948-12-14
-57,-22197.104,-3681,,9.638125e27,"OvPVKS;6as.8oy      ",BAw2AWCguNZ,1954-05-07
-58,-30742.506,-3919,193475880,-751722120000000,";rGv                ",;1k22RLbl9wFRBMx,1969-03-16
-59,20801.525,,318588466,7.7900891e-24,"UJnIL               ",n4o4iE6l,1977-01-06
-60,-31457.526,4946,993379930,3.3841271e-21,"CdT1sW8g93          ",cp3eJXdgZOWqia,2004-01-01
-61,25400.875,-16078,160870078,7.2007698e21,"p0                  ",aK_abA8CyoIhfMRJz1,1988-09-01
-62,47399.337,13662,-389407828,7.9913199e-32,"Qboq8c,kq1cJ6       ",GclZwzSVx2P,1960-02-03
-63,,-4659,589837007,,",P                  ",c.WofkSyeQFl:;JK,1989-09-19
-64,-23165.528,-4624,-152855961,-0.0063770867,"TMK                 ",NtLATzPFHj:,1999-04-07
-65,-40903.266,-3938,-244077885,-2.7709922e-15,1:2eXzcHtau;Zk9bx9Pw,_zch3Jj7BTzrGJ,1994-09-27
-66,123.456,13718,201827912,4.078824e18,"vzVjAw:RgzQEEmtp28X ",Ea,1942-03-22
-67,6611.325,13839,577069507,-1.8589633e-18,"jTCDgpifIT_tU5n.Gv  ",.omcq5_Ka2:z7HFcgLQ,1948-11-28
-68,-31558.115,6119,-426203666,-5683569500000,"12294017314537      ",2DZ,1969-11-17
-69,24131.552,,229913122,-4.4634529e25,"Gdf;TxsPOHMdV2j     ",.24XPeNukpy,1962-08-25
-70,-7210.279,6038,-885482626,-0.33865442,D4qOhNKmPTKK3nOl0SBx,NuRZzatZo,1933-04-13
-71,-32559.438,14747,185771122,-6.4402701e-23,"9                   ",1887598452993398,1925-04-15
-72,,,-362515318,3.7386648e-10,j6DtpgZQCDuhYd_ld6Zb,268,1938-10-18
-73,,-15858,-104922504,4911209.6,"9OxLP               ","dcrz,WKflSwlQG",1944-12-19
-74,-10907.555,14739,259816335,2.8376154e-29,"QfLUX               ",70,1972-10-12
-75,-44175.377,5876,383721559,-5.3149324e36,"3kVUk               ",D,
-76,-31615.537,5756,578836527,-6.9200175e-32,"52885591172695      ",Bvx9MxWMhLeZYm,1919-01-22
-77,-30881.792,6060,-259682530,6.9700791e-37,"CwfQhnLmurZvY0Y5_Md ",RzAF9_xaa._xm.pn,1930-07-08
-78,34261.036,-6021,143307337,0.0061344528,,kJA,1953-08-08
-79,35211.335,3938,-672008763,8.2623965e31,"XQeJN5;Jk8x6VBnxU   ",006613249740222,1990-10-25
-80,,-16148,801386729,-7.5567201e-18,"cAKW2SZyC           ","rL,X2XGr6hJl5",1970-09-15
-81,43414.941,-6043,388551758,-9.1016356e-15,"_dcrhqLcw6TIrA,y    ",WhhMK:2WZhV,1988-07-18
-82,30763.262,-14179,-270463251,-4.7293729e-12,"cCxsw6HJN8EB2pQrc,  ",481642,1984-08-26
-83,-47445.367,-3739,-17877903,9.1193144e-37,"d6Z:.foXj7M         ","kmzrH,AdC;2nUmd",1984-01-25
-84,-6981.735,14739,941394105,-972.83732,"jEDmgsP7Kd3         ",XEqwq,1916-08-07
-85,-37413.569,5347,-88547292,-42781380000,"Msl.vOUOYj,qrF      ",22,1925-04-14
-86,-10765.767,-13784,655230437,7.8091295e-36,"856663450888779923  ",29zK;13fav:Ufq,1916-02-16
-87,3771.401,5630,584509893,,"r                   ",,1917-03-21
-88,,-15871,394234620,-9.7193268e21,"AyCFRjCCs87zDY3.bH  ",7oDjk5zs99uw9SwvQPG,1963-01-23
-89,689.612,-15338,-399129019,4.2095385e-8,"AGyN7sC;            ",ZQ8Eak_AWT,1941-06-16
-90,-37709.903,6132,-291431557,4.6057788,"I,M.Vx:8eB8ngDOqObd,",1s2uYTAfBpz1e10047R,1953-02-24
-91,44589.916,-5043,-384543267,9.0283441e17,"bfyULqlQwj          ",ybJ8;ylIC.tn8OyL,1983-08-17
-92,5239.108,-4748,-961239855,8.7589848e-13,"y,It.3              ",HMXTClsb8iBJz8,1951-04-24
-93,11325.282,14270,-638654425,3.4027114,"wAR5SNxt_Tdr2,Zq9XZ ",V;kOkN,1947-08-15
-94,-35570.675,,-518365340,6.8363047e-36,",EcmepYgFPjIERU     ",MdJ16,1964-02-02
-95,24201.377,6359,-370806328,-9.0134449e-26,"SXxV5qM             ",cj5BiykFAgTNQzD,1952-02-24
-96,-28140.676,-16150,69403741,882675990000000,"Dhp8Y               ",Udn2odN9Q7t5RLzBwj:E,1995-12-13
-97,22189.596,-4864,-921374022,2.329412e33,"oFZW:CgD9d3xrNQP    ",6542934788556748,1975-03-08
-98,39431.728,-5330,533755872,,"4519                ",8EzlETj7XEbnaD;rjc,1978-02-09
-99,39019.322,3666,602819516,-86048041000000,,"pFehUW.hvMWVcb3,x",1916-06-25
-100,-6853.618,13936,87906259,-9307.8061,"LRuwfQ5rx.iQGXDb    ",.2nXRc_La,1999-01-08
diff --git a/tests/test/enginedb_small/csv/ENGINETABLEBIGJOINOPTCHAR1.csv b/tests/test/enginedb_small/csv/ENGINETABLEBIGJOINOPTCHAR1.csv
deleted file mode 100644
index 09c3749ec..000000000
--- a/tests/test/enginedb_small/csv/ENGINETABLEBIGJOINOPTCHAR1.csv
+++ /dev/null
@@ -1,100 +0,0 @@
-1,"t55LL0Z             "
-2,"HxhpvSCfveSX29tD4p6 "
-3,"VjkDyr:5lNhQKt44R   "
-4,"i5FOgNOn            "
-5,"rGif                "
-6,";KaLLY8;AjgBOy      "
-7,"Yx;U8GzYG;h         "
-8,"pVal_               "
-9,"SK9rwgn9oCzu,       "
-10,"_J;2KW              "
-11,"08OBMzV             "
-12,"dxyL                "
-13,"tc2pEukwvTA5AM8     "
-14,"iWFchIfCZt81        "
-15,"NaB2JZ7:am:r3:Uf    "
-16,"kKAPDJo6hLJ_a       "
-17,"Iu,Zr,eq8ar_.doqjbE9"
-18,"nggRNAP             "
-19,"A7BC1G3EV6l         "
-20,"gnVlFbi             "
-21,"s4OrN,RYCKV         "
-22,"uuZU                "
-23,"21854               "
-24,"y                   "
-25,"29189952708         "
-26,"pVimIqKb0s4OjYgs    "
-27,"5uMTRtZT8rqA_VZVBky "
-28,"J                   "
-29,"GOdN1JoMsO          "
-30,"hYKK64o8.Aom        "
-31,
-32,"vyUc                "
-33,"lQyZI..;.ln;npndl   "
-34,":0h7bP              "
-35,"Fe3VEklEwkY,:q      "
-36,"uTgsO6N             "
-37,"fiUHi:Gdm1r6;J      "
-38,"ymSpyeL3OSLwXSbpsy  "
-39,"JFF9FyNZ            "
-40,"40R6AKD1r2RKZk,s57M "
-41,"mfqSaHZ:3NVQVD2     "
-42,"cQ3sTXp9etAUay.     "
-43,",fjRB               "
-44,"_v6aa;Kv:           "
-45,"gLQ                 "
-46,"lqsc66GHR           "
-47,",Dsf7cwT            "
-48,"rd.4BpzJyz;EjgB     "
-49,"RECnpmep            "
-50,"R                   "
-51,"MxTMu_FNhPJu8YB;HkF "
-52,"ga3                 "
-53,
-54,"PDu                 "
-55,"ebY7XDdrEivBVUuzZ8  "
-56,"wGT8RsB7            "
-57,"MvWUf:oeu           "
-58,"p5,j4C_uELkZzeF:    "
-59,"JQ                  "
-60,"4hRaO_sbeR          "
-61,"NBQxFPWK            "
-62,"w1G2w:RfBUznELk0x   "
-63,
-64,"zNkSxdI0            "
-65,"4g:LeZWYoak_xiMFr   "
-66,"q;aa                "
-67,
-68,"28111470845         "
-69,".2pWaHv_Xab_9Axi    "
-70,"FAh5ZYuuMc          "
-71,"0J78ZA.rTWZfqTbZQ8  "
-72,":NaP;mieDwqcc56dg1Q "
-73,"o.iX,7qDMkU         "
-74,"C3qSuckHQ_FlucB5w   "
-75,"2_8dBpwfRy          "
-76,"NIs;7jC3dRZV,l;     "
-77,"J                   "
-78,"BuwVSm9QvGUjqC      "
-79,"39TwsT              "
-80,"OONK,4OPOcK5pK01x   "
-81,"qE5KN1V0lS          "
-82,"FOiMHa_             "
-83,
-84,"kty2                "
-85,"1p7uFn;mN0P2lg      "
-86,"wIoehVLkYAmA0q;C    "
-87,VemVphfLT0t6inNCPuK0
-88,"E4nR5C,ut           "
-89,"ZtO3OIN             "
-90,"1;slrv:CREy3JU5X    "
-91,"zMEUkoziE0d53       "
-92,"UKnwUlSPwySJv1V     "
-93,"oVk0                "
-94,"Zv,kr5:LfYU2n9o,k;  "
-95,"HLaY.mn3n,0U4nY_Han "
-96,"NmzqH               "
-97,"QmFshFJj7Bwz        "
-98,"_DYp_rc23f          "
-99,"98wy,I              "
-100,;li.hp6eXVWjtC4ee0K7
diff --git a/tests/test/enginedb_small/csv/ENGINETABLEBIGJOINOPTCHAR2.csv b/tests/test/enginedb_small/csv/ENGINETABLEBIGJOINOPTCHAR2.csv
deleted file mode 100644
index a0ed700ab..000000000
--- a/tests/test/enginedb_small/csv/ENGINETABLEBIGJOINOPTCHAR2.csv
+++ /dev/null
@@ -1,100 +0,0 @@
-1,"0zkH                "
-2,"sKw4                "
-3,"DbJ9QTExk:xc2       "
-4,"WVhfKRHBb           "
-5,"RsB7eFyj6wI2RXBBoNy "
-6,"g4kOJN              "
-7,"NwdRNApeeVYmZS      "
-8,
-9,"YIaKT41O            "
-10,"_0c7If:Umqq_        "
-11,"I                   "
-12,"uvW,b0F4K           "
-13,"t85AKd11w3qybKt1X   "
-14,"vlStG7w4QR          "
-15,"g;NlStKY            "
-16,"ILDkTA8v4VPjm       "
-17,"x:,9t               "
-18,"TUHkIx_OdLZK        "
-19,"qb_VISwvRnm6UEq     "
-20,"DiOGDdq             "
-21,"AtA80B4,OtL3        "
-22,"dE2                 "
-23,"Ph_LdX2FKV4POHq     "
-24,"I.WVh,.             "
-25,"ipHd                "
-26,"72EXq,              "
-27,"zeFGh               "
-28,"PWIf                "
-29,"q5_LbX8yEiK         "
-30,"0yM:Ulqta5QNEp      "
-31,
-32,"6Y                  "
-33,"dlX                 "
-34,";                   "
-35,"YU:                 "
-36,"kFQiDIq9_xdsD8j1E6  "
-37,"H;:th,              "
-38,"dL0O                "
-39,";FqjJy7JC6sJ        "
-40,"LNXOd,Kr3;SiyFK72D  "
-41,"ATzsG_daE5mL2Y;;l   "
-42,";B,                 "
-43,";5jMwh              "
-44,"Z                   "
-45,"lVN8SOvRVBu8Zz.Zm.Z "
-46,"IZU,qkO:OL9YUGqda2_ "
-47,"s                   "
-48,"EJu7YFahRK9ivqVZCW  "
-49,"0nc                 "
-50,"i2Iz;Gi:HnasqVcF5   "
-51,"64RtdYUEqm:         "
-52,"Qj                  "
-53,"eIr9;ul3l           "
-54,"x1iRGi              "
-55,"W_xddZ1s0r6         "
-56,"KC3tVXcE            "
-57,"LqiJi               "
-58,"K94hgJOgLQ          "
-59,
-60,"qlf                 "
-61,"1zSHxFN11122ZX      "
-62,
-63,"oMj                 "
-64,"3Crv5VNm9           "
-65,"BuZY8:y             "
-66,"1e                  "
-67,"5RKBLxXPcS6bHwZT8   "
-68,"pxT3hS8pu           "
-69,
-70,"MnPu1               "
-71,"K73zHXab_8ABjnDl    "
-72,"hZ                  "
-73,"2cWgcv4WRhBL        "
-74,"N5PSHL_FqgnObL9C    "
-75,"VpkeAYC:rhs9khAJA6B "
-76,"bf8Rdz2H            "
-77,Vcm6pGfd2ZW9h.U4JR6S
-78,"9LuZ1.3n            "
-79,"bU,itM3U5iM9TJk9    "
-80,"EXkby9Jv6UGo        "
-81,"pae:XhbM9M,Vrul16e  "
-82,".5TMsx8OyLIY8vy     "
-83,"Dtpag;PerY._pc      "
-84,"zGp9FjBnwRQBKw3RUA  "
-85,"Jw6RICzmQ           "
-86,";UipGde1W3fQSQM1E   "
-87,"Wab:                "
-88,"y                   "
-89,"xo5izPFIg           "
-90,"FGjNov2UYpg8O       "
-91,"jNfPSHYnwmRR        "
-92,"yPKISp1QB6zJ        "
-93,"V4tX5cR:CUA         "
-94,"lYv:rg9E0l6eIt      "
-95,"7XCcs51G0f6xotk2b   "
-96,"nYl3uQ82BZw         "
-97,"ZE8jB0.P            "
-98,"c53kUxnNDOp         "
-99,"LS                  "
-100,";4RMCBu             "
diff --git a/tests/test/enginedb_small/csv/ENGINETABLEBIGJOINOPTDATE1.csv b/tests/test/enginedb_small/csv/ENGINETABLEBIGJOINOPTDATE1.csv
deleted file mode 100644
index c96fbc9bc..000000000
--- a/tests/test/enginedb_small/csv/ENGINETABLEBIGJOINOPTDATE1.csv
+++ /dev/null
@@ -1,100 +0,0 @@
-1,1928-11-11
-2,2001-07-05
-3,1944-12-19
-4,1947-01-15
-5,1918-02-23
-6,1987-09-02
-7,1979-08-04
-8,1953-04-09
-9,1979-04-04
-10,1991-07-17
-11,2002-01-23
-12,1946-04-25
-13,1936-04-28
-14,1924-04-16
-15,1990-09-27
-16,1970-03-27
-17,1929-09-02
-18,1981-01-05
-19,1942-04-09
-20,1938-08-03
-21,1977-04-13
-22,1983-03-27
-23,1936-05-14
-24,1922-09-18
-25,
-26,1994-07-14
-27,1920-06-15
-28,1995-03-02
-29,1984-01-05
-30,1946-04-17
-31,1974-03-28
-32,1950-05-11
-33,1958-07-07
-34,1921-07-11
-35,
-36,1925-09-14
-37,1920-06-28
-38,1976-05-08
-39,2003-02-03
-40,
-41,1927-05-14
-42,1954-05-22
-43,1996-02-11
-44,1956-12-04
-45,1945-11-18
-46,1959-08-01
-47,2000-09-05
-48,1940-08-24
-49,1998-10-08
-50,1997-01-20
-51,2001-04-21
-52,1963-01-02
-53,1992-12-16
-54,1981-09-11
-55,1963-12-24
-56,1975-04-19
-57,1955-04-05
-58,1972-04-13
-59,1980-06-03
-60,1970-09-15
-61,2002-04-14
-62,1988-04-21
-63,1921-12-18
-64,1960-07-23
-65,1981-07-08
-66,1996-11-09
-67,1993-12-19
-68,1941-08-23
-69,1963-04-24
-70,
-71,1920-05-20
-72,1931-02-17
-73,2001-10-16
-74,1988-07-09
-75,1986-03-24
-76,1991-06-17
-77,1978-03-12
-78,1946-03-17
-79,1988-10-21
-80,
-81,1994-12-02
-82,1987-02-12
-83,1940-10-24
-84,1974-03-09
-85,1979-05-04
-86,1985-08-24
-87,1935-08-02
-88,1984-11-09
-89,1950-08-11
-90,1955-12-06
-91,1961-02-27
-92,1952-11-09
-93,1978-12-05
-94,1948-06-06
-95,1938-12-26
-96,1949-06-04
-97,1982-04-23
-98,
-99,1920-11-04
-100,1990-05-17
diff --git a/tests/test/enginedb_small/csv/ENGINETABLEBIGJOINOPTDATE2.csv b/tests/test/enginedb_small/csv/ENGINETABLEBIGJOINOPTDATE2.csv
deleted file mode 100644
index 8f3b56b95..000000000
--- a/tests/test/enginedb_small/csv/ENGINETABLEBIGJOINOPTDATE2.csv
+++ /dev/null
@@ -1,100 +0,0 @@
-1,1941-04-25
-2,1964-07-22
-3,1993-11-14
-4,1923-03-10
-5,1952-02-10
-6,1974-09-23
-7,1940-06-24
-8,1992-01-23
-9,1926-02-13
-10,1937-12-24
-11,1967-02-18
-12,1940-11-24
-13,1971-05-04
-14,1957-08-03
-15,1969-03-21
-16,1938-06-04
-17,1981-09-28
-18,1914-07-16
-19,1995-12-12
-20,1922-05-18
-21,1964-07-22
-22,2001-09-26
-23,1948-10-14
-24,
-25,1925-03-07
-26,1914-03-28
-27,1969-09-16
-28,1937-04-03
-29,1996-03-12
-30,1942-12-22
-31,2004-07-27
-32,1963-09-23
-33,1985-11-17
-34,1966-05-20
-35,1931-01-10
-36,1965-07-21
-37,1917-10-07
-38,1941-02-10
-39,1975-05-25
-40,1965-11-14
-41,1925-09-14
-42,1923-07-03
-43,1984-04-26
-44,1968-10-17
-45,1951-10-15
-46,1994-12-01
-47,2003-04-24
-48,
-49,1921-03-19
-50,1963-05-18
-51,1962-03-25
-52,1964-07-28
-53,1925-12-15
-54,1999-10-08
-55,1920-03-26
-56,1937-12-27
-57,1933-03-04
-58,1954-11-06
-59,1932-02-03
-60,1968-05-18
-61,1961-05-25
-62,1953-10-14
-63,1954-09-25
-64,1964-05-03
-65,1978-03-14
-66,1925-03-15
-67,1990-08-08
-68,1998-08-21
-69,1963-09-25
-70,1942-04-22
-71,1999-03-08
-72,1993-08-14
-73,1915-05-27
-74,1933-11-05
-75,1996-12-17
-76,1978-01-24
-77,1982-03-20
-78,1931-07-07
-79,1916-10-08
-80,1969-02-22
-81,1938-10-26
-82,1942-07-19
-83,1940-10-20
-84,1938-04-12
-85,
-86,1984-09-12
-87,1947-06-01
-88,1993-06-14
-89,1918-08-23
-90,1933-07-08
-91,1956-07-04
-92,1963-07-25
-93,1933-11-27
-94,1934-03-28
-95,1928-04-11
-96,1918-03-24
-97,1971-05-22
-98,2000-12-27
-99,1929-03-28
-100,1935-03-02
diff --git a/tests/test/enginedb_small/csv/ENGINETABLEBIGJOINOPTDECIMAL1.csv b/tests/test/enginedb_small/csv/ENGINETABLEBIGJOINOPTDECIMAL1.csv
deleted file mode 100644
index 6b7b9c055..000000000
--- a/tests/test/enginedb_small/csv/ENGINETABLEBIGJOINOPTDECIMAL1.csv
+++ /dev/null
@@ -1,100 +0,0 @@
-1,-75973.173
-2,68522.866
-3,99335.781
-4,27646.337
-5,20097.791
-6,-7697.307
-7,28876.067
-8,-45195.292
-9,-72854.904
-10,89427.811
-11,88720.847
-12,-32624.107
-13,
-14,-53652.195
-15,6610.565
-16,12390.597
-17,69230.282
-18,-78476.027
-19,
-20,-59446.347
-21,57006.964
-22,-86531.749
-23,18489.622
-24,77817.525
-25,-17780.298
-26,-89711.454
-27,-54719.213
-28,78164.535
-29,63258.748
-30,-44537.913
-31,3655.988
-32,-40240.229
-33,-55853.805
-34,41114.206
-35,-16580.487
-36,67887.411
-37,89403.855
-38,-64105.758
-39,40193.834
-40,-83979.932
-41,92027.173
-42,18913.866
-43,-81620.195
-44,-40334.007
-45,42184.598
-46,-97475.055
-47,63451.337
-48,90113.373
-49,35501.936
-50,-17619.212
-51,-27807.288
-52,-82078.759
-53,13799.202
-54,-78758.817
-55,-990.049
-56,39632.624
-57,-55493.189
-58,42261.624
-59,-83069.702
-60,-5265.274
-61,-81561.928
-62,
-63,-1740.029
-64,
-65,-31623.124
-66,-29012.177
-67,34910.551
-68,31557.484
-69,-73046.336
-70,-24745.282
-71,-47885.473
-72,21047.282
-73,-667.339
-74,92208.271
-75,27780.587
-76,63445.807
-77,81958.757
-78,-46326.358
-79,82789.625
-80,
-81,86758.385
-82,22903.623
-83,8747.192
-84,4728.943
-85,82789.624
-86,-73971.909
-87,-78771.772
-88,-50861.542
-89,-73547.084
-90,-68543.006
-91,-56008.675
-92,97392.857
-93,18281.265
-94,52105.928
-95,-66327.223
-96,41094.385
-97,58880.672
-98,95068.467
-99,-65174.614
-100,-8846.442
diff --git a/tests/test/enginedb_small/csv/ENGINETABLEBIGJOINOPTDECIMAL2.csv b/tests/test/enginedb_small/csv/ENGINETABLEBIGJOINOPTDECIMAL2.csv
deleted file mode 100644
index d2be4861a..000000000
--- a/tests/test/enginedb_small/csv/ENGINETABLEBIGJOINOPTDECIMAL2.csv
+++ /dev/null
@@ -1,100 +0,0 @@
-1,76853.663
-2,18260.221
-3,68155.873
-4,
-5,33672.103
-6,36614.518
-7,99310.528
-8,22683.665
-9,8567.805
-10,-75152.707
-11,-89710.585
-12,-25396.336
-13,-39700.798
-14,-16422.182
-15,21046.047
-16,86624.024
-17,-37193.367
-18,69578.655
-19,-2894.132
-20,-56740.006
-21,-72895.087
-22,61152.114
-23,-46142.049
-24,47084.358
-25,13264.424
-26,-17408.749
-27,34594.394
-28,-21056.345
-29,
-30,
-31,-93753.964
-32,-96780.242
-33,28165.941
-34,-97902.685
-35,-17228.548
-36,-51852.685
-37,49121.037
-38,57985.902
-39,-32615.493
-40,52887.788
-41,-5832.793
-42,66430.581
-43,55154.934
-44,-57397.212
-45,-7695.572
-46,-31463.567
-47,43219.038
-48,17238.268
-49,93519.267
-50,59739.124
-51,-22973.878
-52,
-53,-9683.466
-54,
-55,-10098.099
-56,21863.068
-57,-18408.345
-58,99983.771
-59,-43320.868
-60,7730.643
-61,93367.582
-62,-97452.782
-63,23143.307
-64,61058.246
-65,-14536.755
-66,76021.037
-67,9121.823
-68,87704.613
-69,2887.518
-70,88759.846
-71,-22400.124
-72,-35299.028
-73,-37079.625
-74,55397.196
-75,-51755.635
-76,82797.288
-77,69411.451
-78,69685.671
-79,48768.306
-80,-86557.986
-81,-73559.037
-82,93339.614
-83,-83652.599
-84,87122.851
-85,65470.066
-86,-58926.132
-87,13577.512
-88,72019.297
-89,28047.196
-90,-33327.194
-91,-64124.939
-92,16142.066
-93,89211.858
-94,-69329.766
-95,-90278.036
-96,-73955.608
-97,39021.844
-98,-91650.885
-99,79911.501
-100,3768.304
diff --git a/tests/test/enginedb_small/csv/ENGINETABLEBIGJOINOPTFLOAT1.csv b/tests/test/enginedb_small/csv/ENGINETABLEBIGJOINOPTFLOAT1.csv
deleted file mode 100644
index 206c5dc2c..000000000
--- a/tests/test/enginedb_small/csv/ENGINETABLEBIGJOINOPTFLOAT1.csv
+++ /dev/null
@@ -1,100 +0,0 @@
-1,3.779913e-36
-2,-1.3673648e17
-3,
-4,-2.5182708e-15
-5,-8.7276177e-16
-6,287706980
-7,6.0387684e-37
-8,-5.0974135e-17
-9,7.603646e-15
-10,3.1472877e20
-11,0.009526093
-12,
-13,-1.3259136e-9
-14,5.6741038e-6
-15,-2.8266335e-28
-16,-182307430000
-17,-9.1357692e34
-18,1.1829323e-6
-19,-3.5370491e27
-20,7.3740079e-31
-21,-3548251.5
-22,3.1422094
-23,5.4804048e-18
-24,3.9710271e-8
-25,-4.807585e-19
-26,-5.5942877e31
-27,-73107282000
-28,-1.6440894e18
-29,-5.4824828e22
-30,3.9423154e34
-31,-5.5995763e-31
-32,9.2184126e-22
-33,-5.594835e20
-34,4.4574324e27
-35,3.672381e-35
-36,0.014333611
-37,-8.2632722e-35
-38,0.000613568
-39,-0.044930386
-40,-4.8376731e-20
-41,-8.931597e20
-42,2.0086394e-35
-43,-7.7051442e-31
-44,-5.289624e-37
-45,0.1452603
-46,-5.60786e-18
-47,55069.632
-48,315385770000
-49,-2.1145367e15
-50,58740200000
-51,-928.57886
-52,8.0536547e-15
-53,3.5671048e-25
-54,1.826839e30
-55,-5122.8086
-56,6.7468247e19
-57,-0.099437888
-58,-9.1145289
-59,-32317909000
-60,-0.0088769252
-61,3.4902007e26
-62,4.9304132e-23
-63,3737403.1
-64,-9.408051e-17
-65,55808761000000
-66,-9.9208603e-9
-67,-3.0586492e-35
-68,1.356623e-8
-69,-4.9901328e31
-70,-24902004000
-71,-6.9510599e25
-72,-5.5067317e18
-73,9.0399625e-36
-74,2.5201451e18
-75,-2.1544099e-29
-76,2.9825596e-5
-77,-1.5291029e22
-78,5.8751759e-20
-79,1.0299117e-12
-80,5.5760576e-32
-81,7.68324e27
-82,1.1355721e26
-83,-5.8170378e36
-84,-3.8030679e27
-85,-1.3450985
-86,-3.1494127e-17
-87,64529827000000
-88,-5.0558846e-26
-89,7.3885775e-32
-90,5.3436928e23
-91,2.5612519e-8
-92,-3.8566327e-25
-93,-980.77929
-94,9.3844342e-13
-95,2.3065558e-27
-96,7.0817076e-30
-97,8.354602e22
-98,41059006000
-99,-8.4776928e26
-100,86039.538
diff --git a/tests/test/enginedb_small/csv/ENGINETABLEBIGJOINOPTFLOAT2.csv b/tests/test/enginedb_small/csv/ENGINETABLEBIGJOINOPTFLOAT2.csv
deleted file mode 100644
index 3b9283a0b..000000000
--- a/tests/test/enginedb_small/csv/ENGINETABLEBIGJOINOPTFLOAT2.csv
+++ /dev/null
@@ -1,100 +0,0 @@
-1,-279933200
-2,5.9817343e-35
-3,8.6423973e25
-4,4.3250026e28
-5,9.3088635e19
-6,16245.268
-7,8.9718941e22
-8,9.968046e-26
-9,-1.948868e-7
-10,-2.1896059e-34
-11,
-12,284775040000000
-13,-4.8375985e33
-14,1.7016585e20
-15,4.6450796e-32
-16,1.951125e-20
-17,-6.0270295e28
-18,9730572800000
-19,-2.7780386e-12
-20,4.4923978e-38
-21,9.6241029e21
-22,4.6039729e-17
-23,-431248670000000
-24,-78.972083
-25,2.8001833e-29
-26,
-27,-7.1030799e29
-28,2.0163527e23
-29,4.0104718e-22
-30,-4.8378828e-32
-31,-8.798247e-31
-32,5.7682016e-7
-33,-23653.68
-34,84432104000000
-35,-2.9672148e-28
-36,-1.950471e-21
-37,-6.943656e35
-38,-1675.765
-39,809.99085
-40,-0.00060572083
-41,-4.6104633e-7
-42,-5.9643108e30
-43,-2.5514227e-10
-44,0.00078926421
-45,-8.6554752e35
-46,-88558317
-47,963253.65
-48,-2.3805473e26
-49,
-50,-2.7009795e25
-51,74603.942
-52,7.0183242e17
-53,-9.79901e-7
-54,-16510440000
-55,-8.3867353e32
-56,4.0314336e17
-57,6.5288653e-18
-58,-871834710000000
-59,-2.1132624e-24
-60,-6.8354624e-29
-61,-5.9665069e-9
-62,-569.39827
-63,8.7498473e35
-64,
-65,-1.4903632e-12
-66,6.4518277e32
-67,-4.9230027e25
-68,7.3150515e-13
-69,4.8441736e-20
-70,-9.915507e-12
-71,34618068
-72,7.6637788e-7
-73,-92238569
-74,-6.7858926e-24
-75,-4.1527185e-21
-76,-426741160000000
-77,4.8477903e23
-78,5.1013939
-79,2.4114163e-25
-80,-7.613356e-14
-81,7.5989603e21
-82,8.856718e16
-83,-6.4507665e-17
-84,2.6305162e-13
-85,3.3977906e21
-86,-5.5278156e15
-87,-5.870328e-6
-88,
-89,-7.093336e-21
-90,-0.3045388
-91,0.3257623
-92,-1.4219569e21
-93,45163854000000
-94,-5.2218751
-95,0.76195165
-96,-2500276.9
-97,55.665969
-98,9.0066725e36
-99,-5.1125105e-24
-100,
diff --git a/tests/test/enginedb_small/csv/ENGINETABLEBIGJOINOPTINT1.csv b/tests/test/enginedb_small/csv/ENGINETABLEBIGJOINOPTINT1.csv
deleted file mode 100644
index c37e2feea..000000000
--- a/tests/test/enginedb_small/csv/ENGINETABLEBIGJOINOPTINT1.csv
+++ /dev/null
@@ -1,100 +0,0 @@
-1,-2064118627
-2,-1985082418
-3,2086227593
-4,926119576
-5,-1954456515
-6,4381482
-7,-924418447
-8,-124639625
-9,2112957462
-10,2104283485
-11,2073951575
-12,1983843424
-13,-73530416
-14,-1004381395
-15,-1043982417
-16,76936494
-17,
-18,1974626576
-19,-1955380445
-20,-1863847567
-21,-1926353436
-22,1107427544
-23,2083247576
-24,1054476476
-25,-995871484
-26,1075416532
-27,933861465
-28,-1082670638
-29,-933142557
-30,-906459355
-31,
-32,-943447388
-33,62967476
-34,-5023634
-35,-2087032446
-36,146532524
-37,
-38,-1964580504
-39,-906120584
-40,945861474
-41,2044582453
-42,-57320556
-43,2005323533
-44,1966477534
-45,-2022529357
-46,1084266493
-47,-1866756357
-48,2003260425
-49,2025533414
-50,1144766493
-51,-1034723377
-52,-1107339357
-53,
-54,-2103459495
-55,
-56,-2076157484
-57,-1976678384
-58,1893521465
-59,-854283375
-60,-1044379406
-61,1034123502
-62,75479504
-63,1854253462
-64,1046360543
-65,-1045127368
-66,-1927082506
-67,1092580365
-68,-74161427
-69,-2034232526
-70,-1885919397
-71,1094577452
-72,2034252586
-73,-857477397
-74,882756522
-75,-1005928464
-76,-62966584
-77,-144672398
-78,
-79,885050642
-80,-2066657487
-81,
-82,-972650376
-83,1922581424
-84,-1014922476
-85,1905349385
-86,
-87,-114438614
-88,915871414
-89,1865957496
-90,946753395
-91,-2106436407
-92,-2057340634
-93,124428634
-94,873648605
-95,-1936046357
-96,2115937504
-97,-1003948605
-98,84130632
-99,1045279384
-100,-955463475
diff --git a/tests/test/enginedb_small/csv/ENGINETABLEBIGJOINOPTINT2.csv b/tests/test/enginedb_small/csv/ENGINETABLEBIGJOINOPTINT2.csv
deleted file mode 100644
index 542cb4fc1..000000000
--- a/tests/test/enginedb_small/csv/ENGINETABLEBIGJOINOPTINT2.csv
+++ /dev/null
@@ -1,100 +0,0 @@
-1,963856643
-2,-1983947364
-3,-1853223477
-4,126081352
-5,2122659542
-6,-2137236587
-7,1903273575
-8,-983319465
-9,-872582574
-10,
-11,-1137022528
-12,925371364
-13,-963079596
-14,-1866756395
-15,965746363
-16,-1906370547
-17,866883486
-18,63966584
-19,1986961465
-20,-1123360498
-21,-1092669378
-22,2096853586
-23,1046766382
-24,-46022574
-25,-2035179368
-26,2005643463
-27,-47446376
-28,-2117048516
-29,-1073666424
-30,2014668543
-31,-1076370508
-32,-1107447584
-33,86118624
-34,-962936628
-35,1983118434
-36,-903343494
-37,2124437624
-38,
-39,4719464
-40,-53763427
-41,
-42,-1923663595
-43,-862851588
-44,44732423
-45,1992670393
-46,54379456
-47,-1966553624
-48,-993571605
-49,115980525
-50,136152584
-51,
-52,965848536
-53,1134063496
-54,-1146628576
-55,-1925680368
-56,1994861504
-57,-993259386
-58,-67331594
-59,
-60,-2105330367
-61,-1063228417
-62,1135272623
-63,
-64,-1935361478
-65,2084120605
-66,1143872524
-67,-936960405
-68,2113376384
-69,-2122918436
-70,-34966407
-71,974366624
-72,-963949365
-73,-17262358
-74,897418583
-75,-115023587
-76,76726514
-77,-1903447566
-78,-13048426
-79,132947385
-80,32747473
-81,1055783476
-82,1075382425
-83,1874772614
-84,-1944647358
-85,1062938545
-86,1903231482
-87,-2034249498
-88,2087330635
-89,-992740547
-90,-2024619566
-91,-2056448365
-92,-2075930388
-93,-1064082516
-94,-1143262596
-95,13026415
-96,-2092747408
-97,-2023671488
-98,-1145552436
-99,2054743465
-100,-16743577
diff --git a/tests/test/enginedb_small/csv/ENGINETABLEBIGJOINOPTSMALLINT1.csv b/tests/test/enginedb_small/csv/ENGINETABLEBIGJOINOPTSMALLINT1.csv
deleted file mode 100644
index fc087b43c..000000000
--- a/tests/test/enginedb_small/csv/ENGINETABLEBIGJOINOPTSMALLINT1.csv
+++ /dev/null
@@ -1,100 +0,0 @@
-1,-9446
-2,-7654
-3,-28737
-4,21746
-5,29344
-6,27732
-7,20265
-8,12432
-9,-17354
-10,-31366
-11,-19547
-12,-31368
-13,22265
-14,-28644
-15,17553
-16,644
-17,18664
-18,21732
-19,32533
-20,-21366
-21,18564
-22,28652
-23,-30566
-24,17653
-25,9454
-26,-18348
-27,31434
-28,12245
-29,756
-30,-744
-31,20763
-32,8633
-33,-29268
-34,-666
-35,-18268
-36,18736
-37,-11644
-38,17233
-39,-1568
-40,11765
-41,1432
-42,-32334
-43,-21345
-44,-1764
-45,-11765
-46,-7637
-47,-21268
-48,-238
-49,-10466
-50,-7358
-51,2642
-52,22646
-53,-10667
-54,-31636
-55,21733
-56,19233
-57,-30258
-58,-7645
-59,-27267
-60,-2235
-61,-20258
-62,-12356
-63,-20258
-64,-7547
-65,8363
-66,-2758
-67,-7357
-68,28464
-69,27245
-70,-1634
-71,-17756
-72,9342
-73,-1566
-74,-7456
-75,8363
-76,-32346
-77,20663
-78,28556
-79,-22246
-80,-11556
-81,9336
-82,-28348
-83,-11266
-84,-11664
-85,-18746
-86,32432
-87,-12548
-88,-9345
-89,
-90,-29335
-91,-31764
-92,-12647
-93,30564
-94,1452
-95,10564
-96,30346
-97,31236
-98,-28434
-99,-27537
-100,-21566
diff --git a/tests/test/enginedb_small/csv/ENGINETABLEBIGJOINOPTSMALLINT2.csv b/tests/test/enginedb_small/csv/ENGINETABLEBIGJOINOPTSMALLINT2.csv
deleted file mode 100644
index e52217356..000000000
--- a/tests/test/enginedb_small/csv/ENGINETABLEBIGJOINOPTSMALLINT2.csv
+++ /dev/null
@@ -1,100 +0,0 @@
-1,
-2,-30247
-3,-32745
-4,
-5,-31536
-6,31432
-7,-12548
-8,-8336
-9,11536
-10,1764
-11,32244
-12,11454
-13,-19638
-14,30544
-15,-11536
-16,21762
-17,2343
-18,12253
-19,-344
-20,30452
-21,31245
-22,-19757
-23,17555
-24,-7347
-25,28236
-26,-10545
-27,-9448
-28,
-29,27444
-30,-20268
-31,32333
-32,-20654
-33,18245
-34,
-35,-29348
-36,-7456
-37,-9557
-38,28335
-39,30342
-40,10444
-41,7346
-42,31236
-43,27444
-44,-1248
-45,32443
-46,646
-47,
-48,-1655
-49,-32444
-50,1764
-51,
-52,
-53,
-54,-30464
-55,-32255
-56,11763
-57,
-58,-29465
-59,-22546
-60,-30547
-61,32645
-62,27463
-63,
-64,-27436
-65,-20645
-66,30646
-67,-2547
-68,2646
-69,-18735
-70,-7364
-71,-30268
-72,30464
-73,31434
-74,9656
-75,-2756
-76,-19444
-77,12464
-78,20254
-79,-7464
-80,-27747
-81,-10658
-82,
-83,-17644
-84,18366
-85,11336
-86,10256
-87,-30364
-88,-10745
-89,-1657
-90,-11435
-91,-8465
-92,10432
-93,-1238
-94,-258
-95,28454
-96,-7445
-97,19663
-98,-7544
-99,2355
-100,7346
diff --git a/tests/test/enginedb_small/csv/ENGINETABLEBIGJOINOPTVARCHAR1.csv b/tests/test/enginedb_small/csv/ENGINETABLEBIGJOINOPTVARCHAR1.csv
deleted file mode 100644
index 64b770dc1..000000000
--- a/tests/test/enginedb_small/csv/ENGINETABLEBIGJOINOPTVARCHAR1.csv
+++ /dev/null
@@ -1,100 +0,0 @@
-1,N7Ubs00xuxpKeOXA
-2,fwIV;HX2h
-3,i:OfRT
-4,w4xSu0
-5,"6fNgSRGCdLs290z,4sSl"
-6,KT4l0uv
-7,t2e1z59wzdm0tk6
-8,"OnJ,"
-9,sz8.dpZhjKENnT
-10,eQJG6GA
-11,6eKW
-12,zVvpXh
-13,p4eW4k9GzCGt
-14,wCSNPUHX
-15,kC
-16,P_7THxa
-17,teXumdq3ch5LCkvfXFJ6
-18,8UPKMHXbg9Qn
-19,yNZu;
-20,nHn
-21,7DIB_zdw
-22,vtYNBUzqIU_Ydc
-23,M0YAbDMrX.gaa_.koj
-24,"IjNE_oa,."
-25,hnNpl
-26,ZK_7ujzF
-27,cUQrG_esX0
-28,VRnPnXniIHi
-29,9xKO
-30,RECoIiU.
-31,Foa1P7NhVNzLJ3HZ__a
-32,5
-33,Jz8JD9ty
-34,3FIk_BoflU
-35,Z6_Ld320vwFgOOMQ
-36,RkFAlMwTTuW
-37,EURY0cW
-38,zRPDrjqgcR6J
-39,"LA3DX.V0suGGOgRPJH,"
-40,J;8HZi
-41,
-42,zNJ
-43,OPc95XOfuT2w5
-44,pD4jV.oVlZb;o
-45,KIe
-46,
-47,kH;Hibl2u
-48,CWxjO475LP3fZo_w
-49,1P
-50,02nyrp_FaFiJ
-51,T0n0xx2s37_
-52,Tav;YibG0evte;IEdn4p
-53,CS
-54,2u3iWUlN
-55,q0d51O7QcH6aMm
-56,bya6;t
-57,B.CYwb
-58,75TK57rDdsy0
-59,jxiQB
-60,"YM,"
-61,aG9hzuFm
-62,z
-63,J8SDyrQaJ.
-64,WoS;
-65,VzHG
-66,8Zb
-67,
-68,XKa
-69,"lcM;Wy,Kq7d52b2Y1c:7"
-70,jgfRTwuUcq
-71,S
-72,G2l3AYV
-73,55RPFK47hH3;GZ
-74,
-75,2284
-76,1BC:
-77,vqMdA1E7m
-78,"pSozlHglRx_RdF0l,"
-79,"sE0.,nrlIuV0o"
-80,XUfTVgFuiB
-81,FrjX
-82,76
-83,URs5E4oVh
-84,"7DI._LG9qB,"
-85,sU0tv6
-86,FuF
-87,50P9NhrE.ipsg8TKD
-88,RB3BX
-89,WO
-90,KPXkAzFbkrA_
-91,a
-92,9xExRbE0nu;2k2T2wK2I
-93,"lUtq6AKn6mZDSsB,wrj;"
-94,
-95,HNc
-96,"iSqh.NkUzKI75QbH,"
-97,Y9bvXx
-98,1O6RKK581BPAK
-99,pL_1bFbJ0NuU3rMGJg
-100,dL3fjSFqcVUnW
diff --git a/tests/test/enginedb_small/csv/ENGINETABLEBIGJOINOPTVARCHAR2.csv b/tests/test/enginedb_small/csv/ENGINETABLEBIGJOINOPTVARCHAR2.csv
deleted file mode 100644
index 08cf90959..000000000
--- a/tests/test/enginedb_small/csv/ENGINETABLEBIGJOINOPTVARCHAR2.csv
+++ /dev/null
@@ -1,100 +0,0 @@
-1,pxhO
-2,p0O
-3,"PJxkRL62W,ot."
-4,"R,yxV"
-5,nFByA
-6,5U;qzsJn8m:V
-7,VtO5
-8,":jcC6uL,3rs_dQ1"
-9,4GUS0z_Y0Wak;yMLZK
-10,"YQbE,6WKf5SmIL:c;"
-11,LJq8by0MuX0hX
-12,VZ
-13,"6EM.X,f12iY0fenNoD"
-14,bD0two
-15,iyJL
-16,"wPDKq4db3,0n4n0,8"
-17,dC1x4sTNxs
-18,TFxkMoWivpMLXCgxeO
-19,8
-20,
-21,6.Kp5h
-22,"_Ib_,z0H86BK"
-23,Q2Hgdk2ByztJr
-24,vhWK1I4.u233WWlCtSjn
-25,pgpRh
-26,du0104uTdv3YXc
-27,6PdN2n3
-28,"t05,RrD:2e3eZ9;"
-29,CCx
-30,xqI
-31,vgU2sIk_AxmhsL03nYs
-32,"p8vCtu:E9myfM:,g"
-33,ivGW
-34,bw8S
-35,oul2I3;I
-36,wk2ByAmCnw_U92z2e2S3
-37,HUhQNaS_HdwMmWq4d
-38,I;.7mJ
-39,vXYeFYjcE5mP
-40,.SQyER4lVVnv
-41,"vU,oqcb68b6,QtG4V"
-42,bs99
-43,_BlixIO:
-44,Da
-45,qqad_1ZyfFUlrv_kuB3A
-46,
-47,;Y
-48,"Pp7rtZ4_Tbv,Zq.3"
-49,9lhgLOdO1r4EVEn
-50,B
-51,
-52,8
-53,"JZj.W2l,"
-54,qda2_
-55,q
-56,p
-57,7X
-58,.qoYzbHL90D0Zu;tlfv
-59,"u4QDHrE_YNPVB,U"
-60,;cjDC
-61,"_PcK4aSG;aH;aiRH,"
-62,p5AtCD
-63,t0AwQD
-64,0ds59Q
-65,"Jn,mHsdy0N"
-66,ao.kqAbCRvEYja
-67,kblAvCSmAtEGoGkfqUco
-68,dG1
-69,BHaaO;3lYvdYUbq0d_
-70,5;OjQCGxdy0J986a
-71,HGCgAREFpChxJCJw0T
-72,W9jAYR6F
-73,evYYaS:dfPV9iBDL5aG:
-74,GR
-75,NrU:s80Cu
-76,ANCUur1z7RVFqJ89
-77,5NQTHTev
-78,f4UNtV_Waj;Cn.On
-79,"yeM1,"
-80,:ogaUHqagRO:P6AKN4m
-81,thecSpAeFs
-82,9KwSMjRFejrA_TWqjbF
-83,xJO
-84,;MkWAM;PlMx5P
-85,B6ALZ2BfBiB
-86,MAYDar0:x
-87,TOus28fT
-88,sqiDMtW5l
-89,TauV0oEio4jdE0m0o
-90,PPLQitJ5020
-91,54QTI2e
-92,FugpTgBE0nxn00u94X
-93,UKE7nJxeOdR2.
-94,6sNa
-95,XJhKj4D;EkeyWKld5Mti
-96,q22
-97,",5rOkPyt46VKm0aw"
-98,CAgsP9L22K25Njs
-99,ruHe6Yda1_C.vngoRlG
-100,lB
diff --git a/tests/test/enginedb_small/csv/ENGINETABLEBIGUNICODE.csv b/tests/test/enginedb_small/csv/ENGINETABLEBIGUNICODE.csv
deleted file mode 100644
index 4c3a0dfcd..000000000
--- a/tests/test/enginedb_small/csv/ENGINETABLEBIGUNICODE.csv
+++ /dev/null
@@ -1,100 +0,0 @@
-1,"犮犯犰犱      ",가각갂갃간갅갆갇갈갉갊갋갌갍갎갏감갑값갓갔강갖갗갘같갚갛개객갞갟갠갡갢갣갤갥갦갧갨갩갪갫갬갭갮갯갰갱갲갳갴
-2,"닩닪닫달닭닮닯닰닱 ",ཀྵཪ
-3,"ⰍⰎⰏⰐⰑ     ",豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱亂卵欄爛蘭鸞嵐濫藍襤拉臘蠟廊朗浪狼郎來冷勞擄櫓爐盧老蘆虜路露魯鷺碌祿綠菉錄鹿論壟弄籠聾牢磊賂雷壘屢樓淚漏累縷陋勒肋凜凌稜綾菱陵讀拏樂
-4,"ルレ        ",䌽䌾䌿䍀䍁䍂䍃䍄䍅䍆䍇䍈䍉䍊䍋䍌䍍䍎䍏䍐䍑䍒䍓䍔䍕䍖
-5,"孟孠孡孢季孤孥   ",׆ׇ׈׉׊׋׌׍׎׏אבגדהוזחטיךכלם
-6,"삹삺삻삼삽삾    ",豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱亂卵欄爛蘭鸞嵐濫
-7,"가각갂갃      ",렝렞렟렠렡렢렣려력렦렧련렩렪렫렬렭렮렯렰렱렲렳렴렵렶렷렸령렺렻렼렽렾렿례롁롂롃롄롅롆롇롈롉롊롋롌롍롎롏롐롑롒롓롔롕롖롗롘롙롚롛로록롞롟론롡롢롣
-8,"ᓷᓸᓹᓺᓻᓼᓽ   ",豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱亂卵欄爛蘭鸞嵐濫藍襤拉臘蠟廊朗浪狼郎來冷勞擄櫓爐盧老蘆虜路露魯鷺碌祿綠菉錄鹿論壟弄籠聾牢磊賂雷壘屢樓淚漏累縷陋勒
-9,"浦浧浨浩浪     ",豈更車賈滑串句龜龜契
-10,"苔         ",푀푁푂푃푄푅푆푇푈푉푊푋푌푍푎푏푐푑푒푓푔푕푖푗푘푙푚푛표푝푞푟푠푡푢푣푤푥
-11,"纗纘纙纚纛纜纝纞纟 ",豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱亂卵欄爛蘭鸞嵐濫藍襤拉臘蠟廊朗浪狼郎來冷勞擄櫓爐盧老蘆虜路露魯鷺碌祿綠菉錄鹿論壟弄籠聾牢磊賂雷壘屢樓淚漏累縷
-12,"䝇         ",ᴒᴓᴔᴕᴖᴗᴘᴙᴚᴛᴜᴝᴞᴟᴠᴡ
-13,"烎烏        ",廧廨廩廪廫廬廭廮廯廰廱廲廳廴廵延廷廸廹建廻廼廽廾廿开弁异弃弄弅弆弇弈弉弊弋弌弍弎式弐弑弒弓弔引弖弗弘弙弚弛弜弝弞弟张弡弢弣弤弥弦弧弨弩弪弫弬弭弮弯弰弱弲弳弴張弶強弸
-14,"汒         ",⶝
-15,"豈更車       ",鬆鬇鬈鬉鬊鬋鬌鬍鬎鬏鬐鬑鬒鬓鬔鬕鬖鬗鬘鬙鬚鬛鬜鬝鬞鬟鬠鬡鬢鬣鬤鬥鬦鬧鬨鬩鬪鬫鬬鬭鬮鬯鬰鬱鬲鬳鬴鬵鬶鬷鬸鬹鬺鬻鬼鬽鬾鬿魀魁魂魃魄魅魆魇魈魉魊魋魌魍魎魏
-16,"糋糌糍糎糏     ",ꎭꎮꎯꎰꎱꎲꎳꎴꎵꎶꎷꎸꎹꎺꎻꎼꎽꎾꎿꏀꏁꏂꏃꏄꏅꏆꏇꏈ
-17,"隽难隿雀雁雂    ",✀✁✂✃✄✅✆✇✈✉✊✋✌✍✎✏✐✑✒✓✔✕✖✗✘✙✚✛✜✝✞✟✠✡✢✣✤✥✦✧✨✩✪✫✬✭✮✯✰✱✲✳✴✵
-18,"豈更車賈滑串句龜  ",蔝蔞蔟蔠蔡蔢蔣蔤蔥蔦蔧蔨蔩
-19,"豈更車賈滑串句龜龜 ",黢黣黤黥黦黧黨黩黪黫黬黭黮黯黰黱黲黳黴黵黶黷黸黹黺黻
-20,"鼵鼶鼷鼸鼹鼺鼻鼼  ",픬픭픮픯픰픱픲픳픴픵픶픷픸픹픺픻피픽픾픿핀핁핂핃필핅핆핇핈핉핊핋핌핍핎핏핐핑핒핓핔핕핖핗하학핚핛한핝핞핟할핡핢핣핤핥핦핧함합핪핫핬항핮핯핰핱핲핳해핵핶핷핸핹핺핻핼핽핾핿햀햁햂햃햄햅햆햇했행햊햋햌햍햎
-21,"囷囸        ",豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱亂卵欄爛蘭鸞嵐濫藍襤拉臘蠟
-22,"䍠         ",瀪瀫瀬瀭瀮
-23,"麒麓麔麕麖麗麘麙  ",豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱亂卵欄爛蘭鸞嵐濫藍襤拉臘蠟廊朗浪狼郎來冷勞擄櫓爐盧老蘆虜路露魯鷺碌祿綠菉錄鹿論壟弄籠聾牢磊賂雷壘屢樓淚漏累縷陋勒
-24,"ֶַָֹֺֻ    ",ᘓᘔᘕᘖᘗᘘᘙᘚᘛᘜᘝᘞᘟᘠᘡᘢᘣᘤᘥᘦᘧᘨᘩᘪᘫᘬᘭᘮᘯᘰᘱᘲᘳᘴᘵᘶᘷᘸᘹᘺᘻᘼᘽᘾᘿᙀᙁᙂᙃᙄᙅᙆᙇᙈᙉᙊᙋᙌᙍᙎᙏᙐᙑᙒᙓᙔᙕᙖᙗᙘᙙᙚᙛᙜᙝᙞᙟᙠᙡᙢᙣᙤᙥᙦᙧᙨᙩᙪᙫᙬ᙭᙮ᙯᙰ
-25,"耑耒耓耔耕耖耗耘耙 ",豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱亂卵欄爛蘭鸞嵐濫藍襤拉臘蠟廊朗浪狼郎來冷勞擄櫓爐盧老蘆虜路露魯鷺碌祿綠菉錄鹿論壟弄籠聾牢磊賂雷壘屢
-26,"Ᵹ         ",路跰跱跲跳跴践跶跷跸跹跺跻跼跽跾跿踀踁踂踃踄踅踆踇踈踉踊踋踌踍踎踏踐踑踒踓踔踕踖踗踘踙踚踛踜踝踞踟踠踡踢踣踤踥踦踧踨踩踪踫踬踭踮踯踰踱踲踳踴踵踶踷踸踹踺踻踼踽踾踿
-27,"뼆뼇        ",㊜㊝㊞㊟㊠㊡㊢㊣㊤㊥㊦㊧㊨㊩㊪㊫㊬㊭㊮㊯㊰㊱㊲㊳㊴㊵㊶㊷㊸㊹㊺㊻㊼㊽㊾㊿㋀㋁㋂㋃㋄㋅㋆㋇㋈㋉㋊㋋㋌㋍㋎㋏㋐㋑㋒㋓㋔㋕㋖㋗㋘㋙㋚㋛㋜㋝㋞㋟㋠㋡㋢㋣㋤㋥㋦㋧㋨㋩㋪㋫㋬㋭㋮㋯
-28,"㗯㗰㗱㗲㗳㗴㗵㗶㗷 ",㈼㈽㈾㈿㉀㉁㉂㉃㉄㉅㉆㉇㉈㉉㉊㉋
-29,"๴         ",ꁼꁽꁾꁿꂀꂁꂂꂃꂄꂅꂆꂇꂈꂉꂊꂋꂌꂍꂎꂏꂐꂑꂒꂓꂔꂕꂖꂗꂘꂙꂚꂛꂜꂝꂞꂟꂠꂡꂢꂣꂤꂥꂦꂧꂨꂩꂪꂫꂬꂭꂮꂯꂰꂱꂲꂳꂴꂵꂶꂷꂸꂹꂺꂻꂼꂽꂾꂿꃀꃁꃂꃃꃄꃅꃆꃇꃈꃉꃊ
-30,"堛堜堝堞堟堠堡堢堣 ",쯖쯗쯘쯙쯚쯛쯜쯝쯞쯟쯠쯡쯢쯣쯤쯥쯦쯧쯨쯩쯪쯫쯬쯭쯮쯯쯰쯱쯲쯳쯴쯵쯶쯷쯸쯹쯺쯻쯼
-31,"íîï       ",焴焵然焷焸焹焺焻焼焽焾焿煀煁煂煃煄煅煆煇煈煉煊煋煌煍煎煏煐煑煒煓煔煕煖煗煘煙煚煛煜煝煞煟煠煡煢煣煤煥煦照煨煩煪煫煬煭煮煯煰煱煲煳煴煵煶煷煸煹煺煻煼煽煾煿熀熁熂熃熄熅熆熇
-32,"쬄쬅쬆쬇쬈쬉쬊쬋  ",륆륇륈륉륊륋륌륍륎륏륐륑륒륓륔륕륖륗류륙
-33,"巪巫        ",ର଱ଲଳ଴ଵଶଷସହ଺଻଼ଽାିୀୁୂୃୄ୅୆େୈ୉୊ୋୌ୍୎୏୐୑୒୓୔୕ୖୗ୘୙୚୛ଡ଼ଢ଼୞ୟୠୡୢୣ୤୥୦୧୨୩୪୫୬୭୮୯୰ୱ୲୳୴୵୶୷୸୹୺୻୼୽
-34,"禈禉禊禋      ",䴕䴖䴗䴘䴙䴚䴛䴜䴝䴞䴟䴠䴡䴢䴣䴤䴥䴦䴧䴨䴩䴪䴫䴬䴭䴮䴯䴰䴱䴲䴳䴴䴵䴶䴷䴸䴹䴺䴻䴼䴽䴾䴿䵀䵁䵂䵃䵄䵅䵆䵇䵈䵉䵊䵋䵌䵍䵎䵏䵐䵑䵒䵓䵔䵕䵖䵗䵘䵙䵚䵛䵜䵝䵞䵟䵠䵡䵢䵣䵤䵥䵦䵧䵨䵩䵪
-35,"旨早旪旫      ",㩽㩾㩿㪀㪁㪂㪃㪄㪅㪆㪇㪈㪉㪊㪋㪌㪍㪎㪏㪐㪑㪒㪓㪔㪕㪖㪗㪘㪙㪚㪛㪜㪝㪞㪟㪠㪡㪢㪣㪤㪥㪦㪧㪨
-36,"豈更車賈滑串句龜  ",᛻᛼᛽᛾᛿ᜀᜁᜂᜃᜄᜅᜆᜇᜈᜉᜊᜋᜌᜍᜎᜏᜐᜑᜒᜓ᜔᜕᜖᜗᜘᜙᜚᜛᜜᜝᜞ᜟᜠᜡᜢᜣᜤᜥᜦᜧᜨᜩᜪᜫᜬᜭᜮᜯ
-37,"㚀㚁㚂㚃㚄     ",ƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǂǃǄǅǆǇǈǉǊǋǌǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩ
-38,"뤇뤈뤉뤊뤋     ",줽줾줿쥀쥁쥂쥃쥄쥅쥆쥇쥈쥉쥊쥋쥌쥍쥎쥏쥐쥑쥒쥓쥔쥕쥖쥗쥘쥙쥚쥛쥜쥝쥞쥟쥠쥡쥢쥣쥤쥥쥦쥧쥨쥩쥪쥫쥬쥭쥮쥯쥰쥱쥲쥳쥴쥵쥶쥷쥸쥹쥺쥻쥼쥽쥾쥿즀즁즂즃즄즅즆즇즈즉즊즋즌즍즎즏즐즑즒즓즔즕즖즗즘
-39,"㶅         ",羗羘羙羚羛羜羝羞羟羠羡羢羣群羥羦羧羨義羪羫羬羭
-40,"蝺蝻蝼蝽蝾蝿螀   ",徃径待徆徇很徉徊律後徍徎徏徐徑徒従徔徕徖得徘徙徚徛徜徝從徟徠御徢徣徤徥徦徧徨復循徫徬徭微徯徰徱徲徳徴徵徶德徸徹徺
-41,"悷悸悹悺悻悼悽   ",㆜㆝㆞㆟ㆠㆡㆢㆣㆤㆥㆦㆧㆨㆩㆪㆫㆬㆭㆮㆯㆰㆱㆲㆳㆴㆵㆶㆷㆸㆹㆺㆻㆼㆽㆾㆿ㇀㇁㇂㇃㇄㇅㇆㇇㇈㇉㇊㇋㇌㇍㇎㇏㇐
-42,"誮誯        ",栧栨栩株栫
-43,"컮컯컰컱컲컳컴컵  ",弌弍弎式弐弑弒弓弔引弖弗弘弙弚弛弜弝弞弟张弡弢弣弤弥弦弧弨弩弪弫弬弭弮弯弰弱弲弳弴張弶強弸弹强弻弼弽弾弿彀彁彂彃彄彅彆彇彈彉彊彋彌彍彎彏彐彑归
-44,"嵫嵬嵭嵮嵯嵰嵱嵲  ",豈更車賈滑串句龜龜契金喇
-45,"칼칽칾칿캀캁캂캃캄 ",豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱
-46,"㴯㴰㴱㴲      ",ඌඍඎඏඐඑඒඓඔ
-47,"가각갂갃간     ",⯥⯦⯧⯨⯩⯪⯫⯬⯭⯮⯯⯰⯱⯲⯳⯴⯵⯶⯷⯸⯹⯺⯻⯼⯽⯾⯿ⰀⰁⰂⰃⰄⰅⰆⰇⰈⰉⰊⰋⰌⰍⰎⰏⰐⰑⰒⰓⰔⰕⰖⰗⰘⰙⰚⰛⰜⰝⰞⰟⰠⰡⰢⰣⰤⰥⰦⰧⰨⰩⰪⰫⰬⰭⰮⰯⰰⰱⰲⰳⰴⰵⰶⰷⰸⰹⰺⰻⰼⰽⰾⰿⱀⱁⱂⱃⱄⱅⱆⱇ
-48,"鏿鐀鐁       ",豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱亂卵欄
-49,"偶偷偸偹偺偻偼   ",᱾᱿ᲀᲁᲂᲃᲄᲅᲆᲇᲈᲉᲊ᲋᲌᲍᲎᲏ᲐᲑᲒᲓᲔᲕᲖᲗᲘᲙᲚᲛᲜᲝᲞᲟ
-50,"␥␦␧␨␩     ",怭怮怯怰怱怲怳怴怵怶怷怸怹怺总怼怽怾怿恀恁恂恃恄恅恆恇恈恉恊恋恌恍恎恏恐恑恒恓恔恕恖恗恘恙恚恛恜恝恞恟恠恡恢恣恤恥恦恧恨恩恪恫
-51,"豈更車賈滑串句   ",ᗸᗹᗺᗻᗼᗽᗾᗿᘀᘁᘂᘃᘄᘅᘆᘇᘈᘉᘊᘋᘌᘍᘎᘏᘐᘑᘒᘓᘔᘕᘖᘗᘘᘙᘚᘛᘜᘝᘞᘟᘠᘡᘢᘣᘤᘥ
-52,"纔         ",豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱亂卵欄爛蘭鸞嵐濫藍襤拉臘蠟廊朗浪狼郎來冷勞擄櫓爐盧老蘆虜路露魯鷺碌祿綠菉錄鹿論壟弄籠聾牢磊賂雷壘屢樓淚漏累縷陋勒肋凜凌稜綾菱陵讀拏樂諾丹寧
-53,"何佖        ",쌭쌮쌯쌰쌱쌲쌳쌴
-54,"ꜙꜚꜛꜜꜝꜞꜟ꜠꜡ ",鬇鬈鬉鬊鬋鬌
-55,"矆矇矈矉矊     ",튍튎튏튐튑튒튓튔튕튖튗튘튙튚튛튜튝튞튟튠튡튢튣튤튥튦튧튨튩튪튫튬튭튮튯튰튱튲튳튴튵튶튷트특튺튻튼튽튾튿틀틁틂틃틄틅틆틇틈틉틊틋틌틍틎틏틐틑틒틓틔틕틖틗틘틙틚틛틜틝틞
-56,"⹚         ",咯咰咱咲咳咴咵咶咷咸咹咺咻咼咽咾咿哀品哂哃哄哅哆哇哈哉哊哋哌响哎哏哐哑哒哓哔哕哖哗哘哙哚哛哜
-57,"ﺈﺉﺊﺋﺌﺍﺎﺏﺐ ",䯨䯩䯪䯫䯬䯭䯮䯯䯰䯱䯲䯳䯴䯵䯶䯷䯸䯹䯺䯻䯼䯽䯾䯿䰀䰁䰂䰃䰄䰅䰆䰇䰈䰉䰊䰋䰌䰍䰎䰏䰐䰑䰒䰓䰔䰕䰖䰗䰘䰙䰚䰛䰜䰝䰞䰟䰠䰡䰢䰣䰤䰥䰦䰧䰨䰩䰪䰫䰬䰭䰮䰯䰰䰱䰲䰳䰴䰵䰶䰷䰸䰹䰺䰻䰼䰽䰾䰿䱀
-58,"뺛뺜뺝뺞      ",⨋⨌⨍⨎⨏⨐⨑⨒⨓⨔⨕⨖⨗⨘⨙⨚⨛⨜⨝⨞⨟⨠⨡⨢⨣⨤⨥⨦⨧⨨⨩⨪⨫⨬⨭⨮⨯⨰⨱⨲⨳⨴⨵⨶⨷⨸⨹⨺⨻⨼⨽⨾⨿⩀⩁⩂⩃⩄⩅⩆⩇⩈⩉⩊⩋⩌⩍⩎⩏⩐⩑⩒⩓⩔⩕⩖⩗⩘⩙⩚
-59,"ᚲᚳᚴ       ",铋铌铍铎铏铐铑铒铓铔铕铖铗铘铙铚铛铜铝铞铟铠铡铢铣铤铥铦铧铨铩铪铫铬铭铮铯铰铱铲
-60,"뽡뽢뽣뽤뽥뽦뽧뽨  ",똥똦똧똨똩똪똫똬똭똮똯똰똱똲똳똴똵똶똷똸똹똺똻똼똽똾똿뙀뙁뙂뙃뙄뙅뙆뙇뙈뙉
-61,"磗磘磙磚磛磜    ",ቒቓቔቕቖ቗ቘ቙ቚቛቜቝ቞቟በቡቢ
-62,"머먹먺먻먼먽먾먿  ",ベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶヷヸヹヺ・ーヽヾヿ㄀㄁㄂㄃㄄ㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙㄚㄛㄜㄝㄞㄟㄠㄡㄢㄣ
-63,"⾾⾿⿀       ",㈡㈢㈣㈤㈥㈦㈧㈨㈩㈪㈫㈬㈭㈮㈯㈰㈱㈲㈳㈴㈵㈶㈷㈸㈹㈺㈻㈼㈽㈾㈿㉀㉁㉂㉃㉄㉅㉆㉇㉈㉉㉊㉋㉌㉍㉎㉏㉐㉑㉒㉓㉔㉕㉖㉗㉘㉙㉚㉛㉜㉝㉞㉟㉠㉡㉢㉣㉤㉥㉦㉧
-64,"㲥㲦㲧㲨㲩㲪㲫㲬㲭 ",ۨ۩۪ۭ۫۬ۮۯ۰۱۲۳۴۵۶۷۸۹ۺۻۼ۽۾ۿ܀܁܂܃܄܅܆܇܈܉܊܋܌܍܎܏ܐܑܒܓܔܕܖܗܘ
-65,"脙脚脛脜      ",荇
-66,"뾷뾸뾹뾺뾻뾼    ",ퟴퟵퟶퟷퟸퟹퟺퟻ퟼퟽퟾퟿豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸邏樂
-67,"ལཤཥསཧཨཀྵ   ",桘桙桚桛桜桝桞桟桠桡桢档桤桥桦桧桨桩桪桫桬桭桮桯桰桱桲桳桴桵桶桷桸桹桺桻桼桽桾桿梀梁梂梃梄梅梆梇梈梉梊梋梌梍梎梏梐梑梒梓梔梕梖梗梘梙梚梛梜條梞梟梠梡梢梣梤梥梦梧梨梩梪梫
-68,"嬴嬵        ",溴溵溶溷溸溹溺溻溼溽溾溿滀滁滂滃滄
-69,"࿴࿵࿶࿷࿸࿹    ",돡돢돣돤돥돦돧돨돩돪돫돬돭돮돯돰돱돲돳돴돵돶돷돸돹돺돻돼돽돾돿됀됁됂됃
-70,"롭롮롯       ",⠓⠔⠕⠖⠗⠘⠙⠚⠛⠜⠝⠞⠟⠠⠡⠢⠣⠤⠥⠦⠧⠨⠩⠪⠫⠬⠭⠮⠯⠰⠱⠲⠳⠴⠵⠶⠷⠸⠹⠺⠻⠼⠽⠾⠿⡀⡁
-71,"낤낥낦낧남납    ",䪜䪝䪞䪟䪠䪡䪢䪣䪤䪥䪦䪧䪨䪩䪪䪫䪬䪭䪮䪯䪰䪱䪲䪳䪴䪵䪶䪷䪸䪹䪺䪻䪼䪽䪾䪿䫀䫁
-72,"둍둎둏두      ",᎘᎙᎚᎛᎜᎝᎞᎟ᎠᎡᎢᎣᎤᎥᎦᎧᎨᎩᎪᎫᎬᎭᎮᎯᎰᎱᎲᎳᎴᎵᎶᎷᎸᎹᎺᎻᎼᎽᎾᎿᏀᏁᏂᏃᏄᏅ
-73,"胅胆胇胈      ",슗슘슙슚슛슜슝슞슟슠슡슢슣스슥슦슧슨슩슪슫슬슭슮슯슰슱슲슳슴습슶슷슸승슺슻슼
-74,"бвгдежзи  ",擿攀攁攂攃攄攅攆攇攈攉攊攋攌攍攎攏攐攑攒攓攔攕攖攗攘攙攚攛攜攝攞攟攠攡攢攣攤攥攦攧攨攩攪攫攬攭攮支攰攱攲攳攴攵收攷攸改攺攻攼攽放政敀敁敂敃敄故敆敇效敉敊敋敌敍敎敏敐救敒敓敔敕敖
-75,"⸉⸊⸋⸌⸍     ",䦃䦄䦅䦆䦇䦈䦉䦊䦋䦌䦍䦎䦏䦐䦑䦒䦓䦔䦕䦖䦗䦘䦙䦚䦛䦜䦝䦞䦟䦠䦡䦢䦣䦤䦥䦦䦧
-76,"豈         ",豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱亂卵欄爛蘭鸞嵐濫藍襤拉臘蠟廊朗浪狼郎來冷勞擄櫓爐盧老蘆虜路露魯鷺碌祿綠菉錄鹿論壟弄籠聾牢磊賂雷壘屢樓淚漏累縷陋勒肋凜凌稜綾菱陵讀拏樂
-77,"豈更車賈滑串    ",豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱亂卵欄爛蘭鸞嵐濫藍襤拉臘蠟廊朗浪狼郎來冷勞擄櫓爐盧老蘆虜
-78,"悍悎悏悐悑     ",镌镍镎镏镐镑镒镓镔镕镖镗镘镙镚镛镜镝镞镟镠镡镢镣镤镥镦镧镨镩镪镫镬镭镮镯镰镱镲镳镴镵镶長镸镹镺镻镼镽镾长門閁閂閃閄閅閆閇閈閉閊開閌閍閎閏閐閑閒間閔閕閖閗閘閙閚閛閜閝閞閟
-79,"☹☺☻☼☽☾    ",豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱亂卵欄爛蘭鸞嵐濫藍襤拉臘蠟廊朗浪狼郎來
-80,"鹬         ",㎊㎋㎌㎍㎎㎏㎐㎑㎒㎓㎔㎕㎖㎗㎘㎙㎚㎛㎜㎝㎞㎟㎠㎡㎢㎣㎤㎥㎦㎧㎨㎩㎪㎫㎬㎭㎮㎯㎰㎱㎲㎳㎴㎵㎶㎷㎸㎹㎺㎻㎼㎽㎾㎿㏀㏁㏂㏃㏄㏅㏆㏇㏈㏉㏊㏋㏌㏍㏎㏏㏐㏑㏒㏓㏔㏕㏖㏗㏘㏙㏚㏛㏜㏝㏞㏟㏠㏡㏢㏣㏤㏥㏦㏧㏨㏩㏪
-81,"╙╚╛       ",颓颔颕颖颗题颙颚颛颜额颞颟颠颡颢颣颤颥颦颧風颩颪颫颬颭颮颯颰颱颲颳颴颵颶颷颸颹颺颻颼颽颾颿飀飁飂飃飄
-82,"튟튠튡튢튣튤    ",豈更車賈滑串句
-83,"훤훥        ",軨軩軪軫軬軭軮軯軰軱軲軳軴軵軶軷軸軹軺軻軼軽軾軿輀輁輂較輄輅輆輇輈載輊輋輌輍輎輏輐輑輒輓輔輕輖輗輘輙輚輛輜輝輞輟輠輡輢輣輤輥輦輧輨輩輪輫輬輭輮輯輰輱輲輳輴輵輶輷輸輹輺輻輼輽輾輿轀
-84,"迎迏运近迒     ",㱬㱭㱮㱯㱰㱱㱲㱳㱴㱵㱶㱷㱸㱹㱺㱻㱼㱽㱾㱿㲀㲁㲂㲃㲄㲅㲆㲇㲈㲉㲊㲋㲌㲍㲎㲏㲐㲑㲒㲓㲔㲕㲖㲗㲘㲙㲚㲛㲜㲝㲞㲟㲠㲡㲢㲣㲤㲥㲦㲧㲨㲩㲪㲫㲬㲭㲮㲯㲰㲱㲲㲳㲴㲵㲶㲷㲸㲹㲺㲻㲼㲽㲾㲿㳀㳁㳂㳃㳄㳅㳆㳇㳈㳉㳊
-85,"봴봵봶봷봸     ",豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱亂卵欄爛蘭鸞嵐濫藍襤拉臘蠟廊朗浪狼郎來冷勞擄櫓爐盧老蘆虜路露魯鷺碌祿綠菉錄鹿論壟弄籠聾牢
-86,"䘋䘌        ",邈邉邊邋邌邍邎邏邐邑邒邓邔邕邖邗邘邙邚邛邜邝邞邟邠邡邢那邤邥邦邧邨邩邪邫邬邭邮邯邰邱邲邳邴邵邶邷邸邹邺邻邼邽邾邿郀郁郂郃郄郅郆郇郈郉郊郋郌郍郎郏郐郑郒郓郔郕郖
-87,"똃똄        ",爹爺爻爼爽爾爿牀牁牂牃牄牅牆片版牉牊牋牌牍牎牏牐牑牒牓牔牕牖牗牘牙牚牛牜牝牞牟牠牡牢牣牤牥牦牧牨物牪牫牬牭牮牯牰牱牲牳牴牵牶牷
-88,"俎俏俐俑俒俓俔俕俖 ",枒枓枔枕枖林枘枙枚枛果枝枞枟枠枡枢枣枤枥枦枧枨枩枪枫枬枭枮枯枰枱枲枳枴
-89,"璋璌璍璎璏璐璑璒  ",鿹鿺鿻鿼鿽鿾鿿ꀀꀁꀂꀃꀄꀅꀆꀇꀈꀉꀊꀋꀌꀍꀎꀏꀐꀑꀒꀓꀔꀕꀖꀗꀘꀙꀚꀛꀜ
-90,"籡籢籣籤籥籦籧籨  ",㠩㠪㠫㠬㠭㠮㠯㠰㠱㠲㠳㠴㠵㠶㠷㠸㠹㠺㠻㠼㠽㠾㠿㡀㡁㡂㡃
-91,"턚턛턜턝턞턟턠턡  ",容宺宻宼宽宾宿寀寁寂寃寄寅密寇寈寉寊寋富寍寎寏寐寑寒寓寔寕寖寗寘寙寚寛寜寝寞察寠寡寢寣寤寥實寧寨審寪
-92,"⇱         ",豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱亂卵欄爛蘭鸞嵐濫藍襤拉臘蠟廊朗浪狼郎來冷勞擄櫓爐盧老蘆虜路露魯鷺
-93,"ﺬﺭﺮﺯﺰﺱ    ",豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱亂卵欄爛蘭鸞嵐濫藍襤拉臘蠟廊朗浪狼郎來冷勞擄櫓爐盧老蘆虜路露魯鷺碌祿綠菉錄鹿論壟
-94,"쬗쬘쬙쬚쬛쬜쬝쬞  ",킒킓킔킕킖킗
-95,"됚됛된됝됞됟될됡됢 ",䮏䮐䮑䮒䮓䮔䮕䮖䮗䮘䮙䮚䮛䮜䮝䮞䮟䮠䮡䮢䮣䮤䮥䮦䮧䮨䮩䮪䮫䮬䮭䮮䮯䮰䮱䮲䮳䮴䮵䮶䮷䮸䮹䮺䮻䮼䮽䮾䮿䯀䯁䯂䯃䯄䯅䯆䯇䯈䯉䯊䯋䯌䯍䯎䯏䯐䯑䯒䯓䯔䯕䯖䯗䯘䯙
-96,"낐낑낒낓낔     ",ꐏꐐꐑꐒꐓꐔꐕꐖꐗꐘꐙꐚꐛꐜꐝꐞꐟꐠꐡꐢꐣ
-97,"即         ",떥떦떧떨떩떪떫떬떭떮떯떰떱떲떳떴떵떶떷떸떹떺떻떼떽떾떿뗀뗁뗂뗃뗄뗅뗆뗇뗈뗉뗊뗋뗌뗍뗎뗏뗐뗑뗒뗓뗔뗕뗖뗗
-98,"ᲯᲰᲱᲲ      ",⍵⍶⍷⍸⍹⍺⍻⍼⍽⍾⍿⎀⎁⎂⎃⎄⎅⎆⎇⎈⎉⎊⎋⎌⎍⎎⎏⎐⎑⎒⎓⎔⎕⎖⎗⎘⎙⎚⎛⎜⎝⎞⎟⎠⎡⎢⎣⎤⎥⎦⎧⎨⎩⎪⎫⎬⎭⎮⎯⎰⎱⎲⎳⎴⎵⎶⎷⎸⎹⎺⎻⎼⎽⎾⎿⏀⏁⏂⏃⏄⏅⏆⏇⏈⏉⏊⏋⏌⏍⏎⏏⏐⏑⏒
-99,"달         ",沗沘沙沚沛沜沝沞沟沠没沢沣沤沥沦沧沨沩沪沫沬沭沮沯沰沱沲河沴沵沶沷沸油沺治沼沽沾沿泀況泂泃泄泅泆泇泈泉泊泋泌泍泎泏泐泑泒泓泔法泖泗泘泙泚泛泜泝泞泟泠泡波泣泤泥泦泧
-100,"罸罹罺罻      ",셂셃셄셅셆셇셈셉셊셋셌셍셎셏셐셑셒셓셔셕셖셗션셙셚셛셜셝셞셟셠셡셢셣셤셥셦셧셨셩셪셫셬셭셮셯셰셱셲셳셴셵셶셷셸셹셺셻셼셽셾셿솀솁솂솃솄솅솆솇솈솉솊솋소속솎솏손솑솒솓솔솕솖솗솘솙솚솛솜솝솞솟솠
diff --git a/tests/test/enginedb_small/csv/ENGINETABLEBIGUNICODECHAR.csv b/tests/test/enginedb_small/csv/ENGINETABLEBIGUNICODECHAR.csv
deleted file mode 100644
index aa355edb6..000000000
--- a/tests/test/enginedb_small/csv/ENGINETABLEBIGUNICODECHAR.csv
+++ /dev/null
@@ -1,100 +0,0 @@
-1,"犮犯犰犱      "
-2,"닩닪닫달닭닮닯닰닱 "
-3,"ⰍⰎⰏⰐⰑ     "
-4,"ルレ        "
-5,"孟孠孡孢季孤孥   "
-6,"삹삺삻삼삽삾    "
-7,"가각갂갃      "
-8,"ᓷᓸᓹᓺᓻᓼᓽ   "
-9,"浦浧浨浩浪     "
-10,"苔         "
-11,"纗纘纙纚纛纜纝纞纟 "
-12,"䝇         "
-13,"烎烏        "
-14,"汒         "
-15,"豈更車       "
-16,"糋糌糍糎糏     "
-17,"隽难隿雀雁雂    "
-18,"豈更車賈滑串句龜  "
-19,"豈更車賈滑串句龜龜 "
-20,"鼵鼶鼷鼸鼹鼺鼻鼼  "
-21,"囷囸        "
-22,"䍠         "
-23,"麒麓麔麕麖麗麘麙  "
-24,"ֶַָֹֺֻ    "
-25,"耑耒耓耔耕耖耗耘耙 "
-26,"Ᵹ         "
-27,"뼆뼇        "
-28,"㗯㗰㗱㗲㗳㗴㗵㗶㗷 "
-29,"๴         "
-30,"堛堜堝堞堟堠堡堢堣 "
-31,"íîï       "
-32,"쬄쬅쬆쬇쬈쬉쬊쬋  "
-33,"巪巫        "
-34,"禈禉禊禋      "
-35,"旨早旪旫      "
-36,"豈更車賈滑串句龜  "
-37,"㚀㚁㚂㚃㚄     "
-38,"뤇뤈뤉뤊뤋     "
-39,"㶅         "
-40,"蝺蝻蝼蝽蝾蝿螀   "
-41,"悷悸悹悺悻悼悽   "
-42,"誮誯        "
-43,"컮컯컰컱컲컳컴컵  "
-44,"嵫嵬嵭嵮嵯嵰嵱嵲  "
-45,"칼칽칾칿캀캁캂캃캄 "
-46,"㴯㴰㴱㴲      "
-47,"가각갂갃간     "
-48,"鏿鐀鐁       "
-49,"偶偷偸偹偺偻偼   "
-50,"␥␦␧␨␩     "
-51,"豈更車賈滑串句   "
-52,"纔         "
-53,"何佖        "
-54,"ꜙꜚꜛꜜꜝꜞꜟ꜠꜡ "
-55,"矆矇矈矉矊     "
-56,"⹚         "
-57,"ﺈﺉﺊﺋﺌﺍﺎﺏﺐ "
-58,"뺛뺜뺝뺞      "
-59,"ᚲᚳᚴ       "
-60,"뽡뽢뽣뽤뽥뽦뽧뽨  "
-61,"磗磘磙磚磛磜    "
-62,"머먹먺먻먼먽먾먿  "
-63,"⾾⾿⿀       "
-64,"㲥㲦㲧㲨㲩㲪㲫㲬㲭 "
-65,"脙脚脛脜      "
-66,"뾷뾸뾹뾺뾻뾼    "
-67,"ལཤཥསཧཨཀྵ   "
-68,"嬴嬵        "
-69,"࿴࿵࿶࿷࿸࿹    "
-70,"롭롮롯       "
-71,"낤낥낦낧남납    "
-72,"둍둎둏두      "
-73,"胅胆胇胈      "
-74,"бвгдежзи  "
-75,"⸉⸊⸋⸌⸍     "
-76,"豈         "
-77,"豈更車賈滑串    "
-78,"悍悎悏悐悑     "
-79,"☹☺☻☼☽☾    "
-80,"鹬         "
-81,"╙╚╛       "
-82,"튟튠튡튢튣튤    "
-83,"훤훥        "
-84,"迎迏运近迒     "
-85,"봴봵봶봷봸     "
-86,"䘋䘌        "
-87,"똃똄        "
-88,"俎俏俐俑俒俓俔俕俖 "
-89,"璋璌璍璎璏璐璑璒  "
-90,"籡籢籣籤籥籦籧籨  "
-91,"턚턛턜턝턞턟턠턡  "
-92,"⇱         "
-93,"ﺬﺭﺮﺯﺰﺱ    "
-94,"쬗쬘쬙쬚쬛쬜쬝쬞  "
-95,"됚됛된됝됞됟될됡됢 "
-96,"낐낑낒낓낔     "
-97,"即         "
-98,"ᲯᲰᲱᲲ      "
-99,"달         "
-100,"罸罹罺罻      "
diff --git a/tests/test/enginedb_small/csv/ENGINETABLEBIGUNICODEVARCHAR.csv b/tests/test/enginedb_small/csv/ENGINETABLEBIGUNICODEVARCHAR.csv
deleted file mode 100644
index cfbc78004..000000000
--- a/tests/test/enginedb_small/csv/ENGINETABLEBIGUNICODEVARCHAR.csv
+++ /dev/null
@@ -1,100 +0,0 @@
-1,犮犯犰犱犲犳犴犵状犷犸犹犺犻犼犽犾犿狀狁狂狃狄狅狆狇狈狉狊狋狌狍狎狏狐狑狒狓狔狕狖狗
-2,훴훵훶훷훸훹훺훻훼훽훾훿휀휁휂휃휄휅휆휇휈휉휊휋휌휍휎휏휐휑휒휓휔휕휖휗휘휙휚휛휜휝휞휟휠휡휢휣휤휥휦휧휨휩휪휫휬휭휮휯휰휱휲휳휴휵휶휷휸휹휺휻휼휽휾휿흀흁흂흃흄흅흆흇흈흉흊흋흌
-3,ⰍⰎⰏⰐⰑⰒⰓⰔⰕⰖⰗⰘⰙⰚⰛⰜⰝⰞⰟⰠⰡⰢⰣⰤⰥⰦⰧⰨⰩⰪⰫⰬⰭⰮⰯⰰⰱ
-4,ルレロヮワヰヱヲンヴヵヶヷヸヹヺ・ーヽヾヿ㄀㄁㄂㄃㄄ㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙㄚㄛㄜㄝㄞㄟㄠㄡㄢㄣㄤㄥㄦㄧㄨㄩㄪㄫㄬㄭㄮㄯ㄰ㄱㄲㄳㄴㄵㄶㄷㄸㄹㄺㄻㄼㄽㄾㄿㅀㅁㅂㅃㅄㅅㅆㅇㅈㅉ
-5,豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱亂卵欄爛蘭鸞嵐濫藍襤拉臘蠟廊朗浪狼郎來冷勞擄櫓爐盧老蘆虜路露
-6,豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸
-7,ᰔᰕᰖᰗᰘᰙᰚᰛᰜᰝᰞᰟᰠᰡᰢᰣᰤᰥᰦᰧᰨᰩᰪᰫᰬᰭᰮᰯᰰᰱᰲᰳᰴᰵᰶ᰷᰸᰹᰺᰻᰼᰽᰾᰿᱀᱁᱂᱃᱄᱅᱆᱇᱈᱉᱊
-8,浦浧浨浩浪浫浬浭浮浯浰浱浲浳浴浵浶海浸浹浺浻浼浽浾浿涀涁涂涃涄涅涆涇消涉涊涋涌涍涎涏涐涑涒涓涔涕涖涗涘涙涚涛涜涝涞涟涠涡涢涣涤涥润涧涨涩涪涫涬涭涮涯涰涱液涳涴涵涶涷涸涹涺
-9,苔苕苖苗苘苙苚苛苜苝苞苟苠苡苢苣苤
-10,纗纘纙纚纛纜纝纞纟
-11,䝇䝈䝉䝊䝋䝌䝍䝎䝏䝐䝑䝒䝓䝔䝕䝖
-12,烎烏烐烑烒烓烔烕烖烗烘烙烚烛烜烝烞烟烠烡烢烣烤烥烦烧烨烩烪烫烬热烮烯烰烱烲烳烴烵烶烷烸烹烺烻烼烽烾烿焀焁焂焃焄焅焆焇焈焉焊焋焌焍焎焏焐焑焒焓焔焕焖焗焘焙焚焛焜焝焞焟
-13,郁郂郃郄郅郆郇郈郉郊郋郌郍郎郏郐郑郒郓郔郕郖郗郘郙郚郛郜郝郞郟郠郡郢郣郤郥郦郧部郩郪郫
-14,趽趾趿跀跁跂跃跄跅跆跇跈跉跊跋跌跍跎跏跐跑跒跓跔跕跖跗跘跙跚跛跜距跞跟跠跡跢跣跤跥跦跧跨跩
-15,ꝃꝄꝅꝆꝇꝈꝉꝊꝋꝌꝍꝎꝏꝐꝑꝒꝓꝔꝕꝖꝗꝘꝙꝚꝛꝜꝝꝞꝟꝠꝡꝢꝣꝤꝥꝦꝧꝨꝩꝪꝫꝬꝭꝮꝯꝰꝱꝲꝳꝴꝵꝶꝷꝸꝹꝺꝻꝼꝽꝾꝿꞀꞁꞂꞃꞄꞅꞆꞇꞈ꞉꞊ꞋꞌꞍ
-16,츽츾츿칀칁칂칃칄칅칆칇칈칉칊칋칌칍칎칏칐칑칒칓칔칕칖칗치칙칚칛친칝칞칟칠칡칢칣칤칥칦칧침칩칪칫칬칭칮칯칰칱칲칳카칵칶칷칸칹칺칻칼칽칾칿캀캁캂캃캄캅캆캇캈캉캊캋캌캍캎캏캐캑캒캓캔캕캖캗캘
-17,赯走赱赲赳赴赵赶起赸赹赺赻赼赽赾赿趀趁趂趃趄超趆趇趈趉越趋趌趍趎趏趐趑趒趓趔趕趖趗趘趙趚趛趜趝趞趟趠趡趢趣趤趥趦趧趨趩趪趫趬趭趮趯趰趱趲足趴趵趶趷趸趹
-18,罥罦罧罨罩罪罫罬罭置罯罰罱署罳罴罵罶罷罸罹罺罻罼罽罾罿羀羁羂羃羄羅羆羇羈羉羊羋羌羍美羏羐羑羒羓羔羕羖羗羘羙羚羛羜羝羞羟羠羡
-19,๖๗๘๙๚๛๜๝๞๟๠๡๢๣๤๥๦๧๨๩๪๫๬๭๮๯๰๱๲๳๴๵๶๷๸๹๺๻๼๽๾๿຀ກຂ຃ຄ຅
-20,㾈㾉㾊㾋㾌㾍㾎㾏㾐㾑㾒㾓㾔㾕㾖㾗㾘㾙㾚㾛㾜㾝㾞㾟㾠㾡㾢㾣㾤㾥㾦㾧㾨㾩㾪㾫㾬㾭㾮㾯㾰㾱㾲㾳㾴㾵㾶㾷㾸㾹㾺㾻㾼㾽㾾㾿㿀㿁㿂㿃㿄㿅㿆㿇㿈㿉㿊㿋㿌㿍㿎㿏㿐㿑㿒㿓㿔㿕㿖㿗㿘㿙㿚㿛㿜㿝㿞㿟㿠㿡㿢㿣㿤㿥㿦
-21,窙窚窛窜窝窞窟窠窡窢窣窤窥窦窧窨窩窪窫窬窭窮窯窰窱窲窳窴窵窶窷窸窹窺窻窼窽窾窿竀竁竂竃竄竅竆竇竈竉竊立竌竍
-22,쌮쌯쌰쌱쌲쌳쌴쌵쌶쌷쌸쌹쌺쌻쌼쌽쌾쌿썀썁썂썃썄썅
-23,囷囸囹固囻囼国图囿圀圁圂圃圄圅圆圇圈圉圊國圌圍圎圏圐
-24,桢档桤桥桦桧桨桩桪桫桬桭桮桯桰桱桲桳桴桵桶桷桸桹桺桻桼桽桾桿梀梁梂梃梄梅梆梇梈梉梊梋梌梍梎梏梐梑梒梓梔梕梖梗梘梙梚梛梜條梞梟梠梡梢梣梤梥梦梧梨梩梪梫梬梭梮梯械梱梲梳梴梵梶梷梸梹梺梻梼梽梾梿检棁
-25,ꋰꋱꋲꋳꋴꋵꋶꋷꋸꋹꋺꋻꋼꋽꋾꋿꌀꌁ
-26,윘윙윚윛윜윝윞윟유육윢윣윤윥윦윧율윩윪윫윬윭윮윯윰윱윲윳윴융윶윷윸윹윺윻으윽윾윿은읁읂읃을읅읆읇읈읉읊읋음읍
-27,ζηθικλμνξοπρςστυφ
-28,승슺슻슼슽슾슿싀싁싂싃싄싅싆싇싈싉싊싋싌싍싎싏싐싑싒싓싔싕싖싗싘싙싚싛시식싞싟신싡싢싣실싥싦싧싨
-29,뼆뼇뼈뼉뼊뼋뼌뼍뼎뼏뼐뼑뼒뼓뼔뼕뼖뼗뼘뼙뼚뼛뼜뼝뼞뼟뼠뼡뼢뼣뼤뼥뼦뼧뼨뼩뼪뼫뼬뼭뼮뼯뼰뼱뼲뼳뼴뼵뼶뼷뼸뼹뼺뼻뼼뼽뼾뼿뽀뽁뽂뽃뽄뽅뽆뽇뽈뽉뽊뽋뽌뽍뽎뽏뽐뽑뽒뽓뽔뽕뽖뽗뽘뽙뽚뽛뽜뽝뽞뽟뽠뽡뽢뽣뽤뽥뽦뽧
-30,㗯㗰㗱㗲㗳㗴㗵㗶㗷㗸㗹㗺㗻㗼㗽㗾㗿㘀㘁㘂㘃㘄㘅㘆㘇
-31,๴
-32,堛堜堝
-33,쬄쬅쬆쬇쬈쬉쬊쬋쬌쬍쬎쬏쬐쬑쬒쬓쬔쬕쬖쬗쬘쬙쬚쬛쬜쬝쬞쬟쬠쬡쬢쬣쬤쬥쬦쬧쬨쬩쬪쬫쬬쬭쬮쬯쬰쬱쬲쬳쬴쬵쬶쬷쬸쬹쬺쬻쬼쬽쬾쬿쭀쭁쭂쭃쭄쭅쭆쭇쭈쭉쭊쭋쭌쭍쭎쭏쭐쭑쭒쭓쭔쭕쭖쭗쭘쭙쭚쭛쭜쭝쭞
-34,႞႟ႠႡႢႣႤႥႦႧႨႩႪႫႬႭႮႯႰႱႲႳႴႵႶႷႸႹႺႻႼႽႾႿჀჁჂჃჄჅ჆Ⴧ჈჉჊჋
-35,ऀँंःऄअआइईउऊऋऌऍऎएऐऑऒओऔकखगघङचछजझञटठडढणतथदधनऩपफबभमयरऱलळऴवशषसहऺऻ़ऽािीुूृॄॅॆेैॉॊोौ्ॎॏॐ॒॑॓॔ॕॖॗक़ख़ग़ज़ड़ढ़फ़य़ॠॡ
-36,禈禉禊禋禌禍禎福禐禑禒禓禔禕禖禗禘禙禚禛禜禝禞禟禠禡禢禣禤禥禦禧禨禩禪禫禬禭禮禯禰禱禲禳禴禵禶禷禸禹禺离
-37,旨早旪旫旬旭旮旯旰旱旲旳旴旵时旷旸旹旺旻旼旽旾旿昀昁昂昃昄昅昆昇昈昉昊昋昌昍明昏昐昑昒易昔昕昖昗昘昙昚昛昜昝昞星映昡昢昣昤春昦昧昨昩昪昫
-38,豈更車賈滑串句龜
-39,㚀㚁㚂㚃㚄㚅㚆㚇㚈㚉㚊㚋㚌㚍㚎㚏㚐㚑㚒㚓㚔㚕㚖㚗㚘㚙㚚㚛㚜㚝㚞㚟㚠㚡㚢㚣㚤㚥㚦㚧㚨㚩㚪㚫㚬㚭㚮㚯㚰㚱㚲㚳㚴㚵㚶㚷㚸㚹㚺
-40,ꙵꙶꙷꙸꙹꙺꙻ
-41,潿澀澁澂澃澄澅澆澇澈澉澊澋澌澍澎澏澐澑澒澓澔澕澖澗澘澙澚澛澜澝澞澟澠澡澢澣澤澥澦澧澨澩澪澫澬澭澮澯澰澱澲澳澴澵澶澷澸澹澺澻澼澽澾澿激濁濂濃濄濅濆濇濈濉濊
-42,ᰀᰁᰂᰃᰄ
-43,豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱亂卵欄爛蘭鸞嵐濫藍襤拉臘蠟廊朗浪狼郎來冷勞擄櫓爐盧老蘆虜路露魯鷺碌祿綠菉錄
-44,蝺蝻蝼蝽蝾蝿螀螁螂螃螄螅螆螇螈螉螊螋螌融螎螏螐螑螒螓螔螕螖螗螘螙螚螛螜螝螞螟螠螡螢螣螤螥螦螧螨螩螪螫螬螭螮螯螰
-45,悷悸悹悺悻悼悽悾悿惀惁惂惃惄情惆惇惈惉惊惋惌惍惎惏惐惑惒惓惔惕惖惗惘惙惚惛惜惝惞惟惠惡惢惣惤惥惦惧惨惩惪惫惬惭
-46,誮誯誰誱課誳誴誵誶誷誸誹誺誻誼誽誾調諀諁諂諃諄諅諆談諈諉諊請諌諍諎諏諐諑諒諓諔諕論諗諘諙諚諛諜諝諞諟諠諡諢諣諤諥
-47,嵫嵬嵭嵮嵯嵰嵱嵲嵳嵴嵵嵶嵷嵸嵹嵺嵻嵼嵽嵾嵿嶀嶁嶂嶃嶄嶅嶆嶇嶈嶉嶊嶋嶌嶍嶎嶏嶐嶑嶒嶓嶔嶕嶖嶗嶘嶙嶚嶛嶜嶝嶞嶟嶠嶡嶢嶣嶤嶥嶦嶧嶨嶩嶪嶫嶬嶭嶮嶯嶰嶱嶲嶳嶴嶵嶶嶷嶸嶹嶺嶻嶼嶽嶾嶿巀巁巂巃巄巅巆
-48,뼨뼩뼪뼫뼬뼭뼮뼯뼰뼱뼲뼳뼴뼵뼶뼷뼸뼹뼺뼻뼼뼽뼾뼿뽀뽁뽂뽃뽄뽅뽆뽇뽈뽉뽊뽋뽌뽍뽎뽏뽐뽑뽒뽓뽔뽕뽖
-49,氍氎氏氐民氒氓气氕氖気氘氙氚氛氜氝氞氟氠氡氢氣氤氥氦氧氨氩氪氫氬氭氮氯氰
-50,가각갂갃간
-51,鏿鐀鐁鐂鐃鐄鐅鐆鐇鐈鐉鐊鐋鐌鐍鐎鐏鐐鐑鐒鐓鐔鐕鐖鐗鐘鐙鐚鐛鐜鐝鐞鐟鐠鐡鐢鐣鐤鐥鐦鐧鐨鐩鐪鐫鐬鐭鐮鐯鐰鐱鐲鐳鐴鐵鐶鐷鐸鐹鐺鐻鐼鐽鐾鐿鑀鑁鑂鑃鑄鑅鑆鑇鑈鑉鑊鑋鑌鑍鑎鑏鑐鑑鑒鑓鑔鑕鑖鑗鑘鑙鑚鑛鑜鑝鑞鑟鑠鑡
-52,偶偷偸偹偺偻偼偽偾偿傀傁傂傃傄傅傆傇傈傉傊傋傌傍傎傏傐傑傒傓傔傕傖傗傘備傚傛傜傝傞傟傠傡傢傣傤傥傦傧储傩傪傫催傭傮傯傰傱傲傳傴債傶傷傸傹傺傻傼傽傾傿僀僁僂僃僄僅僆僇僈僉僊僋僌働僎像僐僑
-53,豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱亂卵欄爛蘭鸞嵐濫藍襤
-54,믏믐믑믒믓믔믕믖믗믘믙믚믛믜믝믞믟믠믡믢믣믤믥믦믧믨믩믪믫믬믭믮믯
-55,豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸邏
-56,豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱亂卵欄爛蘭鸞嵐濫藍襤拉臘蠟廊朗浪狼郎來冷勞擄櫓爐盧老蘆虜路露魯鷺碌祿綠菉錄鹿論壟弄籠聾牢磊賂雷壘屢樓淚漏累縷陋勒肋凜
-57,가각갂갃간갅갆갇갈갉갊갋갌갍갎갏감갑값갓갔강갖갗갘
-58,豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱亂卵欄爛蘭鸞嵐濫藍襤拉臘蠟廊朗浪狼郎來冷勞擄櫓爐盧老蘆虜路露
-59,矆矇矈矉矊矋矌矍矎矏矐矑矒矓矔矕矖矗矘矙矚矛矜矝矞矟矠矡矢矣矤知矦矧矨矩矪矫矬短矮矯矰矱矲石矴矵矶矷矸矹矺矻矼矽矾矿砀码砂砃砄砅砆砇砈砉砊
-60,⹚⹛⹜⹝⹞⹟⹠⹡⹢⹣⹤⹥⹦⹧⹨⹩⹪⹫⹬⹭⹮⹯⹰⹱⹲⹳⹴⹵⹶⹷⹸⹹⹺⹻⹼⹽⹾⹿⺀⺁⺂⺃⺄⺅⺆⺇⺈⺉⺊
-61,ﺈﺉﺊﺋﺌﺍﺎﺏﺐﺑﺒﺓﺔﺕﺖﺗﺘﺙﺚﺛﺜﺝﺞﺟﺠﺡﺢﺣﺤﺥﺦﺧﺨﺩﺪﺫﺬﺭﺮﺯﺰﺱﺲﺳﺴﺵﺶﺷﺸﺹﺺﺻﺼﺽﺾﺿﻀﻁﻂﻃﻄﻅﻆﻇﻈﻉﻊﻋﻌﻍﻎﻏﻐﻑ
-62,ꌺꌻꌼꌽꌾꌿꍀꍁꍂꍃꍄꍅꍆꍇꍈꍉꍊꍋꍌꍍꍎꍏꍐꍑꍒꍓꍔꍕꍖꍗꍘꍙꍚꍛꍜꍝꍞꍟꍠꍡꍢꍣꍤꍥꍦꍧꍨꍩꍪꍫꍬꍭꍮꍯꍰꍱꍲꍳꍴꍵꍶꍷꍸꍹꍺꍻꍼꍽꍾꍿꎀꎁꎂꎃꎄꎅ
-63,憹憺憻憼憽憾憿懀懁懂懃懄懅懆懇懈應懊懋懌懍懎懏懐懑懒懓
-64,꠼꠽꠾꠿
-65,ᚲᚳᚴᚵᚶᚷᚸᚹᚺᚻᚼᚽᚾᚿᛀᛁᛂᛃᛄᛅᛆᛇᛈᛉᛊᛋᛌᛍᛎᛏᛐᛑᛒᛓᛔᛕᛖᛗᛘᛙᛚᛛᛜᛝᛞᛟᛠᛡᛢᛣᛤᛥᛦᛧᛨᛩᛪ᛫᛬᛭ᛮᛯᛰᛱᛲᛳᛴᛵᛶᛷᛸ᛹᛺᛻᛼᛽᛾᛿ᜀᜁᜂᜃᜄᜅᜆᜇᜈᜉᜊᜋᜌᜍᜎᜏᜐᜑᜒᜓ᜔
-66,뽡뽢뽣뽤뽥뽦뽧뽨뽩뽪뽫뽬뽭뽮뽯뽰뽱뽲뽳뽴뽵뽶뽷뽸뽹뽺뽻뽼뽽뽾뽿뾀뾁뾂뾃뾄뾅뾆뾇뾈뾉뾊뾋뾌뾍뾎뾏뾐뾑뾒뾓뾔뾕뾖뾗뾘
-67,磗磘磙磚磛磜磝磞磟磠磡磢磣磤磥磦磧磨磩磪磫磬磭磮磯磰磱磲磳磴磵磶磷磸磹磺磻磼磽磾磿礀礁礂礃礄礅礆礇礈礉礊礋礌
-68,머먹먺먻먼먽먾먿멀멁멂멃멄멅멆멇멈멉멊멋멌멍멎멏멐멑멒멓메멕멖멗멘멙멚멛멜멝멞멟멠멡멢멣멤멥멦멧멨멩멪멫멬멭멮멯며멱멲멳면멵멶멷멸멹멺멻멼멽멾멿몀몁
-69,ꏘꏙꏚꏛꏜꏝꏞꏟꏠꏡꏢꏣꏤꏥꏦꏧꏨꏩꏪꏫꏬꏭꏮꏯꏰꏱꏲꏳꏴꏵꏶꏷꏸꏹꏺꏻꏼꏽꏾꏿꐀꐁꐂꐃꐄꐅꐆꐇꐈꐉꐊꐋꐌꐍꐎꐏꐐꐑꐒꐓꐔꐕ
-70,캮캯캰캱캲캳캴캵캶캷캸캹캺캻캼캽캾캿컀컁컂컃컄컅컆컇컈컉컊컋컌컍컎컏컐컑컒컓컔컕컖컗컘컙컚컛컜컝컞컟컠컡컢컣커컥컦컧컨컩컪컫컬컭컮컯컰컱컲컳컴컵컶컷컸컹컺컻컼컽컾컿케켁켂켃켄켅켆켇켈켉켊켋켌
-71,뎍뎎뎏뎐뎑뎒뎓뎔뎕뎖뎗뎘뎙뎚뎛뎜뎝뎞뎟뎠뎡뎢뎣뎤뎥뎦뎧뎨뎩뎪뎫뎬뎭뎮뎯뎰뎱뎲뎳뎴뎵뎶뎷뎸뎹뎺뎻
-72,豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱亂卵欄爛蘭鸞嵐濫
-73,㲥㲦㲧㲨㲩㲪㲫㲬㲭㲮㲯㲰㲱㲲㲳㲴㲵㲶㲷㲸㲹㲺㲻㲼㲽㲾㲿㳀㳁㳂㳃㳄㳅㳆㳇㳈㳉㳊㳋㳌㳍㳎
-74,댙댚댛댜댝댞댟댠댡댢댣댤댥댦댧댨댩댪댫댬댭댮댯댰댱
-75,ꜞꜟ꜠꜡ꜢꜣꜤꜥꜦꜧꜨꜩꜪꜫꜬꜭꜮꜯꜰꜱꜲꜳꜴꜵꜶꜷꜸꜹꜺꜻꜼꜽꜾꜿꝀꝁꝂꝃꝄꝅꝆꝇꝈꝉꝊꝋꝌꝍꝎꝏꝐꝑꝒꝓꝔ
-76,빆빇빈빉빊빋빌빍빎빏빐빑빒빓빔빕빖빗빘빙빚빛빜빝빞빟빠빡빢빣빤빥빦빧빨빩빪빫빬빭빮빯빰빱빲빳빴빵빶빷빸빹빺빻빼빽빾빿뺀뺁뺂뺃뺄뺅뺆뺇뺈뺉뺊뺋뺌뺍뺎뺏뺐뺑뺒뺓뺔뺕뺖뺗뺘뺙뺚뺛뺜뺝뺞뺟뺠뺡뺢뺣뺤뺥뺦뺧뺨
-77,⹼⹽⹾⹿⺀⺁⺂⺃⺄⺅⺆⺇⺈⺉⺊⺋⺌⺍⺎⺏⺐⺑⺒
-78,嬴嬵嬶嬷嬸嬹嬺嬻嬼嬽嬾嬿孀孁孂孃孄孅孆孇孈孉孊孋孌孍孎孏子孑孒孓孔孕孖字存孙孚孛孜孝孞孟孠孡孢季孤孥学孧孨孩孪孫孬孭孮
-79,흢흣흤흥흦흧흨흩흪흫희흭흮흯흰흱흲흳흴흵흶흷흸흹흺흻흼흽흾흿힀힁힂힃힄힅
-80,緦緧編緩緪緫緬緭緮緯緰緱緲緳練緵緶緷緸緹緺緻緼緽緾緿縀縁縂縃縄縅縆縇縈縉縊縋縌縍縎縏縐縑縒縓縔縕縖縗縘縙縚縛縜縝縞縟縠縡縢縣縤縥縦縧縨縩縪縫縬縭縮縯縰縱縲
-81,嬪嬫嬬嬭嬮嬯嬰嬱嬲嬳嬴嬵嬶嬷嬸嬹嬺嬻嬼嬽嬾嬿孀孁孂孃孄孅孆孇孈孉孊孋孌孍孎孏子孑孒孓孔孕孖字存孙孚孛孜孝孞孟孠孡孢季孤孥学
-82,가각갂갃간갅갆갇갈갉갊갋갌갍갎갏감갑값갓갔강갖갗갘같갚갛개객갞갟갠갡갢갣갤갥갦갧갨갩갪갫갬갭갮갯갰갱갲갳갴갵갶갷갸갹갺갻갼갽
-83,ິີຶື຺ຸູົຼຽ຾຿ເແໂໃໄ໅ໆ໇່້໊໋໌ໍ໎໏໐໑໒໓໔໕໖໗໘໙໚໛ໜໝໞໟ໠໡໢໣໤໥໦໧໨໩໪໫໬໭໮໯໰໱໲໳໴໵໶໷໸
-84,⻄⻅⻆⻇⻈⻉⻊⻋⻌⻍⻎⻏⻐⻑⻒⻓⻔⻕⻖⻗⻘⻙⻚⻛⻜⻝⻞⻟⻠⻡⻢⻣⻤⻥⻦⻧⻨⻩⻪⻫⻬⻭⻮⻯⻰⻱⻲⻳⻴
-85,쿸쿹쿺쿻쿼쿽쿾쿿퀀
-86,絜絝絞絟絠
-87,豈
-88,豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱亂卵欄爛蘭鸞嵐濫藍襤拉臘蠟廊朗浪狼郎來冷勞擄櫓爐盧老蘆虜路露魯鷺碌祿綠菉錄鹿論壟弄籠聾
-89,悍悎悏悐悑悒悓悔悕悖悗悘悙悚悛悜悝悞悟悠悡悢患悤悥悦悧您悩悪悫悬悭悮悯悰悱悲悳悴悵悶悷悸悹悺悻悼悽悾悿惀惁惂惃惄情惆惇惈惉惊惋惌惍惎惏惐惑
-90,☹☺☻☼☽☾☿♀♁♂♃♄♅♆♇♈♉♊♋♌♍♎♏♐♑♒♓♔♕♖♗♘♙♚♛♜♝♞♟♠♡♢♣♤♥♦♧♨♩♪♫♬♭♮♯♰♱♲♳♴♵♶♷♸
-91,╙╚╛╜╝╞╟╠╡╢╣╤╥╦╧╨╩╪╫╬╭╮╯╰╱╲╳╴╵╶╷╸╹╺╻╼╽╾╿▀▁▂▃▄▅▆▇█▉▊▋▌▍▎▏▐░▒▓▔▕▖▗▘▙▚▛
-92,튟튠튡튢튣튤튥튦튧튨튩튪튫튬튭튮튯튰튱튲튳튴튵튶튷트특튺튻튼튽튾튿틀틁틂틃틄틅틆틇틈틉틊틋틌틍틎틏틐틑틒틓틔틕틖틗틘틙틚틛틜틝틞틟틠틡틢틣틤틥틦틧틨틩틪틫틬틭틮틯티틱틲틳틴틵틶틷틸틹틺
-93,豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱亂卵欄爛蘭鸞嵐濫藍襤拉臘蠟廊朗浪狼郎來冷勞擄櫓爐盧老蘆虜路露魯鷺碌祿綠菉錄鹿論壟弄籠聾牢磊賂雷壘屢樓淚漏累縷陋勒肋凜凌稜綾菱陵讀
-94,豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱亂卵欄爛蘭鸞嵐濫藍襤拉臘蠟廊朗浪狼郎來冷勞擄櫓爐盧老蘆虜路露魯鷺碌祿綠菉錄鹿論壟弄籠聾牢磊賂雷壘屢樓淚
-95,蘅蘆蘇蘈蘉蘊蘋蘌蘍蘎蘏蘐蘑蘒蘓蘔蘕蘖蘗蘘蘙蘚蘛蘜蘝蘞蘟蘠蘡蘢蘣蘤蘥蘦蘧蘨蘩蘪蘫蘬蘭蘮蘯蘰蘱蘲蘳蘴蘵蘶蘷蘸
-96,杕杖杗杘杙杚杛杜杝杞束
-97,稂稃稄
-98,狍狎狏狐狑狒狓狔狕狖狗狘狙狚狛狜狝狞狟狠狡狢狣狤狥狦狧狨狩狪狫独狭狮狯狰狱狲狳狴狵狶狷狸狹狺狻狼狽狾狿猀猁猂猃猄猅猆猇猈猉猊猋猌猍猎猏猐猑猒猓猔猕猖猗猘猙猚
-99,騉騊騋騌騍騎騏騐騑騒験
-100,懨懩懪懫懬懭懮懯懰懱懲懳懴懵懶懷懸懹懺懻懼懽懾懿戀戁戂戃戄戅戆戇戈戉戊戋戌戍戎戏成我戒戓戔戕或戗战戙戚戛戜戝戞戟戠戡戢戣戤戥戦戧戨戩截戫戬戭戮戯戰戱戲戳戴戵戶户戸戹戺戻戼戽戾房所扁扂扃扄扅扆扇扈
diff --git a/tests/test/enginedb_small/csv/ENGINETABLEJOIN1.csv b/tests/test/enginedb_small/csv/ENGINETABLEJOIN1.csv
deleted file mode 100644
index fca09aa51..000000000
--- a/tests/test/enginedb_small/csv/ENGINETABLEJOIN1.csv
+++ /dev/null
@@ -1,100 +0,0 @@
-1,2.815,3061.64,-30247,84881364,-845.15387,R,"TEST                          ",1354910569113,XhdKZJ96Ceucrc:,1919-06-22
-2,123.456,,10455,63120625,-0.684739312,u,"TEST                          ",ABCDE,O,1970-12-15
-3,-19306.784,-1453.65,7452,9,0.82665099,h,"HkPxtt27ZC,Gtr5wME58NAP       ",38759886726034691,kUxeO2M;V_,1978-10-03
-4,-0.01,123.45,11442,2042639593,0.058783504,8,"JT7XFbhHMU7KC2sZjKBRxCNDR     ",gwKT3.VokjACB,XScnvGFe;qo,1926-07-23
-5,98845.006,-5270.32,-766,-995157464,0.887707719,Z,"TEST                          ",ABCDE,3UV,1949-03-12
-6,,1,-19736,-85553525,1,V,"h3                            ",TEST,ABCDE,1995-01-08
-7,-54710.283,-8874.02,,-2014716525,-5.4185594e34,y,"TEST                          ",TEST,TEST,1926-08-13
-8,-4.941,3.77,11442,7,,n,"2s2,by                        ",ABCDE,TEST,1993-06-15
-9,84603.771,7374.93,-28638,-1906222426,-5.2103855e-24,C,"wI7gSP_H79                    ",xRB;FjGDfLB,iJqhcL3JT8r9,1943-04-11
-10,-87141.016,-4123.15,9,-1945117554,123.456,3,"nsn9RvAUHmrY.:mhWJldy         ",,EVIX.Tmrq.fQ,1972-06-22
-11,1.708,123.45,-29347,-992756396,-7.7993219e-22,.,"820837                        ",QgSPnIn7zSrw:wfMxTOuq7,v1X1bxoaQ;Hl:wzSI,1986-08-23
-12,59903.684,123.45,29436,876343593,-4.2102909e-33,L,"TEST                          ",ABCDE,;0k4YRaL:R1gYMPT9QxDPci3Ix9,1942-09-21
-13,-7.105,8.56,-21568,5083475,-0.559306558,q,"TEST                          ",TEST,m004,1969-08-16
-14,,-2487.49,9,-1957318416,9.3038547e-38,Z,"ABCDE                         ",TEST,"qx2qXydKL1rS;xlHS:FghzIH,Zq",1999-05-08
-15,123.456,,7662,1144521524,,A,".wmjfNUqp_1b3                 ",ABCDE,Zd8jzLCXsd74R54eQcD,1936-06-18
-16,27692.915,-3.07,-747,886943596,-0.9460377,x,"TEST                          ",TEST,Xp;sls,1993-04-25
-17,,-8245.06,-21765,2022561562,-34635.684,u,"TEST                          ",ABCDE,ALA0B6GIDHs:8fBQkMS,1956-08-04
-18,-69430.444,5696.31,-1264,863853352,,f,"TEST                          ",TEST,sJ68,1972-02-13
-19,-69347.663,-1683.35,17563,-1907319577,-5.5766856e-26,L,"8aJ;Gif                       ",TEST,TEST,1933-04-21
-20,-7952.717,894.05,-9337,-73320648,-67298.696,e,"TEST                          ",TEST,TEST,1962-12-25
-21,-3.104,123.45,32656,-907458418,1.1288751e-25,o,"EKn3                          ",olGudHTkozhEEl,"gD5rLri7F7hD9Au2aV4e,YA:hmN",1960-02-17
-22,58780.558,-3347.66,12446,,-3.3546241e32,G,"TEST                          ",R,,1988-03-20
-23,-6.133,-0.69,-2,915168602,0.288468122,K,"13548261                      ","CRtC4JO7IA,",3:VfkUAQ,1998-12-08
-24,-1.56,2412.61,32336,65223492,-9.63567e-39,k,"ABCDE                         ",F2iX:,"5ALz0G4fllKr2,Zs,DKq4bJY5pNd",1984-02-25
-25,84904.674,123.45,-247,1945736594,702812.91,4,"C7TFugr                       ",TEST,,1932-11-10
-26,38760.396,123.45,17763,,-3.730508e19,o,"ABCDE                         ","G,;oqXcRaA_Ab8,CtS",ABCDE,1980-12-02
-27,-69502.993,,-2,-65028614,0.971925156,O,"qcxGP5Kg4QKGOtO               ",ABCDE,TEST,1919-01-28
-28,-10522.295,5654.01,-7557,-1955757494,-4.3615421e20,U,":wgPQYf:ZM.USq0_6cHdUX_d9rua  ",ABCDE,TEST,1972-11-16
-29,18507.752,-9719.39,,-1886477414,-1.1848779e-31,9,"TEST                          ",ABCDE,5143201650275253172438,1984-10-25
-30,-98060.288,-2113.47,19544,2144523614,-0.00074136423,n,"209663                        ",ABCDE,TEST,1943-12-15
-31,8.451,2982.65,19662,24960593,-3.2473076e-27,8,"Cwv,Vsk7gEOm                  ",TEST,"_g:NPUyqJ:6iGrE,xtOUOZ",1993-05-14
-32,-1326.926,-3582.97,17453,1963469602,1,V,"yL6pGidpR6rZ,                 ",ABCDE,I69Iv;Ujo,1926-04-10
-33,96415.492,-5.31,-20246,2113917442,8.5401825e-37,P,"ABCDE                         ",I,ABCDE,1933-01-05
-34,-55367.434,1,-18746,-1926030605,123.456,J,"0394356823040761559406991258  ",ABCDE,TEST,1943-11-20
-35,-56534.617,-6423.63,11462,1997256644,45.069837,,"ABCDE                         ","Xrd.b972CYZcNzREzlNw_Tcr4,QrF",,1928-12-01
-36,123.456,1046.03,8466,-1,-0.016374114,6,"DW4V3RVCxs                    ",ABCDE,ABCDE,1939-04-08
-37,4.492,-2.46,-19744,-1953282417,-0.201752908,v,"ABCDE                         ",Sbv8UBnxi,TEST,1948-05-17
-38,42037.403,570.43,3,892872524,-3.6743366e19,,"ABCDE                         ",",0t4ngwOSO",TEST,1942-04-21
-39,123.456,-7655.19,-10464,-973069617,-4.9339616e17,v,"ABCDE                         ",TEST,12317163,1947-03-16
-40,49683.735,2537.51,-2358,2043819595,3.5691038e15,.,"0                             ",ABCDE,Y6iIa..Fi075DNDP,1961-12-26
-41,77017.586,-6879.62,-21444,122619412,47306134,C,"ABCDE                         ",8174458866587985,ABCDE,1917-01-10
-42,-82989.634,8.97,19643,,-3.1337905e-34,P,"ABCDE                         ",2112588262208771154704,749529305730,1945-11-18
-43,93316.346,-2.65,8364,-1046827386,-0.805891281,r,"ABCDE                         ",,ABCDE,1938-07-26
-44,88741.163,2.69,-10365,1893577523,9.913549e-23,m,"Jw2tX                         ",zBDzrGLdY2.Z,MmWqECCb19dIhgJOKS1r160H7:6eH,1948-08-14
-45,-44456.056,123.45,27652,6,-0.483693751,x,"2487506836                    ",I;ojI5;P,3,1925-03-02
-46,1,6290.04,-8336,-74420604,-1.0576941e31,,"sr61A0                        ",549331410098274922210591638,ABCDE,2001-07-28
-47,-74804.837,7758.78,,-8,7.619576e24,h,"TEST                          ",TEST,TEST,1939-01-25
-48,-51019.218,-4.43,-27247,15032395,-0.133760797,3,"EmHp3:TftS2xeOYLNxSMv.LDZq.pm ",TEST,gNOQ,1990-04-18
-49,-63274.836,-174.57,-31367,1036146403,5.9962305e-26,M,"TEST                          ",TEST,,1942-04-22
-50,92347.602,-4739.43,346,1052948563,1.034604e25,2,"TEST                          ",,7I,1996-10-07
-51,94324.976,-2855.97,-248,934952402,-1.0046252e22,o,"01846                         ",TEST,8J4,1972-10-12
-52,2.413,-7600.69,7,-1984957358,8.0771105e21,m,"TEST                          ",U8PTHF,_,1930-05-06
-53,-44156.799,9496.72,-2,-895683366,6.9508844e-9,Q,"al9dwAT:u3ZU,p                ",TEST,TEST,2002-08-04
-54,6.895,6.63,762,-855666645,0.43375863,4,"Ju8YB:kGwXJo6jDCrq,iCFtVvkV_  ",4,D8Q0DPoJklxtOELmXp.d,1939-10-03
-55,,123.45,4,985552435,1.0482721e-36,O,"268242228971622083            ",Me,z7HF2zcFHGbDPoJkXLPDlpR,1949-07-13
-56,-31946.126,,5,-1045850644,123.456,V,"Vr.,ps                        ",jQExEyl,gQmGrcVWjEE,1978-01-05
-57,0.001,6553.75,4,-1862881475,-0.659612507,8,"KI38bq7bQ85F                  ",TEST,4835960569410490,1982-11-16
-58,93346.028,,-1,-1876532636,0.526857674,R,"ABCDE                         ","J67XEdn7mhrL,0m.sL90W4heJW9fH",TEST,1943-12-20
-59,-2.52,8971.95,7,2134141585,2682.0284,w,"TEST                          ",ABCDE,ABCDE,1958-11-02
-60,91240.244,123.45,-8468,2084223593,4942.8639,r,"U0q;SBxT5eTeGbfjRDd82:Yh;_ibF ",TEST,",As7GFLgYO;L_bbe7Yax:",1922-07-18
-61,,-5739.72,-2,1,-2.3177194e-22,Z,"TEST                          ",TEST,TEST,1914-06-28
-62,123.456,123.45,7333,7,-9.6325292e35,2,"uuZo.gtN_RE:hhVCkry;LoX       ",LfYRQ1D7rC6uHH:bf0RdA2DX,ABCDE,1952-04-20
-63,-25317.609,0.58,21443,1854138544,-5.9991453e-9,I,"YUKp3woS3xPh7LiXH0x7O.,Vrl:d  ",WCzgF,394,2004-11-16
-64,77918.454,-655.29,18763,94777366,8.6920981e18,E,"sKi4Gqe;d65                   ",TEST,TEST,1980-06-02
-65,123.456,2.2,5,-126221494,0.81731445,,"ABCDE                         ",p6fjrC.qpygJn8mL,y,
-66,-6454.913,1577.47,31245,-3177476,-10395368000000,I,"5rLbX7aY_QdGZe                ",ABCDE,AmC9uuK,1988-08-08
-67,82336.572,-8253.72,-1,-5,3.3262175e-35,D,"ABCDE                         ",TEST,x2MWUDqp1g7KD1r2GkXAtM2WNKD3,1978-10-05
-68,-61702.087,4137.92,29246,-2,-0.0037791135,a,"M85AN2TQKGlcv6WHfHpb1n        ",ABCDE,lluw0QLpvfUFqh2LW0G4XR,1993-06-15
-69,1155.743,9.31,-18736,-2146621498,,,"vE.l                          ",meJYhcL44ROBXtD,39866376,1996-09-09
-70,83558.855,-6049.14,-1638,,1,N,"qk1AdhQYFq;_ia                ","YLKY.Hrb98uBVrl,Yt;",FDhXM,1976-01-08
-71,22190.056,-4121.15,12562,1036741495,1,n,"ABCDE                         ",TEST,ABCDE,1990-12-05
-72,8.164,-3748.26,12353,-5129358,-0.867365547,9,"44077102895261012441          ",,emdpZdfVUWwM3T,1937-10-28
-73,,123.45,-5,933266413,4685492300,O,"yZJ97HTCZwbSRZBuyS            ",TEST,:vg5Q:FMgUO6oOhEKm3ra.Go4hoL,2000-01-06
-74,-79912.732,-9403.96,-30566,107447363,-0.548060562,y,"7921551941847386              ",ABCDE,TEST,1969-07-16
-75,123.456,3642.05,-4,-1144073458,0.799134726,9,"TEST                          ",TzsF5gMsiC7U1,"gwOTOvVZS9xPCvsdWizIH,R:2hWvhV",1929-02-08
-76,0.219,3066.48,-2745,1046837616,-6.6933432e-20,a,"TEST                          ",MEmmr,EjcD3rVaj:C9UynKv0U6o0njhyJK5,1988-03-08
-77,-0.01,-4200.68,-9455,-144678425,1,K,"ABCDE                         ",ABCDE,TEST,1935-01-19
-78,-8450.695,,-27264,-1902669625,-0.315991166,J,"ABCDE                         ",ABCDE,OVMDpo5iru;3jSQwz.EpleuXZc,
-79,-38857.646,-0.01,-10,22678635,-5.1547098e-20,3,"mzqHX:aeG9duPJicI4CRZ         ",TEST,gQOEElytI7;,1956-04-04
-80,-66153.378,-0.67,20652,-964467366,1.8823981e15,o,"TEST                          ",H,,1925-08-11
-81,61452.887,5366.32,1745,-946139475,123.456,,"TEST                          ",y3,TEST,1986-11-24
-82,93970.844,123.45,-20568,-1035460484,9.614539e16,E,"ABCDE                         ","ljkCAs;6jHhwVTk1Z39TvuUD4adbZ,",69250067,1918-02-18
-83,-54734.537,2.98,3,-983877415,4.6248114e-8,g,"069207401623871884            ",2uH2:Y,":ehydf1T2sv7a2E0k5,xrx,Equ;1k0",1948-12-14
-84,-1.929,-2390.85,-27364,-2093870624,123.456,5,"TEST                          ",TEST,TEST,1946-01-17
-85,123.456,1.14,-11365,-1114081575,,n,"ABCDE                         ",ABCDE,ABCDE,1996-11-10
-86,49135.786,-6201.94,-644,-862859456,123.456,Q,"TEST                          ",00798060066432100986440,TEST,1964-06-01
-87,-9.305,5.69,-11338,136178616,-0.075876826,J,,ABCDE,ABCDE,1966-08-10
-88,87685.046,-6324.33,17264,-2107283425,9.517344e-33,w,"TEST                          ",Ymcecw4QPD8pz4_Bcq,"6:Jf8S2xXKeFhv9It,2qZoC",1941-07-23
-89,,-6991.34,-247,934477415,-5.7953857e-25,6,,9404,vJW8,1947-04-27
-90,-1720.573,9921.65,22752,-1043516635,-7.2601003e-26,,"TEST                          ",9e8sr7QCDsy8.znpofiRGs,"2fN6,Vs",1994-04-06
-91,6966.346,3267.74,-17664,142839465,-8.4444394e20,r,"815480553867290262209364224   ",,538,1974-05-24
-92,34413.526,123.45,8536,-124350525,0.695377187,M,"XgoQjDCqu31V0m.qJ_57ND        ",TEST,dvpUs0R5Cisr5,1968-11-19
-93,2.411,-9.39,2744,-2114753604,0.943165143,h,"TEST                          ",TEST,TEST,1924-05-23
-94,2.901,-7907.63,10256,75669492,-0.743729981,E,"ABCDE                         ",32877990259848279506676098960,311549011251853913260281277080,1954-10-09
-95,,,-9,-122572415,-9.7278078e23,7,"HUan.o61,3tSAC9su30           ",TEST,ABCDE,1971-04-02
-96,47392.365,1.59,-17668,1076438605,3.9719125e25,F,"TEST                          ",.CozjGYeaW.rpx59mPr91g1sQ8E9,1:yeCad7YIi,1960-09-27
-97,123.456,-5.27,20235,7,4.608887e17,G,"ABCDE                         ",p;hb6UHob.In.lLwvRV.gow,"Js77DF,jtpJdz2FWefVS",1944-07-26
-98,-63152.104,-2.21,-18254,4,-0.00050249812,7,"ABCDE                         ",Yz_Ja7:zfRVAv,QtG2xYEYn;gDN,1972-12-13
-99,-15344.817,-96.59,-30564,-1074118515,9.5185279e34,s,"TEST                          ",OLdXZtifPSuHb_,ABCDE,1923-07-16
-100,10482.503,1744.32,-5,914828422,7.2220764e15,8,"TEST                          ","DyqL_Yhwe2rZ,",ABCDE,1935-01-02
diff --git a/tests/test/enginedb_small/csv/ENGINETABLEJOIN2.csv b/tests/test/enginedb_small/csv/ENGINETABLEJOIN2.csv
deleted file mode 100644
index d0dc5c3d0..000000000
--- a/tests/test/enginedb_small/csv/ENGINETABLEJOIN2.csv
+++ /dev/null
@@ -1,100 +0,0 @@
-1,3.79,3.19,-2745,,,q,"TEST                          ",,ZEDl46OIL3KU160I4;Oi,1960-07-21
-2,1,9632.52,3,-110293839,-5.5234735e-12,p,"ABCDE                         ",SDkwt,TEST,1925-05-14
-3,1195.572,3.3,-2165,-211277739,-1.7628454e-15,U,,"Hx_PbH,nq",TEST,2004-07-19
-4,-5173.567,-2886.63,8,114585058,2.9517547e-18,1,"S9r;2kXHWGgcOJNQ:qg;PbI,1     ",6tT2rnx;76FIG.fp4fZJI7DOq,TEST,1997-12-20
-5,2.112,1.8,264,-114376342,-7600857800,;,"ABCDE                         ",j8Brv;Ea7,TEST,1955-03-03
-6,123.456,-6833.57,3124,-88605044,0.697890364,N,"TEST                          ",TEST,9xwHs:6fHEbmEbOflOtNNBPxJM5y,1929-02-02
-7,123.456,7285.52,-1135,8,0.885667728,_,"w                             ",RdktQ4FkhvMWUfpTed9p,TEST,1953-10-08
-8,-7382.708,-9536.53,-1225,6,-94248666000000,2,"ABCDE                         ",TEST,0J68,1965-07-21
-9,,123.45,2065,9,2.3170901e-19,d,"X8dPuK13NVRUzK:3oTixGO3M      ",TEST,ABCDE,1984-10-25
-10,-1509.537,9.93,2,-114675854,0.706632684,_,"20874826836036651750899       ",wo,",.ron.lC:Ye_N9",1919-05-22
-11,3164.431,9.25,6,202446946,-9.21837e18,7,"c044OOMpzp5nLxZM8VtvhVBryO    ","Zf,lNwmTsL706oJIcDLoXi",cc4V5jKCvXxx6pH,1994-10-10
-12,6558.613,3.85,2274,-85422739,0.434555718,X,"TEST                          ",rf;6lJNjsD9iS_wkcz4ERk,365577668249,1929-12-11
-13,123.456,8.24,-2846,1,-3854711.5,e,"TEST                          ",R5h:MnWm0Sp;HkQNdS0T6,3utGaWEdmD_,1918-12-23
-14,5652.905,-4615.22,-76,,-3.2788663e29,I,"ABCDE                         ",46838674615282557396697384,ABCDE,1990-02-18
-15,123.456,123.45,,,-346.23838,,"ABCDE                         ",NRMzRCBv8VzjHO:P3H,5,1931-01-07
-16,-5612.588,-281.96,2974,94434042,6.520278e15,X,"PVV                           ",AAALt,ABCDE,1918-01-23
-17,-6509.914,5.89,2,-103393637,-526.17429,7,"ABCDE                         ",2896249691680878103962,mQp,1918-02-16
-18,-4121.038,5.42,,-189298360,0.571305279,s,"TEST                          ",ABCDE,ABCDE,1987-07-23
-19,1,-8591.23,3025,-188704264,123.456,0,"25992039738816557278952611    ",TEST,3469070673834781124,1931-06-07
-20,2.952,7402.88,-2155,1,3.3273857e36,m,"26XHd:Cun                     ",ABCDE,ABCDE,1991-10-17
-21,7672.991,123.45,1245,192401937,-9578579,f,"TEST                          ",TEST,fHUb,1996-01-05
-22,-4127.799,1439.52,6,94444937,-3758981800,:,,53,TEST,1923-12-17
-23,-9426.846,-7492.24,2,6376746,0.135663644,q,"TEST                          ",ABCDE,ABCDE,2001-11-08
-24,-4011.444,123.45,7,85636858,-1.9302982e-5,0,"D::efmUqUToe5XD2oXxlEwn       ",0ui0ye,TEST,1991-03-28
-25,-8880.268,3971.13,1055,5,-2.2513541e29,9,"TEST                          ",,TEST,1980-10-03
-26,3.78,-9516.48,1055,97452349,0.814322389,H,"TEST                          ",546058163068374635471854728,WeGYe:9gxZ6YH_MbW,1977-04-06
-27,1,2.12,2044,201614159,0.378153537,,"TEST                          ",574138566731844105,TEST,1927-05-12
-28,-5291.258,8.65,1,,-79836867,d,"ABCDE                         ",ABCDE,"uRZCEtr2aW,0t5AN3,2rY3lS4ZP",1962-08-25
-29,9.9,6.05,264,7,-6.125029e-7,M,"TEST                          ",TEST,55849,1948-03-16
-30,9.179,8.65,6,110441649,0.380597208,p,"TEST                          ",RGBeKX1;0i75ELl0tlcb37FDJ,"dJ2t84zQ0q5ZH,_ach3Lpndn0n0",1991-09-14
-31,123.456,123.45,2844,196671853,-857725130,,"TEST                          ",ABCDE,wjS6wTRrPAHC_vdl2ue,1962-05-28
-32,-5077.493,1.61,-1765,-206277644,,P,"41462200690                   ",ABCDE,ABCDE,1936-03-20
-33,123.456,123.45,7,-89612259,1.1743346e16,z,"ABCDE                         ",ABCDE,ABCDE,1984-12-09
-34,,9354.91,1874,-86592850,3.1432357e15,0,"5364517289                    ",cz6HG_cdCqnplfuRZCKs49R,1bGSdyZJ96RZp,1964-01-23
-35,1768.202,-9332.51,2045,-110547854,2.6930731e-7,;,"ABCDE                         ",D,ABCDE,1962-03-25
-36,5.326,-2942.29,-125,5,8.6450781e-7,R,"TEST                          ",8dA5zL3IV.Hk:AZ,4VEiWGbPFJ,1996-08-05
-37,-7331.327,123.45,144,8,0.723064827,.,"dp0g6N                        ",AtC6lIoQiZG2fZG.b.7E,"pre,rt",1919-07-22
-38,123.456,7708.91,3135,6,7.8150661e23,w,"ABCDE                         ",TEST,ABCDE,1939-04-25
-39,123.456,1,2945,6,0.874006971,.,,"BUxnPj,",537710,1998-05-14
-40,-2172.174,,-3145,206462939,-6.344426e-22,v,"kZ                            ",5762509897009708363855764,ClsK94s,1934-06-03
-41,123.456,7.81,175,8,-4.6238814e-30,.,"ABCDE                         ",TEST,UHt.,1999-01-23
-42,8.28,2.03,-126,4,,:,"TEST                          ",ABCDE,Rm.;Ck27jJE2l,1951-01-10
-43,-6344.095,123.45,1254,-205367953,-9.0394271e-28,n,"rWFggWNzQHFbV5FMU             ",TEST,33624131,1930-09-09
-44,-4106.242,8856.82,2024,90732040,0.983572739,f,"TEST                          ",XYRVz3EVwjROYNoXU,7oCHvoVck4xRNB,1937-01-11
-45,2495.291,-9566.7,6,,-3.2403694e19,J,"ABCDE                         ",6248674719814634790387781565,TEST,1952-03-10
-46,4139.137,,-3036,1,0.99212495,s,"vvGV,lE7mC9tx                 ",;PjKCBezWFf,:3gVAlBUwo,1976-06-11
-47,6716.211,9435.15,-2825,-103608242,0.809315784,v,,171E3,ABCDE,1914-01-28
-48,9882.816,123.45,245,2,-9.8854836e-19,O,"01QZDjoYkXxiAHC_ta            ",ABCDE,TEST,1960-10-08
-49,2685.941,1,3,,-451957980,f,"ABCDE                         ",TEST,ABCDE,1946-06-21
-50,1.837,9020.09,8,192364840,-3.4480421e-33,o,"TEST                          ","jOElPtT,sA9LPYw8O4",TEST,1978-08-05
-51,-271.827,6172.33,-3076,-89653340,123.456,z,7bFpiZIt.2nW4fyUJqsfQTUeJE6mII,,ABCDE,1950-04-12
-52,-8710.325,123.45,,185543749,5.1173854e32,u,"TEST                          ",ABCDE,TEST,1957-03-01
-53,8456.103,4738.84,2834,3,5.208494e26,I,"TEST                          ",59701838445375174507884,TEST,1939-01-25
-54,-778.175,-815.99,1264,195356661,0.285770086,9,,BQx,TEST,1982-09-14
-55,1.174,5.89,-2265,-207443141,-1.8847588e-30,h,"tg1OC8vApDIIF,gt              ","JwPQI,0s5BOwNSSKx",9833695779826837278,1929-09-10
-56,4.43,9.06,-1136,7,,T,"W:kixHPlJ                     ",vHV_AaMl;35SLvwlLuM,7XpE4QPD6lHbas:8eAAF9i,1961-05-21
-57,1.523,-895.07,844,92746843,-41347394000000,N,".xp3fIg.Q,xtY                 ",ABCDE,;mkyyLfXS3LT0ybKM2BW,1925-08-01
-58,9.645,7.7,75,7,-2588.5039,W,"TEST                          ",TEST,TEST,1978-10-03
-59,7304.316,-6346.74,6,8,7.5116354e26,j,"ABCDE                         ",4142399,nxZM8VhoHii,1961-02-27
-60,9.612,9.02,-2936,3,1,L,"ABCDE                         ",ABCDE,9qwSE2FZt4EPwESRHAbK8ZFPHTdtZ,1997-09-10
-61,7.852,-4719.13,7,2,-2.9317685e-13,,"KU3QyEJoIP9Gxn7nA6dJLdoaL     ",,TEST,1971-05-22
-62,123.456,2993.37,-3146,6,0.405333693,L,"iMZX;hp:OeNWn1mzqEjI_Vcl5t    ",TEST,ABCDE,1965-05-22
-63,5011.251,-3042.22,9,3303136,0.684333693,i,,TEST,ABCDE,2002-11-04
-64,-1943.016,-6422.8,6,5,8272180200000,4,,TEST,",Aqg_T_sdkDAo",1962-01-18
-65,9950.684,5588.75,,5,4.806122e29,G,"AF                            ",366375185284720096,TEST,1999-07-06
-66,1,2.53,-2975,-106385843,5.2711537e15,;,"TEST                          ",zsFSgvQXGhc1B2SXv,,1934-08-06
-67,-8970.018,2586.3,-3265,90473249,0.495298347,H,,,TEST,1924-06-16
-68,123.456,6355.94,8,2683956,7.6280776e-36,B,"gJPexMPVNPbK8                 ",sFNgRNN7QNE1,wVIH;TjsC9QvGXZeihGMfWRaz,
-69,-9526.923,2194.32,855,185732962,,9,"TEST                          ",63204711453973988460,"vF,gtkiyIJ.a_:Zf9C.Dwo6ac_4",1964-12-23
-70,123.456,123.45,3275,1,3.9234741e-17,_,"718254614315404               ",ABCDE,Va,2004-05-25
-71,6324.568,3.61,-1246,190644043,0.318388672,O,".spT3t.4nOXM_LdYZK            ",TEST,ABCDE,1957-07-17
-72,-1913.155,7.71,2,4,444153440,_,"ABCDE                         ",TEST,0iJIZg8N,1970-08-15
-73,9.711,-1639.61,-265,-112362947,6470932.9,U,"TEST                          ",ABCDE,y5qeMuWZfBDxmN.SHEaY;QiE,1931-10-28
-74,299.331,1,-2176,,,:,"TEST                          ",FPhHKa3_udG1V1mGwo,TEST,1963-01-24
-75,-6222.133,8.26,125,103306853,-6.1058323e-33,a,"PjxyPSAxCf_TyZI,;Jl8tE5K92mZBv",621291214216134514302,ABCDE,1998-11-03
-76,-1250.548,-7845.67,,,0.172991248,Z,"ABCDE                         ",TEST,TEST,1932-08-05
-77,-8445.896,-4903.85,8,185328060,5.788455e21,N,"ABCDE                         ",TEST,TTi7Gbe6YJb;9yvHJ7,1935-07-25
-78,-5183.069,-6039.63,2,-87565052,3.758711e-23,X,"TEST                          ",6980719632644344,ig1OILmYp_g9PlIu8sBn,1961-09-26
-79,-1036.325,7257.62,,-214356344,-9.1494219e35,q,"R                             ",TEST,3940660586143750,1919-05-15
-80,4587.361,9.17,1,13426641,4.3353867e-11,,"TEST                          ","QFGh4LUZZ,.qn8lBBovkVV6jNW",ABCDE,1973-05-11
-81,3431.534,-2482.48,8,199367157,1,6,":_hcWjiEGmxrMWA               ",uDFMhTLJImFq,O:9fvx6HH:OeLYKV33PSKRnBlz,1960-04-07
-82,,-8076.94,2254,-196307164,5.5874316e-20,;,"7aEum;ku_Gbc96X               ",ABCDE,28YAaC;eiAGB4sRz,1956-02-04
-83,1857.743,,-3126,-211391642,9.249837e27,Y,"0                             ",,ABCDE,1952-08-09
-84,3060.568,2.25,834,-105546859,-9.3361221e-30,V,"8MClt2                        ",TEST,ABCDE,1969-05-27
-85,-5884.902,1358.85,225,,0.816622806,Z,"32401759435660288579650681710 ",TEST,ABCDE,1954-02-13
-86,2.22,123.45,2054,-90328052,0.08665195,P,"ABCDE                         ",TEST,TEST,2003-09-03
-87,6.112,7210.29,-1245,-203705242,123.456,t,"TEST                          ",TEST,5fMKt43RSA2maq.,1975-07-08
-88,1,-5576.36,1854,110712262,0.261624108,N,"vmoC4c36GG1                   ","mq,be7VulY5",_0a6YQHEba,2000-06-05
-89,3.45,4816.24,,1,0.805307345,N,"TEST                          ",ABCDE,Dn5mbr8:yg:XfeUV1Wt,1967-03-10
-90,123.456,-8842.08,1145,-208302250,7.1954624e-30,B,"nan_nolj                      ",XkHhqLamXq0_6,"D_raym,qu_vwTjtE",1962-08-25
-91,8745.292,9.41,1965,3,0.739220807,h,"54vOsL7ZIy3KV4KpU             ",TEST,gEwHQPDEqe7X,1933-07-07
-92,-1346.229,-7294.23,-75,1,-43548241000,,"0583272955877907529           ",ABCDE,48350979485794155,2001-02-05
-93,123.456,4.25,-2125,-209276651,-8674.5292,d,"ABCDE                         ",TEST,ABCDE,1949-12-13
-94,123.456,-6029.04,-136,186624359,-1.1949336e-12,7,"TEST                          ",TEST,ABCDE,1994-09-12
-95,123.456,8175.95,-2946,100523358,0.306324799,B,,438,754517261781345570067812,1988-01-17
-96,2382.007,-1554.82,9,,-8.8569195e16,X,,qpiy,TEST,1969-07-16
-97,8.484,-8642.37,-2035,-90386958,0.630902517,4,"TEST                          ",269462384225156825,"CosYjCBtdbZ8lAeD0I7,2rW2g4Q4T",1983-11-26
-98,-2211.422,9.65,-3226,7,9.1218988e-26,v,"tEOkNxxOcD6rHLzZH9TUgpQf,Zr   ",ABCDE,ABCDE,1946-04-17
-99,1.738,1935.49,8,-13466862,4.1152695e18,Q,,GEd,TEST,1982-10-01
-100,9.385,3769.24,-1975,94702258,0.549206692,i,,TEST,98171,1944-08-19
diff --git a/tests/test/enginedb_small/csv/ENGINETABLEJOINOPTCHAR1.csv b/tests/test/enginedb_small/csv/ENGINETABLEJOINOPTCHAR1.csv
deleted file mode 100644
index 1009c1dc4..000000000
--- a/tests/test/enginedb_small/csv/ENGINETABLEJOINOPTCHAR1.csv
+++ /dev/null
@@ -1,100 +0,0 @@
-1,"TEST                          "
-2,"TEST                          "
-3,"ABCDE                         "
-4,"TEST                          "
-5,"ABCDE                         "
-6,"287685870941546143050986      "
-7,"ABCDE                         "
-8,"0R7Be7VNjYB                   "
-9,"183065481489605978496135      "
-10,"26748145278866344316805612    "
-11,"TEST                          "
-12,"VRmRKBex5MK                   "
-13,"TEST                          "
-14,"TEST                          "
-15,bXYe1c1:chwMRTYj4BKx3MUWFPgKP9
-16,"03971122                      "
-17,"ABCDE                         "
-18,"FWgiQH:uef.T4rhAKC1s1wK       "
-19,"TEST                          "
-20,"ABCDE                         "
-21,"E8lyQIGJc85ZN,SD7PEHn         "
-22,
-23,"jADAX                         "
-24,"25                            "
-25,"ABCDE                         "
-26,"TEST                          "
-27,"ABCDE                         "
-28,"0864721038452017              "
-29,"81A3dSRvhWIarCVtk5CN8JfRP     "
-30,"TEST                          "
-31,"TEST                          "
-32,"ABCDE                         "
-33,"0UnfEUlnvlWRinHobcck          "
-34,"TEST                          "
-35,"K7..38XBexYRQ5rL              "
-36,"TEST                          "
-37,"ABCDE                         "
-38,"ABCDE                         "
-39,"ABCDE                         "
-40,
-41,"M_Ac9                         "
-42,"2                             "
-43,"l                             "
-44,"ABCDE                         "
-45,"U17IC,tqp_PcI4;Oj             "
-46,"TEST                          "
-47,"3768432402                    "
-48,"ABCDE                         "
-49,"GjdQ9FgivFWyNIRtCdUZr,rr      "
-50,"ABCDE                         "
-51,
-52,"ABCDE                         "
-53,"5SNwDQ,J85f                   "
-54,"N:P.tun.Catc36vHY4_           "
-55,"TEST                          "
-56,"5P9nyeeWVTErlevYU             "
-57,".moQjdB2wYE_pa                "
-58,"ABCDE                         "
-59,"WkZzDLrX.dP056L               "
-60,"TEST                          "
-61,"ABCDE                         "
-62,"pUCpul9tn4jRHG:c              "
-63,"BVAEEmZx9AuGPNeqeM6V3l,u7Y    "
-64,701958855889602791441953923750
-65,
-66,"TEST                          "
-67,"TEST                          "
-68,"TEST                          "
-69,"Jy8IA.DnoDkoH                 "
-70,"ABCDE                         "
-71,
-72,"TEST                          "
-73,"JD7oDRABDVPk                  "
-74,"TEST                          "
-75,"DLBXydI3.                     "
-76,"PQI2PZJmGsf                   "
-77,"TEST                          "
-78,"ABCDE                         "
-79,"ABCDE                         "
-80,"TEST                          "
-81,"CAs29Zu8qI_,                  "
-82,
-83,"DEork                         "
-84,"ABCDE                         "
-85,"ABCDE                         "
-86,"xjODbpC                       "
-87,"hN5PIcoi1                     "
-88,"326140305684767200969         "
-89,"4229250960591433678123947395  "
-90,"Ob_AEbmjpDdqEj6EQclVI9sX      "
-91,"ABCDE                         "
-92,"2QXF140O7MZ                   "
-93,"TEST                          "
-94,"ABCDE                         "
-95,"0V4                           "
-96,"vIr.;pj.mo3ijICNW1f;RZz       "
-97,"097089426832                  "
-98,"TEST                          "
-99,"TEST                          "
-100,"ABCDE                         "
diff --git a/tests/test/enginedb_small/csv/ENGINETABLEJOINOPTCHAR2.csv b/tests/test/enginedb_small/csv/ENGINETABLEJOINOPTCHAR2.csv
deleted file mode 100644
index 42f185464..000000000
--- a/tests/test/enginedb_small/csv/ENGINETABLEJOINOPTCHAR2.csv
+++ /dev/null
@@ -1,100 +0,0 @@
-1,"TEST                          "
-2,"Zhwv7QCDutV3jo7k,;r           "
-3,"H                             "
-4,
-5,"fc                            "
-6,"TEST                          "
-7,"ABCDE                         "
-8,"TEST                          "
-9,"TEST                          "
-10,"ZhaP;pil_rcj3CJd4GveMtieHYaa_ "
-11,
-12,"TEST                          "
-13,"TEST                          "
-14,"T:tx2tZz                      "
-15,"ABCDE                         "
-16,"44SLxkN.RKt121X0d             "
-17,"UpKgXOADVqj_IA,DrNTP4MjUE     "
-18,"TEST                          "
-19,"TEST                          "
-20,"Eok2aWBS,wts4TRtnrQ;G         "
-21,"2TxtOXCyvyWlftT5s             "
-22,"aaJ,2sXndl0weQKS232_Yc_aIOo   "
-23,"TEST                          "
-24,"A2JSREFmRrBSyyKFtisF8_AcnMn   "
-25,"1N3SIw                        "
-26,"TMG3gTptg41U1pkEplT           "
-27,"g7dF1i2uY                     "
-28,"3iTLJ0I4,l3t74FOpFehheMWjhDJr8"
-29,
-30,"Ole3V                         "
-31,"ABCDE                         "
-32,"o6WU9ex2dWY6;HkmzsFx2H3V      "
-33,"TEST                          "
-34,"E,2rZDQ6                      "
-35,"TEST                          "
-36,"ABCDE                         "
-37,"C                             "
-38,
-39,"pMOCh                         "
-40,"sGhcK6vHz2j.                  "
-41,"2903                          "
-42,"4395174916612                 "
-43,"XW                            "
-44,"9O2                           "
-45,"TEST                          "
-46,"cW8fzUFoid8hf8SgvQXGTrs;m,Vtj "
-47,"ABCDE                         "
-48,"R6rYQ.4OONe.pncn4otk3PyKI1    "
-49,"ABCDE                         "
-50,"TEST                          "
-51,"ABCDE                         "
-52,"TEST                          "
-53,"ABCDE                         "
-54,"TEST                          "
-55,"TEST                          "
-56,"TEST                          "
-57,008614014208612412917579404201
-58,"TEST                          "
-59,"TEST                          "
-60,"RHCd32h9Wui0O4NaYGaeJW2,Zq.   "
-61,"k_FbO8FB                      "
-62,"FxjSDFkLA                     "
-63,"3nSCHu:Yh_0b71C0X6evWXg:Gew0i "
-64,"ABCDE                         "
-65,":ZvA50Z5,NrS,yFoNkAOQOM6WK    "
-66,",SP                           "
-67,UhqK_3GXce4X5cM3RH3QVEFYd0C6os
-68,"II9qvcVtk4wO6II9Bxlluw1Ym;m   "
-69,"TEST                          "
-70,"_idnDVmS                      "
-71,"TEST                          "
-72,"VEmmFUnonkmApB                "
-73,"r4.RmBqxGNW3hRv4X             "
-74,"TEST                          "
-75,"fWU                           "
-76,"ABCDE                         "
-77,"8u4YRa7;bjfOS3                "
-78,"27895367200778866547          "
-79,"rWoghNKP3lTptd2tZUqBbwCTs     "
-80,"fRUp6g7uFLuJ15ayNLP,K.imprf,  "
-81,
-82,"ip2fnSmYsw8dzIkiyFJtX         "
-83,"ABCDE                         "
-84,"3pSXmeqXc:hebQ0R5B;5          "
-85,"ImvnWGidoykK6vJ98             "
-86,"UCosoMiGGe7d                  "
-87,"TEST                          "
-88,"TEST                          "
-89,"TEST                          "
-90,":xCPh                         "
-91,"ABCDE                         "
-92,"TEST                          "
-93,"TEST                          "
-94,"ABCDE                         "
-95,"TEST                          "
-96,"TEST                          "
-97,
-98,"14                            "
-99,"7004992                       "
-100,".PcY5PpXeFVimIpce2Xv86jGE2n   "
diff --git a/tests/test/enginedb_small/csv/ENGINETABLEJOINOPTDATE1.csv b/tests/test/enginedb_small/csv/ENGINETABLEJOINOPTDATE1.csv
deleted file mode 100644
index 21617526c..000000000
--- a/tests/test/enginedb_small/csv/ENGINETABLEJOINOPTDATE1.csv
+++ /dev/null
@@ -1,100 +0,0 @@
-1,1964-08-03
-2,1975-08-09
-3,1991-02-08
-4,1995-06-02
-5,1981-04-04
-6,
-7,1917-11-24
-8,1973-11-22
-9,2000-08-06
-10,1962-08-04
-11,1959-08-01
-12,2004-07-01
-13,1996-02-20
-14,1954-04-17
-15,1972-11-05
-16,1949-02-22
-17,1975-08-09
-18,1987-06-14
-19,1947-06-15
-20,1937-03-18
-21,1924-09-09
-22,1985-01-01
-23,2004-10-02
-24,1926-02-13
-25,1937-04-27
-26,1933-02-04
-27,1953-03-13
-28,1928-06-14
-29,1999-05-16
-30,1984-09-26
-31,1969-07-13
-32,
-33,2000-09-06
-34,1930-08-08
-35,2002-07-19
-36,1945-09-18
-37,1934-02-23
-38,1956-03-05
-39,1925-01-14
-40,1922-04-18
-41,1956-11-04
-42,1981-05-01
-43,2000-05-06
-44,1984-05-26
-45,1921-01-19
-46,2004-09-01
-47,1999-11-27
-48,1934-06-03
-49,1939-08-25
-50,1980-03-03
-51,1972-10-03
-52,1959-07-23
-53,1914-10-11
-54,1957-02-03
-55,1965-06-22
-56,2004-01-01
-57,1933-09-23
-58,1988-10-07
-59,1921-12-01
-60,1920-11-20
-61,1928-04-11
-62,2004-12-01
-63,1931-08-15
-64,1927-03-10
-65,1978-11-05
-66,1948-01-05
-67,1951-10-18
-68,1950-09-12
-69,1951-12-19
-70,1949-10-11
-71,1953-03-08
-72,1970-07-21
-73,1921-02-19
-74,1976-02-07
-75,1920-07-19
-76,1987-11-22
-77,1993-07-10
-78,1970-11-14
-79,1915-11-27
-80,1935-10-02
-81,1989-03-08
-82,1993-08-08
-83,1993-06-15
-84,1995-07-24
-85,1976-08-16
-86,1999-02-08
-87,1928-03-23
-88,1955-03-06
-89,1933-03-05
-90,1949-09-17
-91,1972-08-02
-92,1981-10-01
-93,1997-12-10
-94,1960-08-24
-95,1982-06-28
-96,1917-06-28
-97,1924-12-12
-98,1933-10-03
-99,1962-04-25
-100,1954-04-07
diff --git a/tests/test/enginedb_small/csv/ENGINETABLEJOINOPTDATE2.csv b/tests/test/enginedb_small/csv/ENGINETABLEJOINOPTDATE2.csv
deleted file mode 100644
index ceaa43e64..000000000
--- a/tests/test/enginedb_small/csv/ENGINETABLEJOINOPTDATE2.csv
+++ /dev/null
@@ -1,100 +0,0 @@
-1,2000-03-25
-2,1974-11-04
-3,1974-03-10
-4,1969-02-24
-5,1955-09-09
-6,1982-08-14
-7,1993-07-14
-8,1915-01-27
-9,1948-03-22
-10,1995-08-09
-11,1981-04-01
-12,1972-01-12
-13,1940-10-21
-14,1992-02-01
-15,1937-08-28
-16,1929-10-11
-17,1942-01-01
-18,1914-02-28
-19,1937-01-05
-20,1945-10-08
-21,2002-10-04
-22,1939-03-11
-23,
-24,1936-10-01
-25,1975-10-09
-26,1990-04-18
-27,2004-11-02
-28,1992-04-16
-29,1983-01-20
-30,1980-12-02
-31,1983-08-09
-32,1987-07-22
-33,1917-06-14
-34,1926-11-06
-35,1966-04-20
-36,1934-04-04
-37,1949-10-10
-38,1978-05-14
-39,
-40,1934-10-04
-41,1936-12-07
-42,1926-09-13
-43,1936-02-19
-44,1934-02-08
-45,2004-02-12
-46,1942-01-21
-47,1999-12-09
-48,1987-05-22
-49,
-50,1915-09-27
-51,1936-02-28
-52,1917-01-24
-53,1919-05-18
-54,1999-12-07
-55,1946-10-18
-56,
-57,1947-09-16
-58,1962-07-08
-59,1999-03-08
-60,2003-01-19
-61,1940-02-24
-62,1956-09-20
-63,1914-01-28
-64,1930-02-09
-65,1991-10-28
-66,1914-09-21
-67,1947-12-16
-68,1991-02-24
-69,1974-12-10
-70,2001-04-20
-71,1996-12-11
-72,1969-12-16
-73,1998-03-02
-74,1985-12-21
-75,1917-05-24
-76,1967-12-05
-77,1944-11-18
-78,1954-03-26
-79,1940-08-24
-80,1917-08-26
-81,1949-09-21
-82,1979-03-09
-83,1996-10-11
-84,
-85,1917-04-18
-86,
-87,1945-12-18
-88,1963-10-26
-89,1952-10-18
-90,1956-08-04
-91,1957-03-23
-92,1944-09-27
-93,1927-11-25
-94,2001-08-28
-95,1965-05-21
-96,1924-11-25
-97,1960-09-27
-98,1993-01-15
-99,1999-10-08
-100,
diff --git a/tests/test/enginedb_small/csv/ENGINETABLEJOINOPTDECIMAL1.csv b/tests/test/enginedb_small/csv/ENGINETABLEJOINOPTDECIMAL1.csv
deleted file mode 100644
index f6cc6fb4e..000000000
--- a/tests/test/enginedb_small/csv/ENGINETABLEJOINOPTDECIMAL1.csv
+++ /dev/null
@@ -1,100 +0,0 @@
-1,52716.036
-2,-34412.569
-3,5.28
-4,45268.257
-5,-29134.519
-6,68577.745
-7,123.456
-8,880.768
-9,
-10,-4.961
-11,-82718.397
-12,80798.065
-13,79226.835
-14,79933.341
-15,55980.614
-16,-7.717
-17,123.456
-18,
-19,-92006.773
-20,73847.826
-21,123.456
-22,9.299
-23,-9.816
-24,-2.621
-25,1
-26,-6.493
-27,0.001
-28,123.456
-29,19429.827
-30,-83453.164
-31,-72788.654
-32,-11443.982
-33,-1135.662
-34,-88643.233
-35,3973.805
-36,6.623
-37,123.456
-38,-81249.866
-39,3751.184
-40,-54901.047
-41,47992.291
-42,9.451
-43,9674.347
-44,-29604.922
-45,123.456
-46,123.456
-47,74133.275
-48,80653.534
-49,80878.363
-50,-60982.642
-51,-29012.614
-52,-60572.995
-53,93460.598
-54,-3.962
-55,-38578.297
-56,4.4
-57,
-58,-48160.278
-59,123.456
-60,3335.768
-61,28943.578
-62,123.456
-63,-8.456
-64,-5.219
-65,-99110.714
-66,-2.39
-67,62605.824
-68,1
-69,-5.376
-70,123.456
-71,-6.325
-72,33588.741
-73,-0.037
-74,80983.973
-75,9.701
-76,1
-77,-8.644
-78,-61048.154
-79,-4.186
-80,123.456
-81,8.94
-82,84576.936
-83,43181.676
-84,123.456
-85,-87685.563
-86,73167.873
-87,-25079.039
-88,8.348
-89,25069.816
-90,9837.705
-91,46354.727
-92,-2.828
-93,1
-94,1
-95,-8.154
-96,-76148.272
-97,-8.061
-98,-56791.259
-99,70912.581
-100,-51934.483
diff --git a/tests/test/enginedb_small/csv/ENGINETABLEJOINOPTDECIMAL2.csv b/tests/test/enginedb_small/csv/ENGINETABLEJOINOPTDECIMAL2.csv
deleted file mode 100644
index 0560c7b80..000000000
--- a/tests/test/enginedb_small/csv/ENGINETABLEJOINOPTDECIMAL2.csv
+++ /dev/null
@@ -1,100 +0,0 @@
-1,-7.481
-2,1
-3,123.456
-4,-5.492
-5,1
-6,-99313.653
-7,63257.114
-8,27885.664
-9,-60386.527
-10,1
-11,-9.517
-12,-12218.624
-13,0.001
-14,-12488.557
-15,3.941
-16,-3.61
-17,2.71
-18,9.436
-19,63350.883
-20,53950.992
-21,123.456
-22,123.456
-23,77896.251
-24,123.456
-25,75675.534
-26,45066.721
-27,-0.001
-28,123.456
-29,
-30,
-31,-97008.732
-32,-85590.444
-33,16599.133
-34,-17026.124
-35,-73143.453
-36,123.456
-37,-74751.443
-38,123.456
-39,7.391
-40,123.456
-41,-30450.689
-42,27702.828
-43,-51939.742
-44,-36744.732
-45,64239.351
-46,73440.221
-47,-28972.856
-48,-55622.824
-49,123.456
-50,1
-51,-84739.409
-52,-37682.114
-53,-69099.276
-54,-23255.978
-55,-83741.047
-56,56920.815
-57,-0.001
-58,-77633.437
-59,865.453
-60,-9.976
-61,-23146.365
-62,5961.444
-63,-8.476
-64,123.456
-65,-8.675
-66,10153.124
-67,1
-68,-6.374
-69,123.456
-70,1
-71,-4.74
-72,5.989
-73,73921.841
-74,5.966
-75,-7.897
-76,49011.221
-77,123.456
-78,38579.771
-79,72982.454
-80,-0.784
-81,43394.365
-82,5.672
-83,43353.653
-84,123.456
-85,-94952.904
-86,-6.82
-87,-63341.034
-88,-8.151
-89,123.456
-90,123.456
-91,3.719
-92,50822.194
-93,123.456
-94,38643.191
-95,9.884
-96,-49571.057
-97,2.099
-98,-0.494
-99,-60582.316
-100,-9.527
diff --git a/tests/test/enginedb_small/csv/ENGINETABLEJOINOPTFLOAT1.csv b/tests/test/enginedb_small/csv/ENGINETABLEJOINOPTFLOAT1.csv
deleted file mode 100644
index f0d0fc426..000000000
--- a/tests/test/enginedb_small/csv/ENGINETABLEJOINOPTFLOAT1.csv
+++ /dev/null
@@ -1,100 +0,0 @@
-1,-8.4079296e16
-2,-0.043140607
-3,9.990347e23
-4,
-5,-0.540835269
-6,4.05196e-14
-7,9.3037518e21
-8,0.064400662
-9,2.1125145e-33
-10,6.24219e-9
-11,-5.3953675
-12,
-13,8.4780431e-5
-14,-2.5077229e-14
-15,7.1743143e-27
-16,
-17,
-18,-0.577708961
-19,-422506140
-20,0.00059401088
-21,-0.03654099
-22,-5.5979111e34
-23,-4.078547e33
-24,-1.2334805e20
-25,1
-26,-0.036643339
-27,6896950800000
-28,3.1596056e18
-29,0.308933376
-30,123.456
-31,2.3788578e-15
-32,0.960589435
-33,5.0669137e-8
-34,123.456
-35,-70970849000000
-36,-9.71953e24
-37,8.3479902e26
-38,4.8353866e-19
-39,7.2115381e-17
-40,1.4605921e-28
-41,-52819.284
-42,6.0962201e31
-43,5.7773516e-23
-44,0.21433473
-45,6.7588054e30
-46,-0.039624887
-47,0.0006144036
-48,-481695.4
-49,-3387692.2
-50,-442190400000
-51,3.1639436e15
-52,-6.2616423e30
-53,0.109335195
-54,1
-55,-6.8377886e-21
-56,-0.292116338
-57,-6.8063044e28
-58,-1.8599313e23
-59,0.684613546
-60,0.15874978
-61,7.8183267e-10
-62,-0.384512597
-63,-67.897298
-64,2.3041366e-22
-65,-0.34734346
-66,0.231751656
-67,-46143.08
-68,
-69,8.11548e34
-70,-4.5079636e-9
-71,76.856866
-72,7.5089527e-29
-73,-0.768350986
-74,123.456
-75,-0.748143991
-76,1
-77,-0.587602808
-78,8578749600
-79,-2.9059762e29
-80,-6.685909e-14
-81,7.2206603e22
-82,2.2826721e-23
-83,-0.068768327
-84,-1.347259e-28
-85,-5.757388e-30
-86,583078140
-87,0.984217411
-88,0.336420728
-89,-0.210288656
-90,0.870751324
-91,-1.8213548e21
-92,-0.4785375
-93,6.2496743e32
-94,-1.9069484e-6
-95,2.0067139e17
-96,-2.9814222e24
-97,3.353242e-15
-98,123.456
-99,-2.2855908e-21
-100,-5.074787e25
diff --git a/tests/test/enginedb_small/csv/ENGINETABLEJOINOPTFLOAT2.csv b/tests/test/enginedb_small/csv/ENGINETABLEJOINOPTFLOAT2.csv
deleted file mode 100644
index 8484eeec1..000000000
--- a/tests/test/enginedb_small/csv/ENGINETABLEJOINOPTFLOAT2.csv
+++ /dev/null
@@ -1,100 +0,0 @@
-1,7.9115493e-10
-2,-0.605579683
-3,0.146124107
-4,968379080000000
-5,-7.7199207e28
-6,-9.8876037e25
-7,-2.3841037e-23
-8,-5.7941454e-22
-9,-3.3674978e15
-10,-0.825260563
-11,5.6835164e16
-12,
-13,1.9395193e-30
-14,0.992295783
-15,-9.0204721e29
-16,-0.89407837
-17,-6.5587229e-26
-18,2.6249507e36
-19,-5.1829123e20
-20,6.4206662e15
-21,-4.9315273e-29
-22,3.3721857e29
-23,8.4022894e-12
-24,0.291355809
-25,-0.970056632
-26,2.5970268e-21
-27,
-28,0.805579375
-29,8.2896259e35
-30,-3.3239126e-36
-31,-0.081563476
-32,-6.6518281e-22
-33,0.152798144
-34,6.5231411e-25
-35,-9.4225358e-24
-36,-24.821725
-37,-5.365201e-22
-38,7.2804709e-17
-39,-8.70174e-15
-40,3.4750893e-32
-41,1.5693214e-22
-42,123.456
-43,0.044065471
-44,123.456
-45,1.6440324e-32
-46,0.099885796
-47,-0.962517461
-48,875.87612
-49,4614219100000
-50,4.3209416
-51,0.123956934
-52,123.456
-53,0.17387599
-54,123.456
-55,123.456
-56,9.6220099e-10
-57,1
-58,-0.8440771
-59,-8.4757908e-38
-60,0.507665751
-61,-9.3299317e-30
-62,9.8252801e25
-63,5.7780682e-23
-64,-0.675088421
-65,1.6749129e-32
-66,4.4069932e-25
-67,1
-68,-2633.4365
-69,-4.3043856e-36
-70,1.5911454e-19
-71,0.81453876
-72,
-73,-4.4026827e-35
-74,-9.6048252e-26
-75,-2.768259e-13
-76,3.2622833e-8
-77,-0.432980731
-78,-4.731522e-23
-79,-0.09337791
-80,-9.551726e-37
-81,49208942000000
-82,4.0223922e-36
-83,0.238768591
-84,-9.225126e-17
-85,6.5208549e-29
-86,-0.642191272
-87,-2.6617568e20
-88,4.2160173e-18
-89,-7.0867306e-20
-90,6.4441145e-13
-91,7.960298e-13
-92,8.5482455e21
-93,1
-94,-4.5089559
-95,7.2861413e-6
-96,6.9228478e-35
-97,0.027981764
-98,-0.516578976
-99,-2.1124966e17
-100,-7.0163452e-21
diff --git a/tests/test/enginedb_small/csv/ENGINETABLEJOINOPTINT1.csv b/tests/test/enginedb_small/csv/ENGINETABLEJOINOPTINT1.csv
deleted file mode 100644
index 25f2d0010..000000000
--- a/tests/test/enginedb_small/csv/ENGINETABLEJOINOPTINT1.csv
+++ /dev/null
@@ -1,100 +0,0 @@
-1,-1002849468
-2,1966042543
-3,-24452447
-4,1042743442
-5,-1992667594
-6,-1
-7,-1054820546
-8,-3
-9,2017273465
-10,-875540525
-11,1985128405
-12,1956263464
-13,1106329633
-14,-14916618
-15,896832554
-16,1876619594
-17,-1
-18,-964736648
-19,983976434
-20,-1
-21,
-22,-2
-23,1914456416
-24,1853178376
-25,-9
-26,-1092523645
-27,-986642436
-28,1963917474
-29,-2015268428
-30,
-31,
-32,-7
-33,-143217398
-34,45880504
-35,924082642
-36,-1882956418
-37,1085918405
-38,-1977331445
-39,-53336625
-40,-87257487
-41,2004658534
-42,-2122776646
-43,-973252606
-44,-1104351595
-45,-995330604
-46,1076331496
-47,-984363358
-48,-1107458544
-49,2036547462
-50,2027321384
-51,2054062412
-52,1035341494
-53,1075619575
-54,1855327495
-55,8
-56,83150442
-57,-34067648
-58,6
-59,-973438595
-60,-1036226616
-61,-884256637
-62,56963352
-63,73916622
-64,-3
-65,2034983385
-66,2056343585
-67,-1
-68,-2014723586
-69,1875648365
-70,1994767583
-71,-124671424
-72,936320646
-73,-2067331394
-74,-1084452378
-75,9
-76,-1984369594
-77,-2006148438
-78,1854150412
-79,
-80,-1106322504
-81,-143418605
-82,114181452
-83,-24542538
-84,-962948605
-85,8
-86,2
-87,2015176434
-88,904466485
-89,-884942616
-90,84427572
-91,1915756405
-92,-987226447
-93,5
-94,
-95,-2066319487
-96,2
-97,-946753395
-98,
-99,-2083582408
-100,-2143926408
diff --git a/tests/test/enginedb_small/csv/ENGINETABLEJOINOPTINT2.csv b/tests/test/enginedb_small/csv/ENGINETABLEJOINOPTINT2.csv
deleted file mode 100644
index 119d1673e..000000000
--- a/tests/test/enginedb_small/csv/ENGINETABLEJOINOPTINT2.csv
+++ /dev/null
@@ -1,100 +0,0 @@
-1,-1064722508
-2,1946070604
-3,1885236385
-4,-2094967484
-5,-16729396
-6,-1855341357
-7,-6
-8,-5
-9,-1053270514
-10,1965437555
-11,-1127321494
-12,4
-13,-964583434
-14,857457375
-15,-2096440618
-16,955981464
-17,-8
-18,6
-19,9
-20,-1087052446
-21,-15032634
-22,-1993521495
-23,-1925476426
-24,8
-25,24256436
-26,982923563
-27,87252612
-28,-1014850567
-29,-1994581358
-30,-963717596
-31,
-32,-1916072447
-33,986032463
-34,1086950605
-35,5
-36,9
-37,-42869625
-38,-2014083427
-39,-7
-40,-4
-41,-933127555
-42,954570446
-43,-4
-44,1937147386
-45,52637503
-46,
-47,-3
-48,-1897320428
-49,3
-50,-3
-51,2092620565
-52,-2085978434
-53,-1913338588
-54,1
-55,
-56,1114837476
-57,-1
-58,1987227385
-59,-2
-60,
-61,-1995780627
-62,1057336544
-63,-4
-64,144170513
-65,145533552
-66,1985340544
-67,5
-68,1146743413
-69,
-70,-2025160425
-71,-5072465
-72,-986039396
-73,-906351396
-74,-893257475
-75,132966564
-76,-1856158608
-77,1926080414
-78,1005436634
-79,1964756395
-80,-913436595
-81,-104466594
-82,-1915280397
-83,1
-84,-974756517
-85,
-86,-3
-87,1884123626
-88,2007081462
-89,2124578555
-90,1895747586
-91,1863849565
-92,994460576
-93,-932649374
-94,976329396
-95,-2053446408
-96,-64322577
-97,1056731494
-98,-1866829495
-99,-884251396
-100,1107350555
diff --git a/tests/test/enginedb_small/csv/ENGINETABLEJOINOPTSMALLINT1.csv b/tests/test/enginedb_small/csv/ENGINETABLEJOINOPTSMALLINT1.csv
deleted file mode 100644
index 6c319824b..000000000
--- a/tests/test/enginedb_small/csv/ENGINETABLEJOINOPTSMALLINT1.csv
+++ /dev/null
@@ -1,100 +0,0 @@
-1,22635
-2,30533
-3,19336
-4,1
-5,-10548
-6,-21447
-7,-2768
-8,32465
-9,22642
-10,11333
-11,19245
-12,-358
-13,-2658
-14,-19666
-15,-9
-16,-21264
-17,7643
-18,32546
-19,12234
-20,-7256
-21,-11334
-22,-10745
-23,-20555
-24,-1247
-25,2
-26,-4
-27,7346
-28,8536
-29,20266
-30,-27458
-31,30346
-32,6
-33,-10547
-34,22734
-35,
-36,-31266
-37,-4
-38,-11546
-39,-27255
-40,8
-41,-1435
-42,9554
-43,-32754
-44,
-45,-27657
-46,-1258
-47,5
-48,2255
-49,
-50,9
-51,-27267
-52,8432
-53,27666
-54,5
-55,7453
-56,-8566
-57,1665
-58,27753
-59,31264
-60,-31368
-61,-21646
-62,-27547
-63,1734
-64,-27444
-65,-4
-66,11243
-67,-21636
-68,9343
-69,31364
-70,8554
-71,8332
-72,9656
-73,31466
-74,22235
-75,32334
-76,-10
-77,-20565
-78,9346
-79,-19446
-80,-9
-81,11444
-82,-21668
-83,-9435
-84,-32447
-85,-3
-86,7663
-87,21753
-88,7764
-89,-31264
-90,19352
-91,-8434
-92,-5
-93,11633
-94,-32336
-95,32332
-96,656
-97,-1245
-98,-32435
-99,-17264
-100,-3
diff --git a/tests/test/enginedb_small/csv/ENGINETABLEJOINOPTSMALLINT2.csv b/tests/test/enginedb_small/csv/ENGINETABLEJOINOPTSMALLINT2.csv
deleted file mode 100644
index 7feccbe7b..000000000
--- a/tests/test/enginedb_small/csv/ENGINETABLEJOINOPTSMALLINT2.csv
+++ /dev/null
@@ -1,100 +0,0 @@
-1,10333
-2,31633
-3,-28248
-4,5
-5,-22338
-6,7
-7,-29755
-8,2646
-9,-9
-10,-1365
-11,2
-12,22742
-13,-7246
-14,-18645
-15,
-16,-32245
-17,2642
-18,31265
-19,2
-20,-7
-21,11565
-22,12245
-23,-2
-24,1653
-25,9
-26,-31338
-27,4
-28,-28657
-29,21735
-30,-3
-31,
-32,-4
-33,-30267
-34,11632
-35,-2734
-36,-7
-37,4
-38,-28737
-39,17656
-40,-9
-41,12456
-42,-20745
-43,-10358
-44,-30267
-45,-11258
-46,29462
-47,-32668
-48,2545
-49,-28264
-50,-8634
-51,19745
-52,
-53,7
-54,-30444
-55,-21664
-56,-4
-57,12556
-58,11543
-59,-2346
-60,27335
-61,28263
-62,-10668
-63,6
-64,-27265
-65,-658
-66,-12558
-67,27245
-68,-11646
-69,5
-70,17256
-71,7
-72,-20568
-73,-27654
-74,-31544
-75,6
-76,744
-77,
-78,-21647
-79,19545
-80,-27364
-81,-3
-82,-10
-83,9734
-84,7462
-85,0
-86,-738
-87,-11438
-88,666
-89,-20765
-90,-8465
-91,29464
-92,-21754
-93,-22654
-94,-10
-95,266
-96,-20754
-97,-4
-98,-12756
-99,3
-100,356
diff --git a/tests/test/enginedb_small/csv/ENGINETABLEJOINOPTTIMESTAMP1.csv b/tests/test/enginedb_small/csv/ENGINETABLEJOINOPTTIMESTAMP1.csv
deleted file mode 100644
index 3505f8d80..000000000
--- a/tests/test/enginedb_small/csv/ENGINETABLEJOINOPTTIMESTAMP1.csv
+++ /dev/null
@@ -1,100 +0,0 @@
-1,"1967-12-09 18:40:58.000000"
-2,"1916-10-26 17:23:04.000000"
-3,"1947-03-27 04:02:29.000000"
-4,"1915-10-12 20:50:20.000000"
-5,"1971-03-19 05:53:48.000000"
-6,"1982-09-13 08:13:34.000000"
-7,"1915-06-27 04:12:26.000000"
-8,"1937-08-11 10:28:26.000000"
-9,"1994-10-14 17:38:52.000000"
-10,"1991-05-17 06:36:54.000000"
-11,"1919-10-22 20:43:33.000000"
-12,"1915-06-26 05:20:18.000000"
-13,"2003-02-03 12:36:02.000000"
-14,"1916-10-01 21:36:25.000000"
-15,"1939-08-25 08:27:37.000000"
-16,"1960-07-21 16:53:21.000000"
-17,"1991-06-10 09:58:24.000000"
-18,"1918-08-23 06:27:11.000000"
-19,"1992-03-27 04:23:01.000000"
-20,"1974-03-10 06:34:08.000000"
-21,"1954-07-06 20:10:07.000000"
-22,"1961-04-08 15:42:11.000000"
-23,"1936-04-01 20:39:53.000000"
-24,"1920-12-12 01:48:34.000000"
-25,"1974-05-25 12:28:53.000000"
-26,"1950-06-11 06:37:58.000000"
-27,"1920-02-15 09:16:20.000000"
-28,"1974-12-10 10:36:09.000000"
-29,"1945-12-18 04:29:12.000000"
-30,"1940-11-24 13:42:43.000000"
-31,"1924-03-16 07:12:05.000000"
-32,"1974-06-07 15:00:59.000000"
-33,"1916-04-18 10:53:12.000000"
-34,"1946-04-17 03:35:34.000000"
-35,"1979-06-25 20:32:50.000000"
-36,"2002-08-03 08:35:38.000000"
-37,"1920-07-20 20:13:53.000000"
-38,"1991-06-15 10:26:05.000000"
-39,"1939-12-16 02:42:35.000000"
-40,"1963-03-08 05:57:38.000000"
-41,"1955-04-05 22:28:52.000000"
-42,"1958-07-15 17:26:02.000000"
-43,"1951-12-22 00:35:51.000000"
-44,"2000-10-06 20:14:04.000000"
-45,"1974-11-12 15:19:47.000000"
-46,"1990-05-19 07:44:47.000000"
-47,"1987-08-23 07:46:37.000000"
-48,"1956-06-19 18:24:40.000000"
-49,"1942-08-25 08:58:41.000000"
-50,"1937-07-27 19:00:25.000000"
-51,"1942-09-22 02:16:30.000000"
-52,"1923-03-27 04:21:22.000000"
-53,"1916-06-25 02:28:41.000000"
-54,"1932-07-05 01:57:40.000000"
-55,"1949-05-13 00:15:30.000000"
-56,"2000-03-06 11:15:07.000000"
-57,"1961-01-26 20:27:35.000000"
-58,"1973-08-11 04:30:56.000000"
-59,"2001-01-23 06:34:42.000000"
-60,"1972-03-11 05:30:51.000000"
-61,
-62,"1941-02-22 16:25:13.000000"
-63,"1934-10-24 22:38:13.000000"
-64,"1924-03-03 02:06:52.000000"
-65,"1964-08-27 23:13:09.000000"
-66,"2004-09-01 03:59:20.000000"
-67,"1971-04-11 22:48:17.000000"
-68,"1942-12-10 00:02:53.000000"
-69,"1993-07-15 22:56:53.000000"
-70,"1947-06-27 09:18:26.000000"
-71,"1953-09-24 07:00:48.000000"
-72,"1981-03-01 00:57:52.000000"
-73,"1959-10-26 20:17:37.000000"
-74,"1957-10-03 22:00:13.000000"
-75,"1926-06-13 06:43:56.000000"
-76,"1920-01-20 23:00:08.000000"
-77,"1981-11-20 12:03:51.000000"
-78,"1954-01-07 10:20:34.000000"
-79,"1979-04-04 21:06:24.000000"
-80,"1946-02-18 00:17:53.000000"
-81,"1954-05-07 06:06:51.000000"
-82,"1994-03-13 13:09:47.000000"
-83,"1956-08-13 02:15:54.000000"
-84,"1949-03-23 07:48:48.000000"
-85,"1984-11-26 15:19:28.000000"
-86,"1979-03-04 22:29:06.000000"
-87,"1967-03-18 07:09:45.000000"
-88,"2002-11-03 08:46:38.000000"
-89,"1952-07-10 18:42:50.000000"
-90,"1950-05-12 05:25:15.000000"
-91,"1936-07-01 00:53:50.000000"
-92,"1932-01-18 23:33:23.000000"
-93,"1956-12-22 00:55:08.000000"
-94,"1961-11-25 12:25:50.000000"
-95,"1968-05-17 11:37:01.000000"
-96,"1998-02-08 08:55:08.000000"
-97,"1931-01-07 20:04:37.000000"
-98,"1949-04-13 16:44:15.000000"
-99,"1974-04-19 12:22:37.000000"
-100,"1958-02-19 08:06:02.000000"
diff --git a/tests/test/enginedb_small/csv/ENGINETABLEJOINOPTTIMESTAMP2.csv b/tests/test/enginedb_small/csv/ENGINETABLEJOINOPTTIMESTAMP2.csv
deleted file mode 100644
index a52cca25c..000000000
--- a/tests/test/enginedb_small/csv/ENGINETABLEJOINOPTTIMESTAMP2.csv
+++ /dev/null
@@ -1,100 +0,0 @@
-1,"1915-01-06 09:51:26.000000"
-2,"1994-10-17 03:01:21.000000"
-3,"1964-04-22 16:51:19.000000"
-4,"1990-03-21 14:34:39.000000"
-5,"1948-01-15 19:59:47.000000"
-6,"1987-11-22 09:53:32.000000"
-7,"1944-01-19 09:17:20.000000"
-8,"1976-09-19 07:00:12.000000"
-9,"1927-10-11 15:08:55.000000"
-10,"1942-10-21 19:01:38.000000"
-11,"1954-02-07 19:13:28.000000"
-12,"1989-07-20 19:57:47.000000"
-13,"1992-11-26 14:20:31.000000"
-14,"1994-09-16 07:52:41.000000"
-15,"1936-08-01 08:02:46.000000"
-16,"1938-06-20 04:16:17.000000"
-17,"1980-07-02 08:28:35.000000"
-18,"1972-04-12 17:00:00.000000"
-19,"1999-01-05 01:18:47.000000"
-20,"1989-12-20 05:12:01.000000"
-21,"1998-04-03 20:09:07.000000"
-22,"1947-07-15 18:24:53.000000"
-23,"1953-05-08 08:52:03.000000"
-24,"1971-12-01 22:37:50.000000"
-25,"1969-06-19 09:20:27.000000"
-26,"1915-03-23 19:41:35.000000"
-27,"1989-03-15 04:43:09.000000"
-28,"1950-06-12 01:09:05.000000"
-29,"1972-05-27 15:13:27.000000"
-30,"1927-03-15 04:29:46.000000"
-31,"1993-05-15 23:42:03.000000"
-32,"1983-05-01 21:56:26.000000"
-33,"1935-07-02 14:48:57.000000"
-34,"1939-05-08 13:34:31.000000"
-35,"1968-02-17 12:07:55.000000"
-36,"1936-02-01 14:55:23.000000"
-37,"1939-10-22 07:28:48.000000"
-38,"1950-09-05 19:23:27.000000"
-39,"2003-10-02 23:08:05.000000"
-40,"1970-02-15 08:22:33.000000"
-41,"1998-01-09 09:48:55.000000"
-42,"1942-12-26 11:19:32.000000"
-43,"1987-02-23 16:51:13.000000"
-44,"1952-02-09 06:48:07.000000"
-45,"1978-07-28 03:23:02.000000"
-46,"1993-04-15 13:24:48.000000"
-47,"1983-05-27 10:05:23.000000"
-48,"1956-05-04 21:39:45.000000"
-49,"2004-12-01 03:46:31.000000"
-50,"1993-12-19 04:17:19.000000"
-51,"1952-08-09 08:47:58.000000"
-52,"1920-10-13 23:11:03.000000"
-53,"1932-10-03 23:06:08.000000"
-54,"1955-06-12 03:38:25.000000"
-55,"1942-12-21 06:03:57.000000"
-56,"2000-12-06 05:35:50.000000"
-57,"1962-07-13 20:13:30.000000"
-58,"1959-01-21 16:57:27.000000"
-59,"1940-06-24 20:36:36.000000"
-60,"1922-08-19 23:24:28.000000"
-61,"1984-07-26 17:04:09.000000"
-62,"1949-12-08 05:31:02.000000"
-63,"1980-08-13 17:54:40.000000"
-64,"1943-09-20 02:36:27.000000"
-65,"1929-10-10 12:02:58.000000"
-66,"2003-09-02 07:49:44.000000"
-67,"1919-03-22 03:48:25.000000"
-68,"1943-06-05 01:48:40.000000"
-69,"1943-05-05 16:21:04.000000"
-70,"2000-02-06 10:07:14.000000"
-71,"1960-07-27 02:11:39.000000"
-72,"1956-03-04 22:00:12.000000"
-73,"1987-06-05 00:12:58.000000"
-74,"1958-06-01 03:26:27.000000"
-75,"1986-12-20 05:13:05.000000"
-76,"1969-08-07 12:14:58.000000"
-77,"1969-12-11 05:28:02.000000"
-78,"1998-09-08 06:53:03.000000"
-79,"1984-10-05 19:14:40.000000"
-80,"1987-02-22 05:16:00.000000"
-81,"1937-05-25 08:30:47.000000"
-82,"1954-03-09 04:43:19.000000"
-83,"1979-03-04 01:32:46.000000"
-84,"1998-10-08 19:49:56.000000"
-85,"1980-12-23 14:21:38.000000"
-86,"1952-05-10 21:37:25.000000"
-87,"1941-07-23 19:57:58.000000"
-88,"1923-11-17 20:35:37.000000"
-89,"1960-11-10 14:37:30.000000"
-90,"2003-06-02 12:23:51.000000"
-91,"1968-10-17 20:35:43.000000"
-92,"1952-07-03 16:35:11.000000"
-93,"1932-04-06 23:55:34.000000"
-94,"1980-11-03 07:37:40.000000"
-95,"1935-02-20 09:11:21.000000"
-96,"1980-10-21 13:07:45.000000"
-97,"1920-02-20 09:42:21.000000"
-98,"1963-01-06 18:16:58.000000"
-99,"1925-06-12 06:02:01.000000"
-100,"1996-03-21 00:26:50.000000"
diff --git a/tests/test/enginedb_small/csv/ENGINETABLEJOINOPTVARCHAR1.csv b/tests/test/enginedb_small/csv/ENGINETABLEJOINOPTVARCHAR1.csv
deleted file mode 100644
index ac52c2024..000000000
--- a/tests/test/enginedb_small/csv/ENGINETABLEJOINOPTVARCHAR1.csv
+++ /dev/null
@@ -1,100 +0,0 @@
-1,ABCDE
-2,ABCDE
-3,w4STznPj:EBpteNZC
-4,",Vrp;BsyQI"
-5,ABCDE
-6,
-7,JvjXNm
-8,TEST
-9,MOXWhkKzMHZc_1d6WKk
-10,8OjOE4mSrqHccBPK
-11,J3d0QMtQ8VDori2Y1
-12,".SO.RB.ynRo:lUuD9k,zQHHc;4gT"
-13,0039957411
-14,33409409834
-15,d.mnkmyqMc358MEZm_X
-16,ABCDE
-17,GofPBK
-18,LL2A1egWOwxlP2KozjIE:nfZTZ
-19,0Kf6VDRvEZP;
-20,TEST
-21,ABCDE
-22,ABCDE
-23,TEST
-24,TEST
-25,TEST
-26,104783579775216569148751125877
-27,
-28,ABCDE
-29,LM0u9pl
-30,POMZ;.lmGsg
-31,TEST
-32,TEST
-33,TEST
-34,0601650086265268238549204
-35,
-36,U
-37,ABCDE
-38,"_QcJ5_rR:CIw_Tcu70I,.1p5GN"
-39,YV3:Zf:NhVKD4qTw8eDTe
-40,TEST
-41,TEST
-42,07991
-43,WyjMrZ:_hby
-44,ABCDE
-45,TEST
-46,9GyxNERNF4lS7yvM_SIxjLCMQZr
-47,536
-48,3431992
-49,bLK2.3oWF6i
-50,TEST
-51,qLF3kZ45URsAtpdg1Ool3uHRFq
-52,EspwFW
-53,zvH0G8
-54,AEEv5iO4RaE
-55,
-56,eFZk;
-57,k;zGDfKwfTR8GFZl
-58,
-59,B3
-60,80490134708645674238751
-61,TEST
-62,TEST
-63,TEST
-64,TEST
-65,TEST
-66,TEST
-67,ABCDE
-68,260
-69,TEST
-70,5WNlJ;3lX7QtDfHn8p
-71,;xjkCzw0Tux1E4mTD8qD2
-72,78ID:shkvTWx0RwEUMs8lgxR
-73,TEST
-74,1927067526148855
-75,ABCDE
-76,ABCDE
-77,TEST
-78,l5oPQNQSe
-79,JaiscM4tTPwNTVhoMlzuJX8
-80,"v4XSh69Lz0I,;OlRvtYTv"
-81,TEST
-82,ABCDE
-83,ABCDE
-84,TEST
-85,ABCDE
-86,TEST
-87,7_4rTLnto6cc54bA
-88,ABCDE
-89,4419857105
-90,TEST
-91,TEST
-92,TEST
-93,ABCDE
-94,ABCDE
-95,y2M0WwfUTrYsd0l1w
-96,31Z4:SgAPDLr1:5gPq.ar
-97,"zo0irI;;fHSaz.Hmy4LV2mVrt_,aq"
-98,ABCDE
-99,9LA3CWt4QVJ5xPVEIl_uC16n9
-100,JFIC_xcB
diff --git a/tests/test/enginedb_small/csv/ENGINETABLEJOINOPTVARCHAR2.csv b/tests/test/enginedb_small/csv/ENGINETABLEJOINOPTVARCHAR2.csv
deleted file mode 100644
index 3620f0051..000000000
--- a/tests/test/enginedb_small/csv/ENGINETABLEJOINOPTVARCHAR2.csv
+++ /dev/null
@@ -1,100 +0,0 @@
-1,u6qJbtz6M3_7rdpfy
-2,TEST
-3,TEST
-4,b_yQPHkBzzN4S.ZY.c
-5,147007806667877069248557259
-6,ABCDE
-7,ABCDE
-8,991362402
-9,UksB8vEFo:RNQST0.OTOcQ62K04FV
-10,TEST
-11,6U6qsc8J
-12,12599910163187412603758695164
-13,ABCDE
-14,L70b4bM0R
-15,SRZMP_de1WkCGuO
-16,ABCDE
-17,TEST
-18,TEST
-19,ABCDE
-20,UbVUmSqlav_Yad;3dYVToo6iGdg
-21,TEST
-22,TEST
-23,TEST
-24,Hzcp4eFhSwyVm
-25,D4BbAhmMt
-26,ABCDE
-27,ABCDE
-28,
-29,94548
-30,"6zdjv,Zs:sy3xYiPJK5O"
-31,TEST
-32,TEST
-33,"epBJ_,_NoSl2G6"
-34,41i5x1R5Erb.WoiiJ
-35,TEST
-36,ABCDE
-37,G7sHv0qvgpRfOT0vJE
-38,ABCDE
-39,4LM0S0yjK
-40,94759856711346
-41,"g2Q,6cKeAGE0n0j,Fc9"
-42,HLd01zAZE;gkwIP:Uf
-43,5x_PdN1Ea.;jwCVfcU6I
-44,TEST
-45,
-46,9DziMGhOxDt_
-47,ABCDE
-48,"JQ0Ns,8sEdmTte6trK"
-49,
-50,ABCDE
-51,ABCDE
-52,
-53,88077
-54,"Jv,Yrc;hlAvEVoplfuU3tvOmIq9u"
-55,SfmfqTa
-56,"au:0g,FsJg9RxDOCQwGVcD4tUUbr8"
-57,
-58,2
-59,TEST
-60,ABCDE
-61,TEST
-62,ABCDE
-63,1821986270198652
-64,HpaO3R
-65,"0s,X9gbO8TFvl"
-66,
-67,GT6vYkrB;MsL
-68,ABCDE
-69,ABCDE
-70,
-71,
-72,cN0Sx
-73,0Tg
-74,TEST
-75,TEST
-76,TEST
-77,7770930375137714401
-78,ABCDE
-79,"8iFO,OOQ"
-80,:Zg:.wyfK150Q9HVao;l4O1Rr
-81,41350681528844414312596397103
-82,TEST
-83,TEST
-84,x5;vjyuL3Wrf:4wRrC;giuJ3
-85,ABCDE
-86,ABCDE
-87,7804162388653579173586
-88,ABCDE
-89,_:ofhcL6ONPdK3
-90,596662184913
-91,K;rO.Py3NXThvNZS
-92,Zlwo2lW
-93,ABCDE
-94,ABCDE
-95,TEST
-96,TEST
-97,ABCDE
-98,ABCDE
-99,189402693
-100,oHk.Tpuh3SFB
diff --git a/tests/test/enginedb_small/csv/ENGINETABLEJOINSMALL.csv b/tests/test/enginedb_small/csv/ENGINETABLEJOINSMALL.csv
deleted file mode 100644
index 9b3a6cb74..000000000
--- a/tests/test/enginedb_small/csv/ENGINETABLEJOINSMALL.csv
+++ /dev/null
@@ -1,60 +0,0 @@
-1,-90078.666,8777.48,-1126,8,1,F,"S1                            ",ABCDE,ABCDE,1990-09-19
-2,123.456,6561.25,2745,6,,.,"TEST                          ",hcL6OHM0,ABCDE,
-3,-7991.282,123.45,6,-2355339,-2.3971153e-36,t,"TEST                          ",ABCDE,ABCDE,1979-06-24
-4,1,-3881.42,1,92651759,0.309002887,,"dZ                            ",ABCDE,TEST,1971-04-18
-5,-38642.272,3.86,3,-189507939,7799213900,K,"TEST                          ",ABCDE,TEST,1950-03-12
-6,123.456,2.61,3,-214732243,-600661950000,D,"Ta:fQ;ti                      ",TEST,,1922-09-21
-7,12598.062,-8568.75,7,8,-7.1334124e-33,D,"aN1,                          ",,TEST,1968-01-18
-8,-41613.376,2.85,5,2,5.0794038e21,3,"ABCDE                         ",ABCDE,,1930-11-08
-9,123.456,,6,6,0.728932198,j,"23ZU8nv0P0H0b                 ",ABCDE,TEST,1973-10-11
-10,-53761.957,1.65,834,-2337263,-7.7185387e-11,R,"TEST                          ",TEST,TEST,1965-11-21
-11,123.456,123.45,-25,7,-2.9152039e-23,p,"2nP                           ",p,,1999-08-20
-12,-57817.904,4.63,855,208515739,-426.45292,x,"TEST                          ",OZxYP;JHnbm:e3;S,yL7Yq;5FnTy,1964-04-02
-13,-97398.808,8.57,1034,1,167.23932,k,"U                             ",Yk5CL3y,ABCDE,1961-07-08
-14,10365.261,1.17,-2045,-188506353,-1.8549301e-29,4,"ABCDE                         ",TEST,OuM0TSuA1xrD:,1923-12-23
-15,65352.576,1.83,835,1,0.817420999,Z,"ABCDE                         ",ABCDE,"6SJwURqqba,",
-16,4326.925,5588.63,2824,-12291654,-7.4110775e-22,V,"ABCDE                         ",0F7,D3q,1961-12-26
-17,-8758.608,7.73,,-185411864,4.172603e18,S,"ABCDE                         ",TEST,ABCDE,1982-10-01
-18,29020.994,-1740.07,2124,5,,h,":Lf0R5xNMPF                   ",TEST,LcX40m0P7Jh7MN2sdv1U1nDorsM,1989-08-09
-19,85200.681,-4251.26,3,207452051,-6.8563446e26,I,"TEST                          ",ABCDE,ABCDE,1940-09-01
-20,30305.672,-1003.17,,-12638149,0.198246936,P,"ABCDE                         ",dfySIynmlrv;k,"wFQhGJf5S58AYCatbn,o6hcM5Q_",1943-08-03
-1,-90078.666,8777.48,-1126,8,1,F,"S1                            ",ABCDE,ABCDE,1990-09-19
-2,123.456,6561.25,2745,6,,.,"TEST                          ",hcL6OHM0,ABCDE,
-3,-7991.282,123.45,6,-2355339,-2.3971153e-36,t,"TEST                          ",ABCDE,ABCDE,1979-06-24
-4,1,-3881.42,1,92651759,0.309002887,,"dZ                            ",ABCDE,TEST,1971-04-18
-5,-38642.272,3.86,3,-189507939,7799213900,K,"TEST                          ",ABCDE,TEST,1950-03-12
-6,123.456,2.61,3,-214732243,-600661950000,D,"Ta:fQ;ti                      ",TEST,,1922-09-21
-7,12598.062,-8568.75,7,8,-7.1334124e-33,D,"aN1,                          ",,TEST,1968-01-18
-8,-41613.376,2.85,5,2,5.0794038e21,3,"ABCDE                         ",ABCDE,,1930-11-08
-9,123.456,,6,6,0.728932198,j,"23ZU8nv0P0H0b                 ",ABCDE,TEST,1973-10-11
-10,-53761.957,1.65,834,-2337263,-7.7185387e-11,R,"TEST                          ",TEST,TEST,1965-11-21
-11,123.456,123.45,-25,7,-2.9152039e-23,p,"2nP                           ",p,,1999-08-20
-12,-57817.904,4.63,855,208515739,-426.45292,x,"TEST                          ",OZxYP;JHnbm:e3;S,yL7Yq;5FnTy,1964-04-02
-13,-97398.808,8.57,1034,1,167.23932,k,"U                             ",Yk5CL3y,ABCDE,1961-07-08
-14,10365.261,1.17,-2045,-188506353,-1.8549301e-29,4,"ABCDE                         ",TEST,OuM0TSuA1xrD:,1923-12-23
-15,65352.576,1.83,835,1,0.817420999,Z,"ABCDE                         ",ABCDE,"6SJwURqqba,",
-16,4326.925,5588.63,2824,-12291654,-7.4110775e-22,V,"ABCDE                         ",0F7,D3q,1961-12-26
-17,-8758.608,7.73,,-185411864,4.172603e18,S,"ABCDE                         ",TEST,ABCDE,1982-10-01
-18,29020.994,-1740.07,2124,5,,h,":Lf0R5xNMPF                   ",TEST,LcX40m0P7Jh7MN2sdv1U1nDorsM,1989-08-09
-19,85200.681,-4251.26,3,207452051,-6.8563446e26,I,"TEST                          ",ABCDE,ABCDE,1940-09-01
-20,30305.672,-1003.17,,-12638149,0.198246936,P,"ABCDE                         ",dfySIynmlrv;k,"wFQhGJf5S58AYCatbn,o6hcM5Q_",1943-08-03
-1,-90078.666,8777.48,-1126,8,1,F,"S1                            ",ABCDE,ABCDE,1990-09-19
-2,123.456,6561.25,2745,6,,.,"TEST                          ",hcL6OHM0,ABCDE,
-3,-7991.282,123.45,6,-2355339,-2.3971153e-36,t,"TEST                          ",ABCDE,ABCDE,1979-06-24
-4,1,-3881.42,1,92651759,0.309002887,,"dZ                            ",ABCDE,TEST,1971-04-18
-5,-38642.272,3.86,3,-189507939,7799213900,K,"TEST                          ",ABCDE,TEST,1950-03-12
-6,123.456,2.61,3,-214732243,-600661950000,D,"Ta:fQ;ti                      ",TEST,,1922-09-21
-7,12598.062,-8568.75,7,8,-7.1334124e-33,D,"aN1,                          ",,TEST,1968-01-18
-8,-41613.376,2.85,5,2,5.0794038e21,3,"ABCDE                         ",ABCDE,,1930-11-08
-9,123.456,,6,6,0.728932198,j,"23ZU8nv0P0H0b                 ",ABCDE,TEST,1973-10-11
-10,-53761.957,1.65,834,-2337263,-7.7185387e-11,R,"TEST                          ",TEST,TEST,1965-11-21
-11,123.456,123.45,-25,7,-2.9152039e-23,p,"2nP                           ",p,,1999-08-20
-12,-57817.904,4.63,855,208515739,-426.45292,x,"TEST                          ",OZxYP;JHnbm:e3;S,yL7Yq;5FnTy,1964-04-02
-13,-97398.808,8.57,1034,1,167.23932,k,"U                             ",Yk5CL3y,ABCDE,1961-07-08
-14,10365.261,1.17,-2045,-188506353,-1.8549301e-29,4,"ABCDE                         ",TEST,OuM0TSuA1xrD:,1923-12-23
-15,65352.576,1.83,835,1,0.817420999,Z,"ABCDE                         ",ABCDE,"6SJwURqqba,",
-16,4326.925,5588.63,2824,-12291654,-7.4110775e-22,V,"ABCDE                         ",0F7,D3q,1961-12-26
-17,-8758.608,7.73,,-185411864,4.172603e18,S,"ABCDE                         ",TEST,ABCDE,1982-10-01
-18,29020.994,-1740.07,2124,5,,h,":Lf0R5xNMPF                   ",TEST,LcX40m0P7Jh7MN2sdv1U1nDorsM,1989-08-09
-19,85200.681,-4251.26,3,207452051,-6.8563446e26,I,"TEST                          ",ABCDE,ABCDE,1940-09-01
-20,30305.672,-1003.17,,-12638149,0.198246936,P,"ABCDE                         ",dfySIynmlrv;k,"wFQhGJf5S58AYCatbn,o6hcM5Q_",1943-08-03
diff --git a/tests/test/enginedb_small/csv/ENGINETABLETIMESTAMP1.csv b/tests/test/enginedb_small/csv/ENGINETABLETIMESTAMP1.csv
deleted file mode 100644
index 64ec202cc..000000000
--- a/tests/test/enginedb_small/csv/ENGINETABLETIMESTAMP1.csv
+++ /dev/null
@@ -1,100 +0,0 @@
-1,"1915-01-06 09:51:26.000000"
-2,"1994-10-17 03:01:21.000000"
-3,"1964-04-22 16:51:19.000000"
-4,"1990-03-21 14:34:39.000000"
-5,"1948-01-15 19:59:47.000000"
-6,"1987-11-22 09:53:32.000000"
-7,"1944-01-19 09:17:20.000000"
-8,"1976-09-19 07:00:12.000000"
-9,"1927-10-11 15:08:55.000000"
-10,"1942-10-21 19:01:38.000000"
-11,"1954-02-07 19:13:28.000000"
-12,"1989-07-20 19:57:47.000000"
-13,"1992-11-26 14:20:31.000000"
-14,"1994-09-16 07:52:41.000000"
-15,"1936-08-01 08:02:46.000000"
-16,"1938-06-20 04:16:17.000000"
-17,"1980-07-02 08:28:35.000000"
-18,"1972-04-12 17:00:00.000000"
-19,"1999-01-05 01:18:47.000000"
-20,"1989-12-20 05:12:01.000000"
-21,"1998-04-03 20:09:07.000000"
-22,"1947-07-15 18:24:53.000000"
-23,"1953-05-08 08:52:03.000000"
-24,"1971-12-01 22:37:50.000000"
-25,"1969-06-19 09:20:27.000000"
-26,"1915-03-23 19:41:35.000000"
-27,"1989-03-15 04:43:09.000000"
-28,"1950-06-12 01:09:05.000000"
-29,"1972-05-27 15:13:27.000000"
-30,"1927-03-15 04:29:46.000000"
-31,"1993-05-15 23:42:03.000000"
-32,"1983-05-01 21:56:26.000000"
-33,"1935-07-02 14:48:57.000000"
-34,"1939-05-08 13:34:31.000000"
-35,"1968-02-17 12:07:55.000000"
-36,"1936-02-01 14:55:23.000000"
-37,"1939-10-22 07:28:48.000000"
-38,"1950-09-05 19:23:27.000000"
-39,"2003-10-02 23:08:05.000000"
-40,"1970-02-15 08:22:33.000000"
-41,"1998-01-09 09:48:55.000000"
-42,"1942-12-26 11:19:32.000000"
-43,"1987-02-23 16:51:13.000000"
-44,"2005-05-20 20:05:00.000000"
-45,"1927-04-08 19:07:55.000000"
-46,"1964-12-04 09:02:25.000000"
-47,"1939-07-16 09:48:53.000000"
-48,"1951-12-13 02:23:39.000000"
-49,"1949-02-26 15:45:09.000000"
-50,
-51,"2005-05-20 20:05:00.000000"
-52,"1926-10-15 21:52:57.000000"
-53,"1929-04-10 19:25:39.000000"
-54,"1945-10-28 19:04:46.000000"
-55,"2003-03-02 07:12:46.000000"
-56,"2001-02-04 22:27:27.000000"
-57,"1928-08-12 12:18:56.000000"
-58,"1937-01-27 18:56:56.000000"
-59,"1933-08-24 14:31:31.000000"
-60,"1993-03-15 17:30:04.000000"
-61,"1974-12-13 03:17:27.000000"
-62,"1991-08-17 13:05:39.000000"
-63,"2002-05-14 08:46:34.000000"
-64,"1978-01-05 16:23:56.000000"
-65,"1935-07-01 22:44:37.000000"
-66,"1979-11-19 01:19:43.000000"
-67,"1923-08-13 13:10:47.000000"
-68,"1960-01-28 19:59:40.000000"
-69,"1942-10-21 17:03:12.000000"
-70,"1927-10-12 21:19:27.000000"
-71,"1919-10-19 18:19:22.000000"
-72,"1976-05-03 08:56:09.000000"
-73,"1953-02-07 08:30:33.000000"
-74,"2005-05-20 20:05:00.000000"
-75,"1932-08-06 11:11:06.000000"
-76,"1915-03-06 19:29:09.000000"
-77,"1933-12-05 11:25:01.000000"
-78,"1954-06-06 19:56:41.000000"
-79,"1934-02-03 14:35:12.000000"
-80,"1936-12-01 14:56:22.000000"
-81,"1957-01-04 22:40:16.000000"
-82,"1994-01-25 18:47:10.000000"
-83,"1935-09-09 19:08:46.000000"
-84,"1938-01-26 06:24:52.000000"
-85,"1960-10-27 10:12:19.000000"
-86,"1979-04-03 17:14:06.000000"
-87,"1963-10-07 22:47:16.000000"
-88,"1988-12-15 17:57:48.000000"
-89,"1946-08-17 10:24:20.000000"
-90,"1970-06-14 07:32:47.000000"
-91,"2001-12-04 02:52:34.000000"
-92,"1967-08-19 12:54:20.000000"
-93,"1971-07-11 23:26:03.000000"
-94,"1949-11-13 14:45:36.000000"
-95,"1967-09-05 10:34:06.000000"
-96,"1967-03-18 04:15:11.000000"
-97,"2005-05-20 20:05:00.000000"
-98,"1965-04-21 20:05:19.000000"
-99,"1975-06-07 02:42:24.000000"
-100,"1946-08-21 18:42:32.000000"
diff --git a/tests/test/enginedb_small/csv/ENGINETABLETIMESTAMP2.csv b/tests/test/enginedb_small/csv/ENGINETABLETIMESTAMP2.csv
deleted file mode 100644
index 05535c6df..000000000
--- a/tests/test/enginedb_small/csv/ENGINETABLETIMESTAMP2.csv
+++ /dev/null
@@ -1,100 +0,0 @@
-1,"1958-07-02 22:46:59.000000"
-2,"1916-07-26 21:34:50.000000"
-3,"1957-04-02 02:42:31.000000"
-4,"1919-07-18 23:32:00.000000"
-5,"1914-05-28 08:07:44.000000"
-6,"1971-11-08 11:49:02.000000"
-7,"1970-03-24 03:12:52.000000"
-8,"1957-09-08 07:55:10.000000"
-9,"1940-10-06 04:10:18.000000"
-10,"1986-05-23 02:44:55.000000"
-11,"1940-07-24 23:25:30.000000"
-12,"2000-11-06 13:28:45.000000"
-13,"2002-07-04 23:32:39.000000"
-14,"1949-06-12 02:08:37.000000"
-15,"1924-03-27 03:04:02.000000"
-16,"1979-12-03 22:35:14.000000"
-17,"1915-06-27 04:16:40.000000"
-18,"1941-06-05 11:19:04.000000"
-19,"1975-09-09 14:56:37.000000"
-20,"2005-06-20 20:05:00.000000"
-21,"1988-10-09 16:48:12.000000"
-22,"1926-01-13 19:09:42.000000"
-23,"1928-02-10 08:36:47.000000"
-24,"1988-03-21 05:04:03.000000"
-25,"1982-11-05 17:52:06.000000"
-26,"1966-12-20 05:11:06.000000"
-27,"1965-01-13 17:16:03.000000"
-28,"1956-05-27 04:32:15.000000"
-29,"1999-07-07 19:06:31.000000"
-30,"1924-10-21 14:05:49.000000"
-31,"1970-07-21 22:49:37.000000"
-32,"1960-06-24 01:40:38.000000"
-33,"1932-11-20 11:10:08.000000"
-34,"1954-03-07 19:06:08.000000"
-35,"1954-07-07 19:03:28.000000"
-36,"1923-12-07 04:01:17.000000"
-37,"1988-06-21 09:02:23.000000"
-38,"1956-06-04 14:27:53.000000"
-39,"1951-09-10 06:39:20.000000"
-40,"1970-05-12 08:20:59.000000"
-41,"1917-05-24 12:39:50.000000"
-42,"1984-03-26 23:47:18.000000"
-43,"1986-04-20 21:13:39.000000"
-44,"1979-09-14 02:07:01.000000"
-45,"1997-12-11 05:18:02.000000"
-46,"1977-01-09 17:46:01.000000"
-47,"1965-11-17 21:36:10.000000"
-48,"1986-10-23 17:46:05.000000"
-49,"1969-06-27 05:21:03.000000"
-50,"1961-09-03 04:40:13.000000"
-51,"1923-08-06 10:10:15.000000"
-52,"1975-01-09 20:50:34.000000"
-53,"1974-10-18 18:32:44.000000"
-54,"1945-04-18 10:32:10.000000"
-55,"1942-09-24 04:00:18.000000"
-56,"1986-03-24 21:24:10.000000"
-57,"2001-08-05 09:25:24.000000"
-58,"1946-10-17 18:39:03.000000"
-59,"1984-07-26 23:58:02.000000"
-60,"1932-10-12 10:42:45.000000"
-61,"1980-08-03 15:36:57.000000"
-62,"1978-05-05 09:45:20.000000"
-63,
-64,"1968-04-17 20:39:20.000000"
-65,"1968-07-13 16:14:17.000000"
-66,"1987-02-23 02:17:51.000000"
-67,"1968-07-18 11:09:05.000000"
-68,"1933-06-04 07:00:06.000000"
-69,"1967-10-18 20:29:07.000000"
-70,"1919-10-22 21:53:26.000000"
-71,"1975-12-14 16:25:14.000000"
-72,"1993-10-14 16:32:31.000000"
-73,"1993-05-10 11:03:09.000000"
-74,"1950-06-07 04:24:04.000000"
-75,"1922-03-23 03:48:15.000000"
-76,"1980-04-26 20:20:37.000000"
-77,"1961-07-26 22:20:18.000000"
-78,"1997-01-09 11:44:30.000000"
-79,"1967-06-23 00:45:30.000000"
-80,"1982-11-26 08:21:43.000000"
-81,"1921-10-19 17:09:19.000000"
-82,"1979-10-04 04:28:17.000000"
-83,"1958-06-02 20:46:03.000000"
-84,"1957-12-03 01:44:41.000000"
-85,"1936-10-23 21:46:20.000000"
-86,"1995-05-12 14:04:37.000000"
-87,"1937-11-28 15:03:21.000000"
-88,"1962-10-24 13:36:49.000000"
-89,"1960-04-27 19:09:48.000000"
-90,"1981-11-21 11:06:08.000000"
-91,"1951-01-02 14:48:30.000000"
-92,"2000-04-06 05:13:02.000000"
-93,"1991-09-16 04:51:24.000000"
-94,"1983-09-25 06:45:52.000000"
-95,"1959-03-11 05:31:11.000000"
-96,"1932-05-05 15:27:26.000000"
-97,"1950-04-12 13:25:41.000000"
-98,"1932-11-10 20:46:35.000000"
-99,"1971-07-14 16:02:18.000000"
-100,"1985-09-24 01:13:11.000000"
diff --git a/tests/test/enginedb_small/csv/ENGINETABLEUNICODE.csv b/tests/test/enginedb_small/csv/ENGINETABLEUNICODE.csv
deleted file mode 100644
index 4c3a0dfcd..000000000
--- a/tests/test/enginedb_small/csv/ENGINETABLEUNICODE.csv
+++ /dev/null
@@ -1,100 +0,0 @@
-1,"犮犯犰犱      ",가각갂갃간갅갆갇갈갉갊갋갌갍갎갏감갑값갓갔강갖갗갘같갚갛개객갞갟갠갡갢갣갤갥갦갧갨갩갪갫갬갭갮갯갰갱갲갳갴
-2,"닩닪닫달닭닮닯닰닱 ",ཀྵཪ
-3,"ⰍⰎⰏⰐⰑ     ",豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱亂卵欄爛蘭鸞嵐濫藍襤拉臘蠟廊朗浪狼郎來冷勞擄櫓爐盧老蘆虜路露魯鷺碌祿綠菉錄鹿論壟弄籠聾牢磊賂雷壘屢樓淚漏累縷陋勒肋凜凌稜綾菱陵讀拏樂
-4,"ルレ        ",䌽䌾䌿䍀䍁䍂䍃䍄䍅䍆䍇䍈䍉䍊䍋䍌䍍䍎䍏䍐䍑䍒䍓䍔䍕䍖
-5,"孟孠孡孢季孤孥   ",׆ׇ׈׉׊׋׌׍׎׏אבגדהוזחטיךכלם
-6,"삹삺삻삼삽삾    ",豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱亂卵欄爛蘭鸞嵐濫
-7,"가각갂갃      ",렝렞렟렠렡렢렣려력렦렧련렩렪렫렬렭렮렯렰렱렲렳렴렵렶렷렸령렺렻렼렽렾렿례롁롂롃롄롅롆롇롈롉롊롋롌롍롎롏롐롑롒롓롔롕롖롗롘롙롚롛로록롞롟론롡롢롣
-8,"ᓷᓸᓹᓺᓻᓼᓽ   ",豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱亂卵欄爛蘭鸞嵐濫藍襤拉臘蠟廊朗浪狼郎來冷勞擄櫓爐盧老蘆虜路露魯鷺碌祿綠菉錄鹿論壟弄籠聾牢磊賂雷壘屢樓淚漏累縷陋勒
-9,"浦浧浨浩浪     ",豈更車賈滑串句龜龜契
-10,"苔         ",푀푁푂푃푄푅푆푇푈푉푊푋푌푍푎푏푐푑푒푓푔푕푖푗푘푙푚푛표푝푞푟푠푡푢푣푤푥
-11,"纗纘纙纚纛纜纝纞纟 ",豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱亂卵欄爛蘭鸞嵐濫藍襤拉臘蠟廊朗浪狼郎來冷勞擄櫓爐盧老蘆虜路露魯鷺碌祿綠菉錄鹿論壟弄籠聾牢磊賂雷壘屢樓淚漏累縷
-12,"䝇         ",ᴒᴓᴔᴕᴖᴗᴘᴙᴚᴛᴜᴝᴞᴟᴠᴡ
-13,"烎烏        ",廧廨廩廪廫廬廭廮廯廰廱廲廳廴廵延廷廸廹建廻廼廽廾廿开弁异弃弄弅弆弇弈弉弊弋弌弍弎式弐弑弒弓弔引弖弗弘弙弚弛弜弝弞弟张弡弢弣弤弥弦弧弨弩弪弫弬弭弮弯弰弱弲弳弴張弶強弸
-14,"汒         ",⶝
-15,"豈更車       ",鬆鬇鬈鬉鬊鬋鬌鬍鬎鬏鬐鬑鬒鬓鬔鬕鬖鬗鬘鬙鬚鬛鬜鬝鬞鬟鬠鬡鬢鬣鬤鬥鬦鬧鬨鬩鬪鬫鬬鬭鬮鬯鬰鬱鬲鬳鬴鬵鬶鬷鬸鬹鬺鬻鬼鬽鬾鬿魀魁魂魃魄魅魆魇魈魉魊魋魌魍魎魏
-16,"糋糌糍糎糏     ",ꎭꎮꎯꎰꎱꎲꎳꎴꎵꎶꎷꎸꎹꎺꎻꎼꎽꎾꎿꏀꏁꏂꏃꏄꏅꏆꏇꏈ
-17,"隽难隿雀雁雂    ",✀✁✂✃✄✅✆✇✈✉✊✋✌✍✎✏✐✑✒✓✔✕✖✗✘✙✚✛✜✝✞✟✠✡✢✣✤✥✦✧✨✩✪✫✬✭✮✯✰✱✲✳✴✵
-18,"豈更車賈滑串句龜  ",蔝蔞蔟蔠蔡蔢蔣蔤蔥蔦蔧蔨蔩
-19,"豈更車賈滑串句龜龜 ",黢黣黤黥黦黧黨黩黪黫黬黭黮黯黰黱黲黳黴黵黶黷黸黹黺黻
-20,"鼵鼶鼷鼸鼹鼺鼻鼼  ",픬픭픮픯픰픱픲픳픴픵픶픷픸픹픺픻피픽픾픿핀핁핂핃필핅핆핇핈핉핊핋핌핍핎핏핐핑핒핓핔핕핖핗하학핚핛한핝핞핟할핡핢핣핤핥핦핧함합핪핫핬항핮핯핰핱핲핳해핵핶핷핸핹핺핻핼핽핾핿햀햁햂햃햄햅햆햇했행햊햋햌햍햎
-21,"囷囸        ",豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱亂卵欄爛蘭鸞嵐濫藍襤拉臘蠟
-22,"䍠         ",瀪瀫瀬瀭瀮
-23,"麒麓麔麕麖麗麘麙  ",豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱亂卵欄爛蘭鸞嵐濫藍襤拉臘蠟廊朗浪狼郎來冷勞擄櫓爐盧老蘆虜路露魯鷺碌祿綠菉錄鹿論壟弄籠聾牢磊賂雷壘屢樓淚漏累縷陋勒
-24,"ֶַָֹֺֻ    ",ᘓᘔᘕᘖᘗᘘᘙᘚᘛᘜᘝᘞᘟᘠᘡᘢᘣᘤᘥᘦᘧᘨᘩᘪᘫᘬᘭᘮᘯᘰᘱᘲᘳᘴᘵᘶᘷᘸᘹᘺᘻᘼᘽᘾᘿᙀᙁᙂᙃᙄᙅᙆᙇᙈᙉᙊᙋᙌᙍᙎᙏᙐᙑᙒᙓᙔᙕᙖᙗᙘᙙᙚᙛᙜᙝᙞᙟᙠᙡᙢᙣᙤᙥᙦᙧᙨᙩᙪᙫᙬ᙭᙮ᙯᙰ
-25,"耑耒耓耔耕耖耗耘耙 ",豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱亂卵欄爛蘭鸞嵐濫藍襤拉臘蠟廊朗浪狼郎來冷勞擄櫓爐盧老蘆虜路露魯鷺碌祿綠菉錄鹿論壟弄籠聾牢磊賂雷壘屢
-26,"Ᵹ         ",路跰跱跲跳跴践跶跷跸跹跺跻跼跽跾跿踀踁踂踃踄踅踆踇踈踉踊踋踌踍踎踏踐踑踒踓踔踕踖踗踘踙踚踛踜踝踞踟踠踡踢踣踤踥踦踧踨踩踪踫踬踭踮踯踰踱踲踳踴踵踶踷踸踹踺踻踼踽踾踿
-27,"뼆뼇        ",㊜㊝㊞㊟㊠㊡㊢㊣㊤㊥㊦㊧㊨㊩㊪㊫㊬㊭㊮㊯㊰㊱㊲㊳㊴㊵㊶㊷㊸㊹㊺㊻㊼㊽㊾㊿㋀㋁㋂㋃㋄㋅㋆㋇㋈㋉㋊㋋㋌㋍㋎㋏㋐㋑㋒㋓㋔㋕㋖㋗㋘㋙㋚㋛㋜㋝㋞㋟㋠㋡㋢㋣㋤㋥㋦㋧㋨㋩㋪㋫㋬㋭㋮㋯
-28,"㗯㗰㗱㗲㗳㗴㗵㗶㗷 ",㈼㈽㈾㈿㉀㉁㉂㉃㉄㉅㉆㉇㉈㉉㉊㉋
-29,"๴         ",ꁼꁽꁾꁿꂀꂁꂂꂃꂄꂅꂆꂇꂈꂉꂊꂋꂌꂍꂎꂏꂐꂑꂒꂓꂔꂕꂖꂗꂘꂙꂚꂛꂜꂝꂞꂟꂠꂡꂢꂣꂤꂥꂦꂧꂨꂩꂪꂫꂬꂭꂮꂯꂰꂱꂲꂳꂴꂵꂶꂷꂸꂹꂺꂻꂼꂽꂾꂿꃀꃁꃂꃃꃄꃅꃆꃇꃈꃉꃊ
-30,"堛堜堝堞堟堠堡堢堣 ",쯖쯗쯘쯙쯚쯛쯜쯝쯞쯟쯠쯡쯢쯣쯤쯥쯦쯧쯨쯩쯪쯫쯬쯭쯮쯯쯰쯱쯲쯳쯴쯵쯶쯷쯸쯹쯺쯻쯼
-31,"íîï       ",焴焵然焷焸焹焺焻焼焽焾焿煀煁煂煃煄煅煆煇煈煉煊煋煌煍煎煏煐煑煒煓煔煕煖煗煘煙煚煛煜煝煞煟煠煡煢煣煤煥煦照煨煩煪煫煬煭煮煯煰煱煲煳煴煵煶煷煸煹煺煻煼煽煾煿熀熁熂熃熄熅熆熇
-32,"쬄쬅쬆쬇쬈쬉쬊쬋  ",륆륇륈륉륊륋륌륍륎륏륐륑륒륓륔륕륖륗류륙
-33,"巪巫        ",ର଱ଲଳ଴ଵଶଷସହ଺଻଼ଽାିୀୁୂୃୄ୅୆େୈ୉୊ୋୌ୍୎୏୐୑୒୓୔୕ୖୗ୘୙୚୛ଡ଼ଢ଼୞ୟୠୡୢୣ୤୥୦୧୨୩୪୫୬୭୮୯୰ୱ୲୳୴୵୶୷୸୹୺୻୼୽
-34,"禈禉禊禋      ",䴕䴖䴗䴘䴙䴚䴛䴜䴝䴞䴟䴠䴡䴢䴣䴤䴥䴦䴧䴨䴩䴪䴫䴬䴭䴮䴯䴰䴱䴲䴳䴴䴵䴶䴷䴸䴹䴺䴻䴼䴽䴾䴿䵀䵁䵂䵃䵄䵅䵆䵇䵈䵉䵊䵋䵌䵍䵎䵏䵐䵑䵒䵓䵔䵕䵖䵗䵘䵙䵚䵛䵜䵝䵞䵟䵠䵡䵢䵣䵤䵥䵦䵧䵨䵩䵪
-35,"旨早旪旫      ",㩽㩾㩿㪀㪁㪂㪃㪄㪅㪆㪇㪈㪉㪊㪋㪌㪍㪎㪏㪐㪑㪒㪓㪔㪕㪖㪗㪘㪙㪚㪛㪜㪝㪞㪟㪠㪡㪢㪣㪤㪥㪦㪧㪨
-36,"豈更車賈滑串句龜  ",᛻᛼᛽᛾᛿ᜀᜁᜂᜃᜄᜅᜆᜇᜈᜉᜊᜋᜌᜍᜎᜏᜐᜑᜒᜓ᜔᜕᜖᜗᜘᜙᜚᜛᜜᜝᜞ᜟᜠᜡᜢᜣᜤᜥᜦᜧᜨᜩᜪᜫᜬᜭᜮᜯ
-37,"㚀㚁㚂㚃㚄     ",ƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǂǃǄǅǆǇǈǉǊǋǌǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩ
-38,"뤇뤈뤉뤊뤋     ",줽줾줿쥀쥁쥂쥃쥄쥅쥆쥇쥈쥉쥊쥋쥌쥍쥎쥏쥐쥑쥒쥓쥔쥕쥖쥗쥘쥙쥚쥛쥜쥝쥞쥟쥠쥡쥢쥣쥤쥥쥦쥧쥨쥩쥪쥫쥬쥭쥮쥯쥰쥱쥲쥳쥴쥵쥶쥷쥸쥹쥺쥻쥼쥽쥾쥿즀즁즂즃즄즅즆즇즈즉즊즋즌즍즎즏즐즑즒즓즔즕즖즗즘
-39,"㶅         ",羗羘羙羚羛羜羝羞羟羠羡羢羣群羥羦羧羨義羪羫羬羭
-40,"蝺蝻蝼蝽蝾蝿螀   ",徃径待徆徇很徉徊律後徍徎徏徐徑徒従徔徕徖得徘徙徚徛徜徝從徟徠御徢徣徤徥徦徧徨復循徫徬徭微徯徰徱徲徳徴徵徶德徸徹徺
-41,"悷悸悹悺悻悼悽   ",㆜㆝㆞㆟ㆠㆡㆢㆣㆤㆥㆦㆧㆨㆩㆪㆫㆬㆭㆮㆯㆰㆱㆲㆳㆴㆵㆶㆷㆸㆹㆺㆻㆼㆽㆾㆿ㇀㇁㇂㇃㇄㇅㇆㇇㇈㇉㇊㇋㇌㇍㇎㇏㇐
-42,"誮誯        ",栧栨栩株栫
-43,"컮컯컰컱컲컳컴컵  ",弌弍弎式弐弑弒弓弔引弖弗弘弙弚弛弜弝弞弟张弡弢弣弤弥弦弧弨弩弪弫弬弭弮弯弰弱弲弳弴張弶強弸弹强弻弼弽弾弿彀彁彂彃彄彅彆彇彈彉彊彋彌彍彎彏彐彑归
-44,"嵫嵬嵭嵮嵯嵰嵱嵲  ",豈更車賈滑串句龜龜契金喇
-45,"칼칽칾칿캀캁캂캃캄 ",豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱
-46,"㴯㴰㴱㴲      ",ඌඍඎඏඐඑඒඓඔ
-47,"가각갂갃간     ",⯥⯦⯧⯨⯩⯪⯫⯬⯭⯮⯯⯰⯱⯲⯳⯴⯵⯶⯷⯸⯹⯺⯻⯼⯽⯾⯿ⰀⰁⰂⰃⰄⰅⰆⰇⰈⰉⰊⰋⰌⰍⰎⰏⰐⰑⰒⰓⰔⰕⰖⰗⰘⰙⰚⰛⰜⰝⰞⰟⰠⰡⰢⰣⰤⰥⰦⰧⰨⰩⰪⰫⰬⰭⰮⰯⰰⰱⰲⰳⰴⰵⰶⰷⰸⰹⰺⰻⰼⰽⰾⰿⱀⱁⱂⱃⱄⱅⱆⱇ
-48,"鏿鐀鐁       ",豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱亂卵欄
-49,"偶偷偸偹偺偻偼   ",᱾᱿ᲀᲁᲂᲃᲄᲅᲆᲇᲈᲉᲊ᲋᲌᲍᲎᲏ᲐᲑᲒᲓᲔᲕᲖᲗᲘᲙᲚᲛᲜᲝᲞᲟ
-50,"␥␦␧␨␩     ",怭怮怯怰怱怲怳怴怵怶怷怸怹怺总怼怽怾怿恀恁恂恃恄恅恆恇恈恉恊恋恌恍恎恏恐恑恒恓恔恕恖恗恘恙恚恛恜恝恞恟恠恡恢恣恤恥恦恧恨恩恪恫
-51,"豈更車賈滑串句   ",ᗸᗹᗺᗻᗼᗽᗾᗿᘀᘁᘂᘃᘄᘅᘆᘇᘈᘉᘊᘋᘌᘍᘎᘏᘐᘑᘒᘓᘔᘕᘖᘗᘘᘙᘚᘛᘜᘝᘞᘟᘠᘡᘢᘣᘤᘥ
-52,"纔         ",豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱亂卵欄爛蘭鸞嵐濫藍襤拉臘蠟廊朗浪狼郎來冷勞擄櫓爐盧老蘆虜路露魯鷺碌祿綠菉錄鹿論壟弄籠聾牢磊賂雷壘屢樓淚漏累縷陋勒肋凜凌稜綾菱陵讀拏樂諾丹寧
-53,"何佖        ",쌭쌮쌯쌰쌱쌲쌳쌴
-54,"ꜙꜚꜛꜜꜝꜞꜟ꜠꜡ ",鬇鬈鬉鬊鬋鬌
-55,"矆矇矈矉矊     ",튍튎튏튐튑튒튓튔튕튖튗튘튙튚튛튜튝튞튟튠튡튢튣튤튥튦튧튨튩튪튫튬튭튮튯튰튱튲튳튴튵튶튷트특튺튻튼튽튾튿틀틁틂틃틄틅틆틇틈틉틊틋틌틍틎틏틐틑틒틓틔틕틖틗틘틙틚틛틜틝틞
-56,"⹚         ",咯咰咱咲咳咴咵咶咷咸咹咺咻咼咽咾咿哀品哂哃哄哅哆哇哈哉哊哋哌响哎哏哐哑哒哓哔哕哖哗哘哙哚哛哜
-57,"ﺈﺉﺊﺋﺌﺍﺎﺏﺐ ",䯨䯩䯪䯫䯬䯭䯮䯯䯰䯱䯲䯳䯴䯵䯶䯷䯸䯹䯺䯻䯼䯽䯾䯿䰀䰁䰂䰃䰄䰅䰆䰇䰈䰉䰊䰋䰌䰍䰎䰏䰐䰑䰒䰓䰔䰕䰖䰗䰘䰙䰚䰛䰜䰝䰞䰟䰠䰡䰢䰣䰤䰥䰦䰧䰨䰩䰪䰫䰬䰭䰮䰯䰰䰱䰲䰳䰴䰵䰶䰷䰸䰹䰺䰻䰼䰽䰾䰿䱀
-58,"뺛뺜뺝뺞      ",⨋⨌⨍⨎⨏⨐⨑⨒⨓⨔⨕⨖⨗⨘⨙⨚⨛⨜⨝⨞⨟⨠⨡⨢⨣⨤⨥⨦⨧⨨⨩⨪⨫⨬⨭⨮⨯⨰⨱⨲⨳⨴⨵⨶⨷⨸⨹⨺⨻⨼⨽⨾⨿⩀⩁⩂⩃⩄⩅⩆⩇⩈⩉⩊⩋⩌⩍⩎⩏⩐⩑⩒⩓⩔⩕⩖⩗⩘⩙⩚
-59,"ᚲᚳᚴ       ",铋铌铍铎铏铐铑铒铓铔铕铖铗铘铙铚铛铜铝铞铟铠铡铢铣铤铥铦铧铨铩铪铫铬铭铮铯铰铱铲
-60,"뽡뽢뽣뽤뽥뽦뽧뽨  ",똥똦똧똨똩똪똫똬똭똮똯똰똱똲똳똴똵똶똷똸똹똺똻똼똽똾똿뙀뙁뙂뙃뙄뙅뙆뙇뙈뙉
-61,"磗磘磙磚磛磜    ",ቒቓቔቕቖ቗ቘ቙ቚቛቜቝ቞቟በቡቢ
-62,"머먹먺먻먼먽먾먿  ",ベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶヷヸヹヺ・ーヽヾヿ㄀㄁㄂㄃㄄ㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙㄚㄛㄜㄝㄞㄟㄠㄡㄢㄣ
-63,"⾾⾿⿀       ",㈡㈢㈣㈤㈥㈦㈧㈨㈩㈪㈫㈬㈭㈮㈯㈰㈱㈲㈳㈴㈵㈶㈷㈸㈹㈺㈻㈼㈽㈾㈿㉀㉁㉂㉃㉄㉅㉆㉇㉈㉉㉊㉋㉌㉍㉎㉏㉐㉑㉒㉓㉔㉕㉖㉗㉘㉙㉚㉛㉜㉝㉞㉟㉠㉡㉢㉣㉤㉥㉦㉧
-64,"㲥㲦㲧㲨㲩㲪㲫㲬㲭 ",ۨ۩۪ۭ۫۬ۮۯ۰۱۲۳۴۵۶۷۸۹ۺۻۼ۽۾ۿ܀܁܂܃܄܅܆܇܈܉܊܋܌܍܎܏ܐܑܒܓܔܕܖܗܘ
-65,"脙脚脛脜      ",荇
-66,"뾷뾸뾹뾺뾻뾼    ",ퟴퟵퟶퟷퟸퟹퟺퟻ퟼퟽퟾퟿豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸邏樂
-67,"ལཤཥསཧཨཀྵ   ",桘桙桚桛桜桝桞桟桠桡桢档桤桥桦桧桨桩桪桫桬桭桮桯桰桱桲桳桴桵桶桷桸桹桺桻桼桽桾桿梀梁梂梃梄梅梆梇梈梉梊梋梌梍梎梏梐梑梒梓梔梕梖梗梘梙梚梛梜條梞梟梠梡梢梣梤梥梦梧梨梩梪梫
-68,"嬴嬵        ",溴溵溶溷溸溹溺溻溼溽溾溿滀滁滂滃滄
-69,"࿴࿵࿶࿷࿸࿹    ",돡돢돣돤돥돦돧돨돩돪돫돬돭돮돯돰돱돲돳돴돵돶돷돸돹돺돻돼돽돾돿됀됁됂됃
-70,"롭롮롯       ",⠓⠔⠕⠖⠗⠘⠙⠚⠛⠜⠝⠞⠟⠠⠡⠢⠣⠤⠥⠦⠧⠨⠩⠪⠫⠬⠭⠮⠯⠰⠱⠲⠳⠴⠵⠶⠷⠸⠹⠺⠻⠼⠽⠾⠿⡀⡁
-71,"낤낥낦낧남납    ",䪜䪝䪞䪟䪠䪡䪢䪣䪤䪥䪦䪧䪨䪩䪪䪫䪬䪭䪮䪯䪰䪱䪲䪳䪴䪵䪶䪷䪸䪹䪺䪻䪼䪽䪾䪿䫀䫁
-72,"둍둎둏두      ",᎘᎙᎚᎛᎜᎝᎞᎟ᎠᎡᎢᎣᎤᎥᎦᎧᎨᎩᎪᎫᎬᎭᎮᎯᎰᎱᎲᎳᎴᎵᎶᎷᎸᎹᎺᎻᎼᎽᎾᎿᏀᏁᏂᏃᏄᏅ
-73,"胅胆胇胈      ",슗슘슙슚슛슜슝슞슟슠슡슢슣스슥슦슧슨슩슪슫슬슭슮슯슰슱슲슳슴습슶슷슸승슺슻슼
-74,"бвгдежзи  ",擿攀攁攂攃攄攅攆攇攈攉攊攋攌攍攎攏攐攑攒攓攔攕攖攗攘攙攚攛攜攝攞攟攠攡攢攣攤攥攦攧攨攩攪攫攬攭攮支攰攱攲攳攴攵收攷攸改攺攻攼攽放政敀敁敂敃敄故敆敇效敉敊敋敌敍敎敏敐救敒敓敔敕敖
-75,"⸉⸊⸋⸌⸍     ",䦃䦄䦅䦆䦇䦈䦉䦊䦋䦌䦍䦎䦏䦐䦑䦒䦓䦔䦕䦖䦗䦘䦙䦚䦛䦜䦝䦞䦟䦠䦡䦢䦣䦤䦥䦦䦧
-76,"豈         ",豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱亂卵欄爛蘭鸞嵐濫藍襤拉臘蠟廊朗浪狼郎來冷勞擄櫓爐盧老蘆虜路露魯鷺碌祿綠菉錄鹿論壟弄籠聾牢磊賂雷壘屢樓淚漏累縷陋勒肋凜凌稜綾菱陵讀拏樂
-77,"豈更車賈滑串    ",豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱亂卵欄爛蘭鸞嵐濫藍襤拉臘蠟廊朗浪狼郎來冷勞擄櫓爐盧老蘆虜
-78,"悍悎悏悐悑     ",镌镍镎镏镐镑镒镓镔镕镖镗镘镙镚镛镜镝镞镟镠镡镢镣镤镥镦镧镨镩镪镫镬镭镮镯镰镱镲镳镴镵镶長镸镹镺镻镼镽镾长門閁閂閃閄閅閆閇閈閉閊開閌閍閎閏閐閑閒間閔閕閖閗閘閙閚閛閜閝閞閟
-79,"☹☺☻☼☽☾    ",豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱亂卵欄爛蘭鸞嵐濫藍襤拉臘蠟廊朗浪狼郎來
-80,"鹬         ",㎊㎋㎌㎍㎎㎏㎐㎑㎒㎓㎔㎕㎖㎗㎘㎙㎚㎛㎜㎝㎞㎟㎠㎡㎢㎣㎤㎥㎦㎧㎨㎩㎪㎫㎬㎭㎮㎯㎰㎱㎲㎳㎴㎵㎶㎷㎸㎹㎺㎻㎼㎽㎾㎿㏀㏁㏂㏃㏄㏅㏆㏇㏈㏉㏊㏋㏌㏍㏎㏏㏐㏑㏒㏓㏔㏕㏖㏗㏘㏙㏚㏛㏜㏝㏞㏟㏠㏡㏢㏣㏤㏥㏦㏧㏨㏩㏪
-81,"╙╚╛       ",颓颔颕颖颗题颙颚颛颜额颞颟颠颡颢颣颤颥颦颧風颩颪颫颬颭颮颯颰颱颲颳颴颵颶颷颸颹颺颻颼颽颾颿飀飁飂飃飄
-82,"튟튠튡튢튣튤    ",豈更車賈滑串句
-83,"훤훥        ",軨軩軪軫軬軭軮軯軰軱軲軳軴軵軶軷軸軹軺軻軼軽軾軿輀輁輂較輄輅輆輇輈載輊輋輌輍輎輏輐輑輒輓輔輕輖輗輘輙輚輛輜輝輞輟輠輡輢輣輤輥輦輧輨輩輪輫輬輭輮輯輰輱輲輳輴輵輶輷輸輹輺輻輼輽輾輿轀
-84,"迎迏运近迒     ",㱬㱭㱮㱯㱰㱱㱲㱳㱴㱵㱶㱷㱸㱹㱺㱻㱼㱽㱾㱿㲀㲁㲂㲃㲄㲅㲆㲇㲈㲉㲊㲋㲌㲍㲎㲏㲐㲑㲒㲓㲔㲕㲖㲗㲘㲙㲚㲛㲜㲝㲞㲟㲠㲡㲢㲣㲤㲥㲦㲧㲨㲩㲪㲫㲬㲭㲮㲯㲰㲱㲲㲳㲴㲵㲶㲷㲸㲹㲺㲻㲼㲽㲾㲿㳀㳁㳂㳃㳄㳅㳆㳇㳈㳉㳊
-85,"봴봵봶봷봸     ",豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱亂卵欄爛蘭鸞嵐濫藍襤拉臘蠟廊朗浪狼郎來冷勞擄櫓爐盧老蘆虜路露魯鷺碌祿綠菉錄鹿論壟弄籠聾牢
-86,"䘋䘌        ",邈邉邊邋邌邍邎邏邐邑邒邓邔邕邖邗邘邙邚邛邜邝邞邟邠邡邢那邤邥邦邧邨邩邪邫邬邭邮邯邰邱邲邳邴邵邶邷邸邹邺邻邼邽邾邿郀郁郂郃郄郅郆郇郈郉郊郋郌郍郎郏郐郑郒郓郔郕郖
-87,"똃똄        ",爹爺爻爼爽爾爿牀牁牂牃牄牅牆片版牉牊牋牌牍牎牏牐牑牒牓牔牕牖牗牘牙牚牛牜牝牞牟牠牡牢牣牤牥牦牧牨物牪牫牬牭牮牯牰牱牲牳牴牵牶牷
-88,"俎俏俐俑俒俓俔俕俖 ",枒枓枔枕枖林枘枙枚枛果枝枞枟枠枡枢枣枤枥枦枧枨枩枪枫枬枭枮枯枰枱枲枳枴
-89,"璋璌璍璎璏璐璑璒  ",鿹鿺鿻鿼鿽鿾鿿ꀀꀁꀂꀃꀄꀅꀆꀇꀈꀉꀊꀋꀌꀍꀎꀏꀐꀑꀒꀓꀔꀕꀖꀗꀘꀙꀚꀛꀜ
-90,"籡籢籣籤籥籦籧籨  ",㠩㠪㠫㠬㠭㠮㠯㠰㠱㠲㠳㠴㠵㠶㠷㠸㠹㠺㠻㠼㠽㠾㠿㡀㡁㡂㡃
-91,"턚턛턜턝턞턟턠턡  ",容宺宻宼宽宾宿寀寁寂寃寄寅密寇寈寉寊寋富寍寎寏寐寑寒寓寔寕寖寗寘寙寚寛寜寝寞察寠寡寢寣寤寥實寧寨審寪
-92,"⇱         ",豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱亂卵欄爛蘭鸞嵐濫藍襤拉臘蠟廊朗浪狼郎來冷勞擄櫓爐盧老蘆虜路露魯鷺
-93,"ﺬﺭﺮﺯﺰﺱ    ",豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱亂卵欄爛蘭鸞嵐濫藍襤拉臘蠟廊朗浪狼郎來冷勞擄櫓爐盧老蘆虜路露魯鷺碌祿綠菉錄鹿論壟
-94,"쬗쬘쬙쬚쬛쬜쬝쬞  ",킒킓킔킕킖킗
-95,"됚됛된됝됞됟될됡됢 ",䮏䮐䮑䮒䮓䮔䮕䮖䮗䮘䮙䮚䮛䮜䮝䮞䮟䮠䮡䮢䮣䮤䮥䮦䮧䮨䮩䮪䮫䮬䮭䮮䮯䮰䮱䮲䮳䮴䮵䮶䮷䮸䮹䮺䮻䮼䮽䮾䮿䯀䯁䯂䯃䯄䯅䯆䯇䯈䯉䯊䯋䯌䯍䯎䯏䯐䯑䯒䯓䯔䯕䯖䯗䯘䯙
-96,"낐낑낒낓낔     ",ꐏꐐꐑꐒꐓꐔꐕꐖꐗꐘꐙꐚꐛꐜꐝꐞꐟꐠꐡꐢꐣ
-97,"即         ",떥떦떧떨떩떪떫떬떭떮떯떰떱떲떳떴떵떶떷떸떹떺떻떼떽떾떿뗀뗁뗂뗃뗄뗅뗆뗇뗈뗉뗊뗋뗌뗍뗎뗏뗐뗑뗒뗓뗔뗕뗖뗗
-98,"ᲯᲰᲱᲲ      ",⍵⍶⍷⍸⍹⍺⍻⍼⍽⍾⍿⎀⎁⎂⎃⎄⎅⎆⎇⎈⎉⎊⎋⎌⎍⎎⎏⎐⎑⎒⎓⎔⎕⎖⎗⎘⎙⎚⎛⎜⎝⎞⎟⎠⎡⎢⎣⎤⎥⎦⎧⎨⎩⎪⎫⎬⎭⎮⎯⎰⎱⎲⎳⎴⎵⎶⎷⎸⎹⎺⎻⎼⎽⎾⎿⏀⏁⏂⏃⏄⏅⏆⏇⏈⏉⏊⏋⏌⏍⏎⏏⏐⏑⏒
-99,"달         ",沗沘沙沚沛沜沝沞沟沠没沢沣沤沥沦沧沨沩沪沫沬沭沮沯沰沱沲河沴沵沶沷沸油沺治沼沽沾沿泀況泂泃泄泅泆泇泈泉泊泋泌泍泎泏泐泑泒泓泔法泖泗泘泙泚泛泜泝泞泟泠泡波泣泤泥泦泧
-100,"罸罹罺罻      ",셂셃셄셅셆셇셈셉셊셋셌셍셎셏셐셑셒셓셔셕셖셗션셙셚셛셜셝셞셟셠셡셢셣셤셥셦셧셨셩셪셫셬셭셮셯셰셱셲셳셴셵셶셷셸셹셺셻셼셽셾셿솀솁솂솃솄솅솆솇솈솉솊솋소속솎솏손솑솒솓솔솕솖솗솘솙솚솛솜솝솞솟솠
diff --git a/tests/test/enginedb_small/csv/ENGINETABLEUNICODECHAR.csv b/tests/test/enginedb_small/csv/ENGINETABLEUNICODECHAR.csv
deleted file mode 100644
index aa355edb6..000000000
--- a/tests/test/enginedb_small/csv/ENGINETABLEUNICODECHAR.csv
+++ /dev/null
@@ -1,100 +0,0 @@
-1,"犮犯犰犱      "
-2,"닩닪닫달닭닮닯닰닱 "
-3,"ⰍⰎⰏⰐⰑ     "
-4,"ルレ        "
-5,"孟孠孡孢季孤孥   "
-6,"삹삺삻삼삽삾    "
-7,"가각갂갃      "
-8,"ᓷᓸᓹᓺᓻᓼᓽ   "
-9,"浦浧浨浩浪     "
-10,"苔         "
-11,"纗纘纙纚纛纜纝纞纟 "
-12,"䝇         "
-13,"烎烏        "
-14,"汒         "
-15,"豈更車       "
-16,"糋糌糍糎糏     "
-17,"隽难隿雀雁雂    "
-18,"豈更車賈滑串句龜  "
-19,"豈更車賈滑串句龜龜 "
-20,"鼵鼶鼷鼸鼹鼺鼻鼼  "
-21,"囷囸        "
-22,"䍠         "
-23,"麒麓麔麕麖麗麘麙  "
-24,"ֶַָֹֺֻ    "
-25,"耑耒耓耔耕耖耗耘耙 "
-26,"Ᵹ         "
-27,"뼆뼇        "
-28,"㗯㗰㗱㗲㗳㗴㗵㗶㗷 "
-29,"๴         "
-30,"堛堜堝堞堟堠堡堢堣 "
-31,"íîï       "
-32,"쬄쬅쬆쬇쬈쬉쬊쬋  "
-33,"巪巫        "
-34,"禈禉禊禋      "
-35,"旨早旪旫      "
-36,"豈更車賈滑串句龜  "
-37,"㚀㚁㚂㚃㚄     "
-38,"뤇뤈뤉뤊뤋     "
-39,"㶅         "
-40,"蝺蝻蝼蝽蝾蝿螀   "
-41,"悷悸悹悺悻悼悽   "
-42,"誮誯        "
-43,"컮컯컰컱컲컳컴컵  "
-44,"嵫嵬嵭嵮嵯嵰嵱嵲  "
-45,"칼칽칾칿캀캁캂캃캄 "
-46,"㴯㴰㴱㴲      "
-47,"가각갂갃간     "
-48,"鏿鐀鐁       "
-49,"偶偷偸偹偺偻偼   "
-50,"␥␦␧␨␩     "
-51,"豈更車賈滑串句   "
-52,"纔         "
-53,"何佖        "
-54,"ꜙꜚꜛꜜꜝꜞꜟ꜠꜡ "
-55,"矆矇矈矉矊     "
-56,"⹚         "
-57,"ﺈﺉﺊﺋﺌﺍﺎﺏﺐ "
-58,"뺛뺜뺝뺞      "
-59,"ᚲᚳᚴ       "
-60,"뽡뽢뽣뽤뽥뽦뽧뽨  "
-61,"磗磘磙磚磛磜    "
-62,"머먹먺먻먼먽먾먿  "
-63,"⾾⾿⿀       "
-64,"㲥㲦㲧㲨㲩㲪㲫㲬㲭 "
-65,"脙脚脛脜      "
-66,"뾷뾸뾹뾺뾻뾼    "
-67,"ལཤཥསཧཨཀྵ   "
-68,"嬴嬵        "
-69,"࿴࿵࿶࿷࿸࿹    "
-70,"롭롮롯       "
-71,"낤낥낦낧남납    "
-72,"둍둎둏두      "
-73,"胅胆胇胈      "
-74,"бвгдежзи  "
-75,"⸉⸊⸋⸌⸍     "
-76,"豈         "
-77,"豈更車賈滑串    "
-78,"悍悎悏悐悑     "
-79,"☹☺☻☼☽☾    "
-80,"鹬         "
-81,"╙╚╛       "
-82,"튟튠튡튢튣튤    "
-83,"훤훥        "
-84,"迎迏运近迒     "
-85,"봴봵봶봷봸     "
-86,"䘋䘌        "
-87,"똃똄        "
-88,"俎俏俐俑俒俓俔俕俖 "
-89,"璋璌璍璎璏璐璑璒  "
-90,"籡籢籣籤籥籦籧籨  "
-91,"턚턛턜턝턞턟턠턡  "
-92,"⇱         "
-93,"ﺬﺭﺮﺯﺰﺱ    "
-94,"쬗쬘쬙쬚쬛쬜쬝쬞  "
-95,"됚됛된됝됞됟될됡됢 "
-96,"낐낑낒낓낔     "
-97,"即         "
-98,"ᲯᲰᲱᲲ      "
-99,"달         "
-100,"罸罹罺罻      "
diff --git a/tests/test/enginedb_small/csv/ENGINETABLEUNICODEVARCHAR.csv b/tests/test/enginedb_small/csv/ENGINETABLEUNICODEVARCHAR.csv
deleted file mode 100644
index cfbc78004..000000000
--- a/tests/test/enginedb_small/csv/ENGINETABLEUNICODEVARCHAR.csv
+++ /dev/null
@@ -1,100 +0,0 @@
-1,犮犯犰犱犲犳犴犵状犷犸犹犺犻犼犽犾犿狀狁狂狃狄狅狆狇狈狉狊狋狌狍狎狏狐狑狒狓狔狕狖狗
-2,훴훵훶훷훸훹훺훻훼훽훾훿휀휁휂휃휄휅휆휇휈휉휊휋휌휍휎휏휐휑휒휓휔휕휖휗휘휙휚휛휜휝휞휟휠휡휢휣휤휥휦휧휨휩휪휫휬휭휮휯휰휱휲휳휴휵휶휷휸휹휺휻휼휽휾휿흀흁흂흃흄흅흆흇흈흉흊흋흌
-3,ⰍⰎⰏⰐⰑⰒⰓⰔⰕⰖⰗⰘⰙⰚⰛⰜⰝⰞⰟⰠⰡⰢⰣⰤⰥⰦⰧⰨⰩⰪⰫⰬⰭⰮⰯⰰⰱ
-4,ルレロヮワヰヱヲンヴヵヶヷヸヹヺ・ーヽヾヿ㄀㄁㄂㄃㄄ㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙㄚㄛㄜㄝㄞㄟㄠㄡㄢㄣㄤㄥㄦㄧㄨㄩㄪㄫㄬㄭㄮㄯ㄰ㄱㄲㄳㄴㄵㄶㄷㄸㄹㄺㄻㄼㄽㄾㄿㅀㅁㅂㅃㅄㅅㅆㅇㅈㅉ
-5,豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱亂卵欄爛蘭鸞嵐濫藍襤拉臘蠟廊朗浪狼郎來冷勞擄櫓爐盧老蘆虜路露
-6,豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸
-7,ᰔᰕᰖᰗᰘᰙᰚᰛᰜᰝᰞᰟᰠᰡᰢᰣᰤᰥᰦᰧᰨᰩᰪᰫᰬᰭᰮᰯᰰᰱᰲᰳᰴᰵᰶ᰷᰸᰹᰺᰻᰼᰽᰾᰿᱀᱁᱂᱃᱄᱅᱆᱇᱈᱉᱊
-8,浦浧浨浩浪浫浬浭浮浯浰浱浲浳浴浵浶海浸浹浺浻浼浽浾浿涀涁涂涃涄涅涆涇消涉涊涋涌涍涎涏涐涑涒涓涔涕涖涗涘涙涚涛涜涝涞涟涠涡涢涣涤涥润涧涨涩涪涫涬涭涮涯涰涱液涳涴涵涶涷涸涹涺
-9,苔苕苖苗苘苙苚苛苜苝苞苟苠苡苢苣苤
-10,纗纘纙纚纛纜纝纞纟
-11,䝇䝈䝉䝊䝋䝌䝍䝎䝏䝐䝑䝒䝓䝔䝕䝖
-12,烎烏烐烑烒烓烔烕烖烗烘烙烚烛烜烝烞烟烠烡烢烣烤烥烦烧烨烩烪烫烬热烮烯烰烱烲烳烴烵烶烷烸烹烺烻烼烽烾烿焀焁焂焃焄焅焆焇焈焉焊焋焌焍焎焏焐焑焒焓焔焕焖焗焘焙焚焛焜焝焞焟
-13,郁郂郃郄郅郆郇郈郉郊郋郌郍郎郏郐郑郒郓郔郕郖郗郘郙郚郛郜郝郞郟郠郡郢郣郤郥郦郧部郩郪郫
-14,趽趾趿跀跁跂跃跄跅跆跇跈跉跊跋跌跍跎跏跐跑跒跓跔跕跖跗跘跙跚跛跜距跞跟跠跡跢跣跤跥跦跧跨跩
-15,ꝃꝄꝅꝆꝇꝈꝉꝊꝋꝌꝍꝎꝏꝐꝑꝒꝓꝔꝕꝖꝗꝘꝙꝚꝛꝜꝝꝞꝟꝠꝡꝢꝣꝤꝥꝦꝧꝨꝩꝪꝫꝬꝭꝮꝯꝰꝱꝲꝳꝴꝵꝶꝷꝸꝹꝺꝻꝼꝽꝾꝿꞀꞁꞂꞃꞄꞅꞆꞇꞈ꞉꞊ꞋꞌꞍ
-16,츽츾츿칀칁칂칃칄칅칆칇칈칉칊칋칌칍칎칏칐칑칒칓칔칕칖칗치칙칚칛친칝칞칟칠칡칢칣칤칥칦칧침칩칪칫칬칭칮칯칰칱칲칳카칵칶칷칸칹칺칻칼칽칾칿캀캁캂캃캄캅캆캇캈캉캊캋캌캍캎캏캐캑캒캓캔캕캖캗캘
-17,赯走赱赲赳赴赵赶起赸赹赺赻赼赽赾赿趀趁趂趃趄超趆趇趈趉越趋趌趍趎趏趐趑趒趓趔趕趖趗趘趙趚趛趜趝趞趟趠趡趢趣趤趥趦趧趨趩趪趫趬趭趮趯趰趱趲足趴趵趶趷趸趹
-18,罥罦罧罨罩罪罫罬罭置罯罰罱署罳罴罵罶罷罸罹罺罻罼罽罾罿羀羁羂羃羄羅羆羇羈羉羊羋羌羍美羏羐羑羒羓羔羕羖羗羘羙羚羛羜羝羞羟羠羡
-19,๖๗๘๙๚๛๜๝๞๟๠๡๢๣๤๥๦๧๨๩๪๫๬๭๮๯๰๱๲๳๴๵๶๷๸๹๺๻๼๽๾๿຀ກຂ຃ຄ຅
-20,㾈㾉㾊㾋㾌㾍㾎㾏㾐㾑㾒㾓㾔㾕㾖㾗㾘㾙㾚㾛㾜㾝㾞㾟㾠㾡㾢㾣㾤㾥㾦㾧㾨㾩㾪㾫㾬㾭㾮㾯㾰㾱㾲㾳㾴㾵㾶㾷㾸㾹㾺㾻㾼㾽㾾㾿㿀㿁㿂㿃㿄㿅㿆㿇㿈㿉㿊㿋㿌㿍㿎㿏㿐㿑㿒㿓㿔㿕㿖㿗㿘㿙㿚㿛㿜㿝㿞㿟㿠㿡㿢㿣㿤㿥㿦
-21,窙窚窛窜窝窞窟窠窡窢窣窤窥窦窧窨窩窪窫窬窭窮窯窰窱窲窳窴窵窶窷窸窹窺窻窼窽窾窿竀竁竂竃竄竅竆竇竈竉竊立竌竍
-22,쌮쌯쌰쌱쌲쌳쌴쌵쌶쌷쌸쌹쌺쌻쌼쌽쌾쌿썀썁썂썃썄썅
-23,囷囸囹固囻囼国图囿圀圁圂圃圄圅圆圇圈圉圊國圌圍圎圏圐
-24,桢档桤桥桦桧桨桩桪桫桬桭桮桯桰桱桲桳桴桵桶桷桸桹桺桻桼桽桾桿梀梁梂梃梄梅梆梇梈梉梊梋梌梍梎梏梐梑梒梓梔梕梖梗梘梙梚梛梜條梞梟梠梡梢梣梤梥梦梧梨梩梪梫梬梭梮梯械梱梲梳梴梵梶梷梸梹梺梻梼梽梾梿检棁
-25,ꋰꋱꋲꋳꋴꋵꋶꋷꋸꋹꋺꋻꋼꋽꋾꋿꌀꌁ
-26,윘윙윚윛윜윝윞윟유육윢윣윤윥윦윧율윩윪윫윬윭윮윯윰윱윲윳윴융윶윷윸윹윺윻으윽윾윿은읁읂읃을읅읆읇읈읉읊읋음읍
-27,ζηθικλμνξοπρςστυφ
-28,승슺슻슼슽슾슿싀싁싂싃싄싅싆싇싈싉싊싋싌싍싎싏싐싑싒싓싔싕싖싗싘싙싚싛시식싞싟신싡싢싣실싥싦싧싨
-29,뼆뼇뼈뼉뼊뼋뼌뼍뼎뼏뼐뼑뼒뼓뼔뼕뼖뼗뼘뼙뼚뼛뼜뼝뼞뼟뼠뼡뼢뼣뼤뼥뼦뼧뼨뼩뼪뼫뼬뼭뼮뼯뼰뼱뼲뼳뼴뼵뼶뼷뼸뼹뼺뼻뼼뼽뼾뼿뽀뽁뽂뽃뽄뽅뽆뽇뽈뽉뽊뽋뽌뽍뽎뽏뽐뽑뽒뽓뽔뽕뽖뽗뽘뽙뽚뽛뽜뽝뽞뽟뽠뽡뽢뽣뽤뽥뽦뽧
-30,㗯㗰㗱㗲㗳㗴㗵㗶㗷㗸㗹㗺㗻㗼㗽㗾㗿㘀㘁㘂㘃㘄㘅㘆㘇
-31,๴
-32,堛堜堝
-33,쬄쬅쬆쬇쬈쬉쬊쬋쬌쬍쬎쬏쬐쬑쬒쬓쬔쬕쬖쬗쬘쬙쬚쬛쬜쬝쬞쬟쬠쬡쬢쬣쬤쬥쬦쬧쬨쬩쬪쬫쬬쬭쬮쬯쬰쬱쬲쬳쬴쬵쬶쬷쬸쬹쬺쬻쬼쬽쬾쬿쭀쭁쭂쭃쭄쭅쭆쭇쭈쭉쭊쭋쭌쭍쭎쭏쭐쭑쭒쭓쭔쭕쭖쭗쭘쭙쭚쭛쭜쭝쭞
-34,႞႟ႠႡႢႣႤႥႦႧႨႩႪႫႬႭႮႯႰႱႲႳႴႵႶႷႸႹႺႻႼႽႾႿჀჁჂჃჄჅ჆Ⴧ჈჉჊჋
-35,ऀँंःऄअआइईउऊऋऌऍऎएऐऑऒओऔकखगघङचछजझञटठडढणतथदधनऩपफबभमयरऱलळऴवशषसहऺऻ़ऽािीुूृॄॅॆेैॉॊोौ्ॎॏॐ॒॑॓॔ॕॖॗक़ख़ग़ज़ड़ढ़फ़य़ॠॡ
-36,禈禉禊禋禌禍禎福禐禑禒禓禔禕禖禗禘禙禚禛禜禝禞禟禠禡禢禣禤禥禦禧禨禩禪禫禬禭禮禯禰禱禲禳禴禵禶禷禸禹禺离
-37,旨早旪旫旬旭旮旯旰旱旲旳旴旵时旷旸旹旺旻旼旽旾旿昀昁昂昃昄昅昆昇昈昉昊昋昌昍明昏昐昑昒易昔昕昖昗昘昙昚昛昜昝昞星映昡昢昣昤春昦昧昨昩昪昫
-38,豈更車賈滑串句龜
-39,㚀㚁㚂㚃㚄㚅㚆㚇㚈㚉㚊㚋㚌㚍㚎㚏㚐㚑㚒㚓㚔㚕㚖㚗㚘㚙㚚㚛㚜㚝㚞㚟㚠㚡㚢㚣㚤㚥㚦㚧㚨㚩㚪㚫㚬㚭㚮㚯㚰㚱㚲㚳㚴㚵㚶㚷㚸㚹㚺
-40,ꙵꙶꙷꙸꙹꙺꙻ
-41,潿澀澁澂澃澄澅澆澇澈澉澊澋澌澍澎澏澐澑澒澓澔澕澖澗澘澙澚澛澜澝澞澟澠澡澢澣澤澥澦澧澨澩澪澫澬澭澮澯澰澱澲澳澴澵澶澷澸澹澺澻澼澽澾澿激濁濂濃濄濅濆濇濈濉濊
-42,ᰀᰁᰂᰃᰄ
-43,豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱亂卵欄爛蘭鸞嵐濫藍襤拉臘蠟廊朗浪狼郎來冷勞擄櫓爐盧老蘆虜路露魯鷺碌祿綠菉錄
-44,蝺蝻蝼蝽蝾蝿螀螁螂螃螄螅螆螇螈螉螊螋螌融螎螏螐螑螒螓螔螕螖螗螘螙螚螛螜螝螞螟螠螡螢螣螤螥螦螧螨螩螪螫螬螭螮螯螰
-45,悷悸悹悺悻悼悽悾悿惀惁惂惃惄情惆惇惈惉惊惋惌惍惎惏惐惑惒惓惔惕惖惗惘惙惚惛惜惝惞惟惠惡惢惣惤惥惦惧惨惩惪惫惬惭
-46,誮誯誰誱課誳誴誵誶誷誸誹誺誻誼誽誾調諀諁諂諃諄諅諆談諈諉諊請諌諍諎諏諐諑諒諓諔諕論諗諘諙諚諛諜諝諞諟諠諡諢諣諤諥
-47,嵫嵬嵭嵮嵯嵰嵱嵲嵳嵴嵵嵶嵷嵸嵹嵺嵻嵼嵽嵾嵿嶀嶁嶂嶃嶄嶅嶆嶇嶈嶉嶊嶋嶌嶍嶎嶏嶐嶑嶒嶓嶔嶕嶖嶗嶘嶙嶚嶛嶜嶝嶞嶟嶠嶡嶢嶣嶤嶥嶦嶧嶨嶩嶪嶫嶬嶭嶮嶯嶰嶱嶲嶳嶴嶵嶶嶷嶸嶹嶺嶻嶼嶽嶾嶿巀巁巂巃巄巅巆
-48,뼨뼩뼪뼫뼬뼭뼮뼯뼰뼱뼲뼳뼴뼵뼶뼷뼸뼹뼺뼻뼼뼽뼾뼿뽀뽁뽂뽃뽄뽅뽆뽇뽈뽉뽊뽋뽌뽍뽎뽏뽐뽑뽒뽓뽔뽕뽖
-49,氍氎氏氐民氒氓气氕氖気氘氙氚氛氜氝氞氟氠氡氢氣氤氥氦氧氨氩氪氫氬氭氮氯氰
-50,가각갂갃간
-51,鏿鐀鐁鐂鐃鐄鐅鐆鐇鐈鐉鐊鐋鐌鐍鐎鐏鐐鐑鐒鐓鐔鐕鐖鐗鐘鐙鐚鐛鐜鐝鐞鐟鐠鐡鐢鐣鐤鐥鐦鐧鐨鐩鐪鐫鐬鐭鐮鐯鐰鐱鐲鐳鐴鐵鐶鐷鐸鐹鐺鐻鐼鐽鐾鐿鑀鑁鑂鑃鑄鑅鑆鑇鑈鑉鑊鑋鑌鑍鑎鑏鑐鑑鑒鑓鑔鑕鑖鑗鑘鑙鑚鑛鑜鑝鑞鑟鑠鑡
-52,偶偷偸偹偺偻偼偽偾偿傀傁傂傃傄傅傆傇傈傉傊傋傌傍傎傏傐傑傒傓傔傕傖傗傘備傚傛傜傝傞傟傠傡傢傣傤傥傦傧储傩傪傫催傭傮傯傰傱傲傳傴債傶傷傸傹傺傻傼傽傾傿僀僁僂僃僄僅僆僇僈僉僊僋僌働僎像僐僑
-53,豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱亂卵欄爛蘭鸞嵐濫藍襤
-54,믏믐믑믒믓믔믕믖믗믘믙믚믛믜믝믞믟믠믡믢믣믤믥믦믧믨믩믪믫믬믭믮믯
-55,豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸邏
-56,豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱亂卵欄爛蘭鸞嵐濫藍襤拉臘蠟廊朗浪狼郎來冷勞擄櫓爐盧老蘆虜路露魯鷺碌祿綠菉錄鹿論壟弄籠聾牢磊賂雷壘屢樓淚漏累縷陋勒肋凜
-57,가각갂갃간갅갆갇갈갉갊갋갌갍갎갏감갑값갓갔강갖갗갘
-58,豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱亂卵欄爛蘭鸞嵐濫藍襤拉臘蠟廊朗浪狼郎來冷勞擄櫓爐盧老蘆虜路露
-59,矆矇矈矉矊矋矌矍矎矏矐矑矒矓矔矕矖矗矘矙矚矛矜矝矞矟矠矡矢矣矤知矦矧矨矩矪矫矬短矮矯矰矱矲石矴矵矶矷矸矹矺矻矼矽矾矿砀码砂砃砄砅砆砇砈砉砊
-60,⹚⹛⹜⹝⹞⹟⹠⹡⹢⹣⹤⹥⹦⹧⹨⹩⹪⹫⹬⹭⹮⹯⹰⹱⹲⹳⹴⹵⹶⹷⹸⹹⹺⹻⹼⹽⹾⹿⺀⺁⺂⺃⺄⺅⺆⺇⺈⺉⺊
-61,ﺈﺉﺊﺋﺌﺍﺎﺏﺐﺑﺒﺓﺔﺕﺖﺗﺘﺙﺚﺛﺜﺝﺞﺟﺠﺡﺢﺣﺤﺥﺦﺧﺨﺩﺪﺫﺬﺭﺮﺯﺰﺱﺲﺳﺴﺵﺶﺷﺸﺹﺺﺻﺼﺽﺾﺿﻀﻁﻂﻃﻄﻅﻆﻇﻈﻉﻊﻋﻌﻍﻎﻏﻐﻑ
-62,ꌺꌻꌼꌽꌾꌿꍀꍁꍂꍃꍄꍅꍆꍇꍈꍉꍊꍋꍌꍍꍎꍏꍐꍑꍒꍓꍔꍕꍖꍗꍘꍙꍚꍛꍜꍝꍞꍟꍠꍡꍢꍣꍤꍥꍦꍧꍨꍩꍪꍫꍬꍭꍮꍯꍰꍱꍲꍳꍴꍵꍶꍷꍸꍹꍺꍻꍼꍽꍾꍿꎀꎁꎂꎃꎄꎅ
-63,憹憺憻憼憽憾憿懀懁懂懃懄懅懆懇懈應懊懋懌懍懎懏懐懑懒懓
-64,꠼꠽꠾꠿
-65,ᚲᚳᚴᚵᚶᚷᚸᚹᚺᚻᚼᚽᚾᚿᛀᛁᛂᛃᛄᛅᛆᛇᛈᛉᛊᛋᛌᛍᛎᛏᛐᛑᛒᛓᛔᛕᛖᛗᛘᛙᛚᛛᛜᛝᛞᛟᛠᛡᛢᛣᛤᛥᛦᛧᛨᛩᛪ᛫᛬᛭ᛮᛯᛰᛱᛲᛳᛴᛵᛶᛷᛸ᛹᛺᛻᛼᛽᛾᛿ᜀᜁᜂᜃᜄᜅᜆᜇᜈᜉᜊᜋᜌᜍᜎᜏᜐᜑᜒᜓ᜔
-66,뽡뽢뽣뽤뽥뽦뽧뽨뽩뽪뽫뽬뽭뽮뽯뽰뽱뽲뽳뽴뽵뽶뽷뽸뽹뽺뽻뽼뽽뽾뽿뾀뾁뾂뾃뾄뾅뾆뾇뾈뾉뾊뾋뾌뾍뾎뾏뾐뾑뾒뾓뾔뾕뾖뾗뾘
-67,磗磘磙磚磛磜磝磞磟磠磡磢磣磤磥磦磧磨磩磪磫磬磭磮磯磰磱磲磳磴磵磶磷磸磹磺磻磼磽磾磿礀礁礂礃礄礅礆礇礈礉礊礋礌
-68,머먹먺먻먼먽먾먿멀멁멂멃멄멅멆멇멈멉멊멋멌멍멎멏멐멑멒멓메멕멖멗멘멙멚멛멜멝멞멟멠멡멢멣멤멥멦멧멨멩멪멫멬멭멮멯며멱멲멳면멵멶멷멸멹멺멻멼멽멾멿몀몁
-69,ꏘꏙꏚꏛꏜꏝꏞꏟꏠꏡꏢꏣꏤꏥꏦꏧꏨꏩꏪꏫꏬꏭꏮꏯꏰꏱꏲꏳꏴꏵꏶꏷꏸꏹꏺꏻꏼꏽꏾꏿꐀꐁꐂꐃꐄꐅꐆꐇꐈꐉꐊꐋꐌꐍꐎꐏꐐꐑꐒꐓꐔꐕ
-70,캮캯캰캱캲캳캴캵캶캷캸캹캺캻캼캽캾캿컀컁컂컃컄컅컆컇컈컉컊컋컌컍컎컏컐컑컒컓컔컕컖컗컘컙컚컛컜컝컞컟컠컡컢컣커컥컦컧컨컩컪컫컬컭컮컯컰컱컲컳컴컵컶컷컸컹컺컻컼컽컾컿케켁켂켃켄켅켆켇켈켉켊켋켌
-71,뎍뎎뎏뎐뎑뎒뎓뎔뎕뎖뎗뎘뎙뎚뎛뎜뎝뎞뎟뎠뎡뎢뎣뎤뎥뎦뎧뎨뎩뎪뎫뎬뎭뎮뎯뎰뎱뎲뎳뎴뎵뎶뎷뎸뎹뎺뎻
-72,豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱亂卵欄爛蘭鸞嵐濫
-73,㲥㲦㲧㲨㲩㲪㲫㲬㲭㲮㲯㲰㲱㲲㲳㲴㲵㲶㲷㲸㲹㲺㲻㲼㲽㲾㲿㳀㳁㳂㳃㳄㳅㳆㳇㳈㳉㳊㳋㳌㳍㳎
-74,댙댚댛댜댝댞댟댠댡댢댣댤댥댦댧댨댩댪댫댬댭댮댯댰댱
-75,ꜞꜟ꜠꜡ꜢꜣꜤꜥꜦꜧꜨꜩꜪꜫꜬꜭꜮꜯꜰꜱꜲꜳꜴꜵꜶꜷꜸꜹꜺꜻꜼꜽꜾꜿꝀꝁꝂꝃꝄꝅꝆꝇꝈꝉꝊꝋꝌꝍꝎꝏꝐꝑꝒꝓꝔ
-76,빆빇빈빉빊빋빌빍빎빏빐빑빒빓빔빕빖빗빘빙빚빛빜빝빞빟빠빡빢빣빤빥빦빧빨빩빪빫빬빭빮빯빰빱빲빳빴빵빶빷빸빹빺빻빼빽빾빿뺀뺁뺂뺃뺄뺅뺆뺇뺈뺉뺊뺋뺌뺍뺎뺏뺐뺑뺒뺓뺔뺕뺖뺗뺘뺙뺚뺛뺜뺝뺞뺟뺠뺡뺢뺣뺤뺥뺦뺧뺨
-77,⹼⹽⹾⹿⺀⺁⺂⺃⺄⺅⺆⺇⺈⺉⺊⺋⺌⺍⺎⺏⺐⺑⺒
-78,嬴嬵嬶嬷嬸嬹嬺嬻嬼嬽嬾嬿孀孁孂孃孄孅孆孇孈孉孊孋孌孍孎孏子孑孒孓孔孕孖字存孙孚孛孜孝孞孟孠孡孢季孤孥学孧孨孩孪孫孬孭孮
-79,흢흣흤흥흦흧흨흩흪흫희흭흮흯흰흱흲흳흴흵흶흷흸흹흺흻흼흽흾흿힀힁힂힃힄힅
-80,緦緧編緩緪緫緬緭緮緯緰緱緲緳練緵緶緷緸緹緺緻緼緽緾緿縀縁縂縃縄縅縆縇縈縉縊縋縌縍縎縏縐縑縒縓縔縕縖縗縘縙縚縛縜縝縞縟縠縡縢縣縤縥縦縧縨縩縪縫縬縭縮縯縰縱縲
-81,嬪嬫嬬嬭嬮嬯嬰嬱嬲嬳嬴嬵嬶嬷嬸嬹嬺嬻嬼嬽嬾嬿孀孁孂孃孄孅孆孇孈孉孊孋孌孍孎孏子孑孒孓孔孕孖字存孙孚孛孜孝孞孟孠孡孢季孤孥学
-82,가각갂갃간갅갆갇갈갉갊갋갌갍갎갏감갑값갓갔강갖갗갘같갚갛개객갞갟갠갡갢갣갤갥갦갧갨갩갪갫갬갭갮갯갰갱갲갳갴갵갶갷갸갹갺갻갼갽
-83,ິີຶື຺ຸູົຼຽ຾຿ເແໂໃໄ໅ໆ໇່້໊໋໌ໍ໎໏໐໑໒໓໔໕໖໗໘໙໚໛ໜໝໞໟ໠໡໢໣໤໥໦໧໨໩໪໫໬໭໮໯໰໱໲໳໴໵໶໷໸
-84,⻄⻅⻆⻇⻈⻉⻊⻋⻌⻍⻎⻏⻐⻑⻒⻓⻔⻕⻖⻗⻘⻙⻚⻛⻜⻝⻞⻟⻠⻡⻢⻣⻤⻥⻦⻧⻨⻩⻪⻫⻬⻭⻮⻯⻰⻱⻲⻳⻴
-85,쿸쿹쿺쿻쿼쿽쿾쿿퀀
-86,絜絝絞絟絠
-87,豈
-88,豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱亂卵欄爛蘭鸞嵐濫藍襤拉臘蠟廊朗浪狼郎來冷勞擄櫓爐盧老蘆虜路露魯鷺碌祿綠菉錄鹿論壟弄籠聾
-89,悍悎悏悐悑悒悓悔悕悖悗悘悙悚悛悜悝悞悟悠悡悢患悤悥悦悧您悩悪悫悬悭悮悯悰悱悲悳悴悵悶悷悸悹悺悻悼悽悾悿惀惁惂惃惄情惆惇惈惉惊惋惌惍惎惏惐惑
-90,☹☺☻☼☽☾☿♀♁♂♃♄♅♆♇♈♉♊♋♌♍♎♏♐♑♒♓♔♕♖♗♘♙♚♛♜♝♞♟♠♡♢♣♤♥♦♧♨♩♪♫♬♭♮♯♰♱♲♳♴♵♶♷♸
-91,╙╚╛╜╝╞╟╠╡╢╣╤╥╦╧╨╩╪╫╬╭╮╯╰╱╲╳╴╵╶╷╸╹╺╻╼╽╾╿▀▁▂▃▄▅▆▇█▉▊▋▌▍▎▏▐░▒▓▔▕▖▗▘▙▚▛
-92,튟튠튡튢튣튤튥튦튧튨튩튪튫튬튭튮튯튰튱튲튳튴튵튶튷트특튺튻튼튽튾튿틀틁틂틃틄틅틆틇틈틉틊틋틌틍틎틏틐틑틒틓틔틕틖틗틘틙틚틛틜틝틞틟틠틡틢틣틤틥틦틧틨틩틪틫틬틭틮틯티틱틲틳틴틵틶틷틸틹틺
-93,豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱亂卵欄爛蘭鸞嵐濫藍襤拉臘蠟廊朗浪狼郎來冷勞擄櫓爐盧老蘆虜路露魯鷺碌祿綠菉錄鹿論壟弄籠聾牢磊賂雷壘屢樓淚漏累縷陋勒肋凜凌稜綾菱陵讀
-94,豈更車賈滑串句龜龜契金喇奈懶癩羅蘿螺裸邏樂洛烙珞落酪駱亂卵欄爛蘭鸞嵐濫藍襤拉臘蠟廊朗浪狼郎來冷勞擄櫓爐盧老蘆虜路露魯鷺碌祿綠菉錄鹿論壟弄籠聾牢磊賂雷壘屢樓淚
-95,蘅蘆蘇蘈蘉蘊蘋蘌蘍蘎蘏蘐蘑蘒蘓蘔蘕蘖蘗蘘蘙蘚蘛蘜蘝蘞蘟蘠蘡蘢蘣蘤蘥蘦蘧蘨蘩蘪蘫蘬蘭蘮蘯蘰蘱蘲蘳蘴蘵蘶蘷蘸
-96,杕杖杗杘杙杚杛杜杝杞束
-97,稂稃稄
-98,狍狎狏狐狑狒狓狔狕狖狗狘狙狚狛狜狝狞狟狠狡狢狣狤狥狦狧狨狩狪狫独狭狮狯狰狱狲狳狴狵狶狷狸狹狺狻狼狽狾狿猀猁猂猃猄猅猆猇猈猉猊猋猌猍猎猏猐猑猒猓猔猕猖猗猘猙猚
-99,騉騊騋騌騍騎騏騐騑騒験
-100,懨懩懪懫懬懭懮懯懰懱懲懳懴懵懶懷懸懹懺懻懼懽懾懿戀戁戂戃戄戅戆戇戈戉戊戋戌戍戎戏成我戒戓戔戕或戗战戙戚戛戜戝戞戟戠戡戢戣戤戥戦戧戨戩截戫戬戭戮戯戰戱戲戳戴戵戶户戸戹戺戻戼戽戾房所扁扂扃扄扅扆扇扈
diff --git a/tests/test/enginedb_small/csv/JOINTABLE10.csv b/tests/test/enginedb_small/csv/JOINTABLE10.csv
deleted file mode 100644
index a06b0b291..000000000
--- a/tests/test/enginedb_small/csv/JOINTABLE10.csv
+++ /dev/null
@@ -1,81 +0,0 @@
-1,"5  ",8
-2,"3E ",6
-3,",rV",2
-4,"hz ",5
-5,"u  ",7
-6,yVK,7
-7,"6a ",9
-8,"c  ",8
-9,,4
-10,"2x ",6
-11,"J  ",8
-12,"FC ",7
-13,"U  ",3
-14,,-10
-15,"oA ",5
-16,,1
-17,FuO,8
-18,,2
-19,".j ",7
-20,Q2F,2
-21,"VM ",1
-22,Tdo,2
-23,IA:,1
-24,"do ",2
-25,Yj:,3
-26,Cj7,-10
-27,qY4,
-1,"5  ",8
-2,"3E ",6
-3,",rV",2
-4,"hz ",5
-5,"u  ",7
-6,yVK,7
-7,"6a ",9
-8,"c  ",8
-9,,4
-10,"2x ",6
-11,"J  ",8
-12,"FC ",7
-13,"U  ",3
-14,,-10
-15,"oA ",5
-16,,1
-17,FuO,8
-18,,2
-19,".j ",7
-20,Q2F,2
-21,"VM ",1
-22,Tdo,2
-23,IA:,1
-24,"do ",2
-25,Yj:,3
-26,Cj7,-10
-27,qY4,
-1,"5  ",8
-2,"3E ",6
-3,",rV",2
-4,"hz ",5
-5,"u  ",7
-6,yVK,7
-7,"6a ",9
-8,"c  ",8
-9,,4
-10,"2x ",6
-11,"J  ",8
-12,"FC ",7
-13,"U  ",3
-14,,-10
-15,"oA ",5
-16,,1
-17,FuO,8
-18,,2
-19,".j ",7
-20,Q2F,2
-21,"VM ",1
-22,Tdo,2
-23,IA:,1
-24,"do ",2
-25,Yj:,3
-26,Cj7,-10
-27,qY4,
diff --git a/tests/test/enginedb_small/csv/JOINTABLE11.csv b/tests/test/enginedb_small/csv/JOINTABLE11.csv
deleted file mode 100644
index 47a8cf7bc..000000000
--- a/tests/test/enginedb_small/csv/JOINTABLE11.csv
+++ /dev/null
@@ -1,3 +0,0 @@
-1,"J  ",3
-1,"J  ",3
-1,"J  ",3
diff --git a/tests/test/enginedb_small/csv/JOINTABLE12.csv b/tests/test/enginedb_small/csv/JOINTABLE12.csv
deleted file mode 100644
index 5f9ad70a9..000000000
--- a/tests/test/enginedb_small/csv/JOINTABLE12.csv
+++ /dev/null
@@ -1,78 +0,0 @@
-1,_Na,9
-2,"J  ",8
-3,"oi ",4
-4,,7
-5,"c  ",6
-6,xpN,8
-7,"nk ",4
-8,"YB ",-2
-9,_Id,8
-10,"8z ",5
-11,,3
-12,"G4 ",6
-13,,4
-14,"M  ",7
-15,",  ",3
-16,,9
-17,"j  ",9
-18,",  ",7
-19,D6p,4
-20,,1
-21,,9
-22,,2
-23,8j0,9
-24,".  ",6
-25,"i  ",1
-26,"K  ",8
-1,_Na,9
-2,"J  ",8
-3,"oi ",4
-4,,7
-5,"c  ",6
-6,xpN,8
-7,"nk ",4
-8,"YB ",-2
-9,_Id,8
-10,"8z ",5
-11,,3
-12,"G4 ",6
-13,,4
-14,"M  ",7
-15,",  ",3
-16,,9
-17,"j  ",9
-18,",  ",7
-19,D6p,4
-20,,1
-21,,9
-22,,2
-23,8j0,9
-24,".  ",6
-25,"i  ",1
-26,"K  ",8
-1,_Na,9
-2,"J  ",8
-3,"oi ",4
-4,,7
-5,"c  ",6
-6,xpN,8
-7,"nk ",4
-8,"YB ",-2
-9,_Id,8
-10,"8z ",5
-11,,3
-12,"G4 ",6
-13,,4
-14,"M  ",7
-15,",  ",3
-16,,9
-17,"j  ",9
-18,",  ",7
-19,D6p,4
-20,,1
-21,,9
-22,,2
-23,8j0,9
-24,".  ",6
-25,"i  ",1
-26,"K  ",8
diff --git a/tests/test/enginedb_small/csv/JOINTABLE13.csv b/tests/test/enginedb_small/csv/JOINTABLE13.csv
deleted file mode 100644
index 4269e0de7..000000000
--- a/tests/test/enginedb_small/csv/JOINTABLE13.csv
+++ /dev/null
@@ -1,78 +0,0 @@
-1,"Ny ",-366
-2,,-368
-3,"5i ",7
-4,"d  ",-324
-5,,-364
-6,,9
-7,"0  ",8
-8,jJ:,-3
-9,"V  ",
-10,"A: ",-3
-11,"LC ",3
-12,,-357
-13,"x  ",-3
-14,HVK,-381
-15,"8  ",6
-16,,-374
-17,,1
-18,vOU,5
-19,qiZ,-391
-20,"yi ",5
-21,"WO ",-324
-22,drg,
-23,"Y  ",9
-24,",Q ",-352
-25,"5  ",5
-26,"G  ",-395
-1,"Ny ",-366
-2,,-368
-3,"5i ",7
-4,"d  ",-324
-5,,-364
-6,,9
-7,"0  ",8
-8,jJ:,-3
-9,"V  ",
-10,"A: ",-3
-11,"LC ",3
-12,,-357
-13,"x  ",-3
-14,HVK,-381
-15,"8  ",6
-16,,-374
-17,,1
-18,vOU,5
-19,qiZ,-391
-20,"yi ",5
-21,"WO ",-324
-22,drg,
-23,"Y  ",9
-24,",Q ",-352
-25,"5  ",5
-26,"G  ",-395
-1,"Ny ",-366
-2,,-368
-3,"5i ",7
-4,"d  ",-324
-5,,-364
-6,,9
-7,"0  ",8
-8,jJ:,-3
-9,"V  ",
-10,"A: ",-3
-11,"LC ",3
-12,,-357
-13,"x  ",-3
-14,HVK,-381
-15,"8  ",6
-16,,-374
-17,,1
-18,vOU,5
-19,qiZ,-391
-20,"yi ",5
-21,"WO ",-324
-22,drg,
-23,"Y  ",9
-24,",Q ",-352
-25,"5  ",5
-26,"G  ",-395
diff --git a/tests/test/enginedb_small/csv/JOINTABLE14.csv b/tests/test/enginedb_small/csv/JOINTABLE14.csv
deleted file mode 100644
index 890b7c850..000000000
--- a/tests/test/enginedb_small/csv/JOINTABLE14.csv
+++ /dev/null
@@ -1,100 +0,0 @@
-1,"UK ",-407
-2,"3  ",5
-3,"n  ",2
-4,,-438
-5,"Ua ",-409
-6,Ofc,8
-7,MEV,-487
-8,Xq0,2
-9,"7  ",2
-10,ug1,8
-11,,-452
-12,st9,8
-13,"I  ",7
-14,",0t",9
-15,"2  ",5
-16,,4
-17,,3
-18,2bW,1
-19,"Ut ",-412
-20,fli,5
-21,Pje,7
-22,"V  ",2
-23,"ad ",
-24,,7
-25,,-448
-26,,4
-27,"Qw ",-436
-28,"1i ",3
-29,,-4
-30,"J  ",2
-31,"B  ",
-32,,-467
-33,"5  ",5
-34,"fN ",6
-35,"f5 ",7
-36,"2  ",7
-37,"1  ",7
-38,"C  ",
-39,"tz ",5
-40,"s  ",6
-41,"hw ",5
-42,:vk,3
-43,glu,4
-44,",x ",7
-45,"k  ",1
-46,kkm,3
-47,"U  ",1
-48,xqi,5
-49,.on,7
-50,"e  ",4
-51,":9 ",-4
-52,"N4 ",
-53,,-427
-54,Shv,7
-55,"99 ",3
-56,,3
-57,HZ:,-483
-58,"fj ",5
-59,,-425
-60,"z  ",5
-61,"Mj ",4
-62,,6
-63,,8
-64,":Z ",-409
-65,,3
-66,,1
-67,Y7;,2
-68,"jW ",8
-69,xKq,1
-70,"P7 ",9
-71,"Q  ",-406
-72,NrQ,
-1,"UK ",-407
-2,"3  ",5
-3,"n  ",2
-4,,-438
-5,"Ua ",-409
-6,Ofc,8
-7,MEV,-487
-8,Xq0,2
-9,"7  ",2
-10,ug1,8
-11,,-452
-12,st9,8
-13,"I  ",7
-14,",0t",9
-15,"2  ",5
-16,,4
-17,,3
-18,2bW,1
-19,"Ut ",-412
-20,fli,5
-21,Pje,7
-22,"V  ",2
-23,"ad ",
-24,,7
-25,,-448
-26,,4
-27,"Qw ",-436
-28,"1i ",3
diff --git a/tests/test/enginedb_small/csv/JOINTABLE15.csv b/tests/test/enginedb_small/csv/JOINTABLE15.csv
deleted file mode 100644
index 746cbba73..000000000
--- a/tests/test/enginedb_small/csv/JOINTABLE15.csv
+++ /dev/null
@@ -1,100 +0,0 @@
-1,q27,-556
-2,"5T ",-565
-3,"iV ",1
-4,,-537
-5,",ng",-599
-6,P2n,5
-7,,
-8,0R7,-566
-9,OeO,5
-10,"Q  ",-541
-11,,9
-12,"G  ",-5
-13,47R,-558
-14,"BV ",-554
-15,"1f ",-533
-16,"nC ",-574
-17,"D  ",3
-18,,3
-19,"o  ",-586
-20,"j  ",3
-21,C_m,-5
-22,cJ1,-558
-23,"WD ",-575
-24,"u  ",8
-25,"CB ",-579
-26,"wz ",-504
-27,,-547
-28,,-5
-29,"i2 ",-531
-30,"M  ",1
-31,,-581
-32,"r  ",-547
-33,,7
-34,"i  ",-558
-35,"1  ",-564
-36,"7. ",-582
-37,".  ",
-38,"t  ",-514
-39,"Oa ",-502
-40,hnK,-518
-41,"bn ",-586
-42,"8O ",-5
-43,".F ",-584
-44,"It ",
-45,,-524
-46,,-518
-47,"y  ",
-48,"3  ",-585
-49,".  ",-506
-50,"r  ",-5
-51,.7m,-518
-52,t51,-513
-53,aw.,-576
-54,"7  ",-557
-55,"c  ",-519
-56,,5
-57,sw;,-585
-58,"1  ",-561
-59,"3  ",-522
-60,z2H,6
-61,,-534
-62,"10 ",
-63,oWC,-568
-64,,-542
-65,,3
-66,,-528
-67,"Q  ",5
-68,,-534
-69,,-569
-70,,9
-71,"6  ",6
-72,"in ",5
-73,,-591
-74,,-524
-75,,-505
-76,abk,-504
-77,uZR,
-78,AEp,-527
-79,Qbo,
-80,,-594
-81,"EG ",-517
-82,,-5
-83,;M2,-522
-84,"t  ",-511
-85,"x  ",-5
-86,T6t,-549
-87,"AW ",-587
-88,A7L,-528
-89,,-5
-90,"t  ",-5
-91,,-5
-92,,-502
-93,;41,8
-94,,9
-95,"W  ",-539
-96,"AS ",-566
-97,kmN,7
-1,q27,-556
-2,"5T ",-565
-3,"iV ",1
diff --git a/tests/test/enginedb_small/csv/JOINTABLE16.csv b/tests/test/enginedb_small/csv/JOINTABLE16.csv
deleted file mode 100644
index 2f3e11cd6..000000000
--- a/tests/test/enginedb_small/csv/JOINTABLE16.csv
+++ /dev/null
@@ -1,36 +0,0 @@
-1,,8
-2,rP8,4
-3,"i  ",
-4,iA2,7
-5,"k  ",1
-6,,3
-7,"Y  ",2
-8,"si ",5
-9,"g  ",6
-10,"il ",4
-11,"WB ",4
-12,";  ",3
-1,,8
-2,rP8,4
-3,"i  ",
-4,iA2,7
-5,"k  ",1
-6,,3
-7,"Y  ",2
-8,"si ",5
-9,"g  ",6
-10,"il ",4
-11,"WB ",4
-12,";  ",3
-1,,8
-2,rP8,4
-3,"i  ",
-4,iA2,7
-5,"k  ",1
-6,,3
-7,"Y  ",2
-8,"si ",5
-9,"g  ",6
-10,"il ",4
-11,"WB ",4
-12,";  ",3
diff --git a/tests/test/enginedb_small/csv/JOINTABLE17.csv b/tests/test/enginedb_small/csv/JOINTABLE17.csv
deleted file mode 100644
index b1829c9c3..000000000
--- a/tests/test/enginedb_small/csv/JOINTABLE17.csv
+++ /dev/null
@@ -1,100 +0,0 @@
-1,,
-2,,-732
-3,,5
-4,"4: ",-794
-5,":  ",-784
-6,7Z2,
-7,"e  ",1
-8,smT,-729
-9,Cav,-7
-10,6AH,-7
-11,,4
-12,,-765
-13,q8_,-792
-14,"iQ ",
-15,".  ",-796
-16,,-727
-17,Vsj,7
-18,"j  ",5
-19,sa4,
-20,"NS ",-764
-21,rq:,-702
-22,"Dg ",-737
-23,o0Q,-759
-24,o7A,4
-25,"cB ",4
-26,"9G ",-797
-27,,9
-28,"h  ",9
-29,"UP ",-775
-30,AYn,
-31,,9
-32,,-789
-33,"w  ",-7
-34,"i  ",-7
-35,dKy,-776
-36,"FB ",4
-37,,6
-38,"n  ",9
-39,"I  ",
-40,"R  ",-784
-41,i:X,-794
-42,,-774
-43,"qC ",-7
-44,A4C,7
-45,"r  ",2
-46,"2  ",1
-47,"P  ",
-48,"t  ",
-49,fuG,1
-50,,-7
-51,PMH,1
-52,wp0,8
-53,d4:,1
-54,"BP ",-754
-55,"a  ",9
-56,sPF,-789
-57,zWH,-795
-58,nXI,-7
-59,,6
-60,",O ",-741
-61,,-748
-62,,-744
-63,"zS ",3
-64,"p,Z",-708
-65,"ky ",-749
-66,"n  ",2
-67,,-7
-68,0vD,5
-69,mJc,-712
-70,:Bf,9
-71,"TT ",-775
-72,,-746
-73,,-722
-74,,3
-75,,
-1,,
-2,,-732
-3,,5
-4,"4: ",-794
-5,":  ",-784
-6,7Z2,
-7,"e  ",1
-8,smT,-729
-9,Cav,-7
-10,6AH,-7
-11,,4
-12,,-765
-13,q8_,-792
-14,"iQ ",
-15,".  ",-796
-16,,-727
-17,Vsj,7
-18,"j  ",5
-19,sa4,
-20,"NS ",-764
-21,rq:,-702
-22,"Dg ",-737
-23,o0Q,-759
-24,o7A,4
-25,"cB ",4
diff --git a/tests/test/enginedb_small/csv/JOINTABLE18.csv b/tests/test/enginedb_small/csv/JOINTABLE18.csv
deleted file mode 100644
index bc7086724..000000000
--- a/tests/test/enginedb_small/csv/JOINTABLE18.csv
+++ /dev/null
@@ -1,100 +0,0 @@
-1,"w  ",-8
-2,xYd,
-3,"w  ",-836
-4,"Jl ",3
-5,,
-6,,9
-7,"3  ",-853
-8,,-808
-9,"M  ",-828
-10,"pn ",-879
-11,,3
-12,B_y,-8
-13,7SD,-871
-14,"d  ",-815
-15,,5
-16,xdv,7
-17,,-858
-18,"O  ",-879
-19,,-873
-20,Ak_,1
-21,,5
-22,"cj ",4
-23,iyY,1
-24,".  ",-812
-25,"K  ",
-26,"xv ",7
-27,,5
-28,,3
-29,EYx,1
-30,,
-31,,-8
-32,"GP ",-8
-33,a0.,3
-34,"l  ",3
-35,lXK,-815
-36,"D  ",-878
-37,"9C ",-871
-38,"e  ",5
-39,,-877
-40,,-822
-41,,3
-42,pCe,-831
-43,"qH ",-899
-44,"1  ",-875
-45,,-8
-46,"lq ",-893
-47,,-8
-48,fTO,3
-49,,-813
-50,"j  ",4
-51,OMN,-811
-52,,-808
-53,"4  ",-833
-54,"t  ",-818
-55,OFO,-845
-56,20Y,9
-57,"Z  ",
-58,"Y  ",-894
-59,"0  ",8
-60,oyn,-808
-61,"tI ",9
-62,"yl ",3
-63,T5s,9
-64,,-806
-65,,-861
-66,mws,1
-67,,
-68,"Z  ",8
-69,,8
-70,,9
-71,,-806
-72,";v ",-846
-73,,6
-74,,-872
-75,,7
-76,"zM ",6
-77,njo,-887
-78,"6  ",-867
-79,"lu ",
-80,,-882
-81,x8s,-885
-82,G;c,-866
-83,,8
-84,KV6,-804
-85,"4O ",-821
-86,,-852
-87,,
-88,"jn ",9
-89,"t  ",-819
-90,"U  ",3
-91,"p  ",6
-92,"R  ",-824
-93,110,8
-94,"cQ ",4
-95,"p  ",
-96,"0  ",8
-97,,-825
-98,"uJ ",9
-99,"b  ",-804
-100,StU,2
diff --git a/tests/test/enginedb_small/csv/JOINTABLE19.csv b/tests/test/enginedb_small/csv/JOINTABLE19.csv
deleted file mode 100644
index ebf3c5c6f..000000000
--- a/tests/test/enginedb_small/csv/JOINTABLE19.csv
+++ /dev/null
@@ -1,100 +0,0 @@
-1,,7
-2,REA,7
-3,"b  ",-9
-4,,1
-5,"IS ",4
-6,"i; ",-9
-7,"D8 ",4
-8,aRO,6
-9,C8F,2
-10,"fr ",9
-11,"L  ",
-12,"a  ",9
-13,"t  ",8
-14,,8
-15,"d3 ",2
-16,,3
-17,Wli,5
-18,,6
-19,"_. ",-9
-20,kBt,6
-21,,2
-22,"n  ",2
-23,"XH ",1
-24,"kN ",2
-25,,5
-26,"A6 ",5
-27,"6  ",1
-28,,-9
-29,"f  ",7
-30,"2f ",
-31,_Fd,5
-32,M;;,2
-33,"Iy ",5
-34,YDm,9
-35,"y  ",
-36,"8  ",4
-37,U1o,1
-38,,6
-39,",lr",
-40,,-9
-41,Hqb,9
-42,nU;,-9
-43,,6
-44,"5C ",3
-45,IfV,1
-46,SLK,4
-47,"JD ",4
-48,":  ",2
-49,"X  ",1
-50,"EI ",9
-51,"a  ",9
-52,t33,7
-1,,7
-2,REA,7
-3,"b  ",-9
-4,,1
-5,"IS ",4
-6,"i; ",-9
-7,"D8 ",4
-8,aRO,6
-9,C8F,2
-10,"fr ",9
-11,"L  ",
-12,"a  ",9
-13,"t  ",8
-14,,8
-15,"d3 ",2
-16,,3
-17,Wli,5
-18,,6
-19,"_. ",-9
-20,kBt,6
-21,,2
-22,"n  ",2
-23,"XH ",1
-24,"kN ",2
-25,,5
-26,"A6 ",5
-27,"6  ",1
-28,,-9
-29,"f  ",7
-30,"2f ",
-31,_Fd,5
-32,M;;,2
-33,"Iy ",5
-34,YDm,9
-35,"y  ",
-36,"8  ",4
-37,U1o,1
-38,,6
-39,",lr",
-40,,-9
-41,Hqb,9
-42,nU;,-9
-43,,6
-44,"5C ",3
-45,IfV,1
-46,SLK,4
-47,"JD ",4
-48,":  ",2
diff --git a/tests/test/enginedb_small/csv/JOINTABLE20.csv b/tests/test/enginedb_small/csv/JOINTABLE20.csv
deleted file mode 100644
index 0a09503e0..000000000
--- a/tests/test/enginedb_small/csv/JOINTABLE20.csv
+++ /dev/null
@@ -1,51 +0,0 @@
-1,"e1 ",8
-2,54I,7
-3,"m  ",6
-4,,3
-5,,7
-6,J0j,3
-7,Hrb,
-8,"t  ",7
-9,;Xn,-10
-10,BFH,3
-11,"c  ",3
-12,,4
-13,"Nf ",7
-14,4xm,3
-15,Yzt,8
-16,":9 ",-10
-17,"qf ",6
-1,"e1 ",8
-2,54I,7
-3,"m  ",6
-4,,3
-5,,7
-6,J0j,3
-7,Hrb,
-8,"t  ",7
-9,;Xn,-10
-10,BFH,3
-11,"c  ",3
-12,,4
-13,"Nf ",7
-14,4xm,3
-15,Yzt,8
-16,":9 ",-10
-17,"qf ",6
-1,"e1 ",8
-2,54I,7
-3,"m  ",6
-4,,3
-5,,7
-6,J0j,3
-7,Hrb,
-8,"t  ",7
-9,;Xn,-10
-10,BFH,3
-11,"c  ",3
-12,,4
-13,"Nf ",7
-14,4xm,3
-15,Yzt,8
-16,":9 ",-10
-17,"qf ",6
diff --git a/tests/test/enginedb_small/csv/JOINTABLE21.csv b/tests/test/enginedb_small/csv/JOINTABLE21.csv
deleted file mode 100644
index 43f2246fc..000000000
--- a/tests/test/enginedb_small/csv/JOINTABLE21.csv
+++ /dev/null
@@ -1,90 +0,0 @@
-1,"J  ",8
-2,"C,t",4
-3,,8
-4,"1H ",1
-5,,9
-6,,3
-7,"z  ",5
-8,"O  ",8
-9,,7
-10,"h  ",9
-11,"6U ",3
-12,Lb0,7
-13,,
-14,"N  ",6
-15,,2
-16,"s3 ",7
-17,"WJ ",5
-18,"41 ",9
-19,,6
-20,"AK ",9
-21,"Ee ",7
-22,"1  ",3
-23,lLz,9
-24,,2
-25,"qz ",-1
-26,s3C,1
-27,,5
-28,"9b ",4
-29,"O  ",8
-30,5NN,4
-1,"J  ",8
-2,"C,t",4
-3,,8
-4,"1H ",1
-5,,9
-6,,3
-7,"z  ",5
-8,"O  ",8
-9,,7
-10,"h  ",9
-11,"6U ",3
-12,Lb0,7
-13,,
-14,"N  ",6
-15,,2
-16,"s3 ",7
-17,"WJ ",5
-18,"41 ",9
-19,,6
-20,"AK ",9
-21,"Ee ",7
-22,"1  ",3
-23,lLz,9
-24,,2
-25,"qz ",-1
-26,s3C,1
-27,,5
-28,"9b ",4
-29,"O  ",8
-30,5NN,4
-1,"J  ",8
-2,"C,t",4
-3,,8
-4,"1H ",1
-5,,9
-6,,3
-7,"z  ",5
-8,"O  ",8
-9,,7
-10,"h  ",9
-11,"6U ",3
-12,Lb0,7
-13,,
-14,"N  ",6
-15,,2
-16,"s3 ",7
-17,"WJ ",5
-18,"41 ",9
-19,,6
-20,"AK ",9
-21,"Ee ",7
-22,"1  ",3
-23,lLz,9
-24,,2
-25,"qz ",-1
-26,s3C,1
-27,,5
-28,"9b ",4
-29,"O  ",8
-30,5NN,4
diff --git a/tests/test/enginedb_small/csv/JOINTABLE22.csv b/tests/test/enginedb_small/csv/JOINTABLE22.csv
deleted file mode 100644
index 6cc87bf26..000000000
--- a/tests/test/enginedb_small/csv/JOINTABLE22.csv
+++ /dev/null
@@ -1,75 +0,0 @@
-1,"hr ",
-2,"6  ",7
-3,1B4,2
-4,pOm,2
-5,,4
-6,,9
-7,"l  ",-1
-8,zi;,6
-9,,3
-10,"u  ",7
-11,,4
-12,"C  ",8
-13,"y  ",1
-14,,6
-15,"Co ",2
-16,"X  ",2
-17,"Z  ",-1
-18,,3
-19,"Z  ",8
-20,,9
-21,c3i,5
-22,"LU ",5
-23,"x  ",4
-24,"P  ",5
-25,,-1
-1,"hr ",
-2,"6  ",7
-3,1B4,2
-4,pOm,2
-5,,4
-6,,9
-7,"l  ",-1
-8,zi;,6
-9,,3
-10,"u  ",7
-11,,4
-12,"C  ",8
-13,"y  ",1
-14,,6
-15,"Co ",2
-16,"X  ",2
-17,"Z  ",-1
-18,,3
-19,"Z  ",8
-20,,9
-21,c3i,5
-22,"LU ",5
-23,"x  ",4
-24,"P  ",5
-25,,-1
-1,"hr ",
-2,"6  ",7
-3,1B4,2
-4,pOm,2
-5,,4
-6,,9
-7,"l  ",-1
-8,zi;,6
-9,,3
-10,"u  ",7
-11,,4
-12,"C  ",8
-13,"y  ",1
-14,,6
-15,"Co ",2
-16,"X  ",2
-17,"Z  ",-1
-18,,3
-19,"Z  ",8
-20,,9
-21,c3i,5
-22,"LU ",5
-23,"x  ",4
-24,"P  ",5
-25,,-1
diff --git a/tests/test/enginedb_small/csv/JOINTABLE23.csv b/tests/test/enginedb_small/csv/JOINTABLE23.csv
deleted file mode 100644
index f35c2732b..000000000
--- a/tests/test/enginedb_small/csv/JOINTABLE23.csv
+++ /dev/null
@@ -1,12 +0,0 @@
-1,"Xn ",-1
-2,Ah9,-1
-3,"v9 ",4
-4,,-1
-1,"Xn ",-1
-2,Ah9,-1
-3,"v9 ",4
-4,,-1
-1,"Xn ",-1
-2,Ah9,-1
-3,"v9 ",4
-4,,-1
diff --git a/tests/test/enginedb_small/csv/JOINTABLE24.csv b/tests/test/enginedb_small/csv/JOINTABLE24.csv
deleted file mode 100644
index 296fd6c63..000000000
--- a/tests/test/enginedb_small/csv/JOINTABLE24.csv
+++ /dev/null
@@ -1,100 +0,0 @@
-1,;Uo,5
-2,",Fl",5
-3,,5
-4,aS.,
-5,"Y4 ",9
-6,"l  ",3
-7,KN0,-1
-8,,3
-9,".z ",-1
-10,sm8,-1
-11,vFO,8
-12,Jm9,-1
-13,,
-14,,5
-15,"Yd ",5
-16,,1
-17,yx1,7
-18,cD6,1
-19,:lE,-1
-20,"j  ",-1
-21,"nf ",5
-22,csR,
-23,,-1
-24,C9Y,-1
-25,,
-26,,-1
-27,uD3,7
-28,p0b,9
-29,"H_ ",-1
-30,4VQ,5
-31,"F  ",2
-32,"l  ",3
-33,"sh ",
-34,,5
-35,,8
-36,,8
-37,dpG,-1
-38,sU7,4
-39,"0v ",7
-40,gxO,6
-41,"qr ",-1
-42,,2
-43,"_J ",-1
-44,,8
-45,,5
-1,;Uo,5
-2,",Fl",5
-3,,5
-4,aS.,
-5,"Y4 ",9
-6,"l  ",3
-7,KN0,-1
-8,,3
-9,".z ",-1
-10,sm8,-1
-11,vFO,8
-12,Jm9,-1
-13,,
-14,,5
-15,"Yd ",5
-16,,1
-17,yx1,7
-18,cD6,1
-19,:lE,-1
-20,"j  ",-1
-21,"nf ",5
-22,csR,
-23,,-1
-24,C9Y,-1
-25,,
-26,,-1
-27,uD3,7
-28,p0b,9
-29,"H_ ",-1
-30,4VQ,5
-31,"F  ",2
-32,"l  ",3
-33,"sh ",
-34,,5
-35,,8
-36,,8
-37,dpG,-1
-38,sU7,4
-39,"0v ",7
-40,gxO,6
-41,"qr ",-1
-42,,2
-43,"_J ",-1
-44,,8
-45,,5
-1,;Uo,5
-2,",Fl",5
-3,,5
-4,aS.,
-5,"Y4 ",9
-6,"l  ",3
-7,KN0,-1
-8,,3
-9,".z ",-1
-10,sm8,-1
diff --git a/tests/test/enginedb_small/csv/JOINTABLE25.csv b/tests/test/enginedb_small/csv/JOINTABLE25.csv
deleted file mode 100644
index bc49217a4..000000000
--- a/tests/test/enginedb_small/csv/JOINTABLE25.csv
+++ /dev/null
@@ -1,60 +0,0 @@
-1,hsY,
-2,"3  ",
-3,"S  ",3
-4,"e  ",7
-5,ffL,
-6,cux,7
-7,ZWf,7
-8,"dj ",4
-9,"w  ",9
-10,,4
-11,"v5 ",
-12,"6  ",6
-13,"Ca ",8
-14,,3
-15,Iv8,5
-16,"w  ",2
-17,"x  ",-1
-18,cy6,-1
-19,,4
-20,"_S ",3
-1,hsY,
-2,"3  ",
-3,"S  ",3
-4,"e  ",7
-5,ffL,
-6,cux,7
-7,ZWf,7
-8,"dj ",4
-9,"w  ",9
-10,,4
-11,"v5 ",
-12,"6  ",6
-13,"Ca ",8
-14,,3
-15,Iv8,5
-16,"w  ",2
-17,"x  ",-1
-18,cy6,-1
-19,,4
-20,"_S ",3
-1,hsY,
-2,"3  ",
-3,"S  ",3
-4,"e  ",7
-5,ffL,
-6,cux,7
-7,ZWf,7
-8,"dj ",4
-9,"w  ",9
-10,,4
-11,"v5 ",
-12,"6  ",6
-13,"Ca ",8
-14,,3
-15,Iv8,5
-16,"w  ",2
-17,"x  ",-1
-18,cy6,-1
-19,,4
-20,"_S ",3
diff --git a/tests/test/enginedb_small/csv/JOINTABLE26.csv b/tests/test/enginedb_small/csv/JOINTABLE26.csv
deleted file mode 100644
index af37dcfd0..000000000
--- a/tests/test/enginedb_small/csv/JOINTABLE26.csv
+++ /dev/null
@@ -1,60 +0,0 @@
-1,"3q ",5
-2,W6h,5
-3,,9
-4,"87 ",
-5,"1H ",7
-6,O.N,-1
-7,,2
-8,,5
-9,jIz,
-10,"nL ",5
-11,,7
-12,,8
-13,"X4 ",9
-14,HJG,
-15,"gT ",
-16,"PP ",1
-17,"yL ",3
-18,,4
-19,"X  ",4
-20,"K2 ",
-1,"3q ",5
-2,W6h,5
-3,,9
-4,"87 ",
-5,"1H ",7
-6,O.N,-1
-7,,2
-8,,5
-9,jIz,
-10,"nL ",5
-11,,7
-12,,8
-13,"X4 ",9
-14,HJG,
-15,"gT ",
-16,"PP ",1
-17,"yL ",3
-18,,4
-19,"X  ",4
-20,"K2 ",
-1,"3q ",5
-2,W6h,5
-3,,9
-4,"87 ",
-5,"1H ",7
-6,O.N,-1
-7,,2
-8,,5
-9,jIz,
-10,"nL ",5
-11,,7
-12,,8
-13,"X4 ",9
-14,HJG,
-15,"gT ",
-16,"PP ",1
-17,"yL ",3
-18,,4
-19,"X  ",4
-20,"K2 ",
diff --git a/tests/test/enginedb_small/csv/JOINTABLE27.csv b/tests/test/enginedb_small/csv/JOINTABLE27.csv
deleted file mode 100644
index d0429c88d..000000000
--- a/tests/test/enginedb_small/csv/JOINTABLE27.csv
+++ /dev/null
@@ -1,81 +0,0 @@
-1,,2
-2,"N  ",6
-3,,8
-4,,3
-5,BQy,3
-6,"G  ",1
-7,1k.,4
-8,,-1
-9,t50,9
-10,,7
-11,"9: ",2
-12,vdU,-1
-13,dMs,
-14,,3
-15,mhr,9
-16,"f  ",2
-17,"E  ",5
-18,,4
-19,"Ez ",4
-20,"H  ",2
-21,"G  ",1
-22,JzD,5
-23,jqw,8
-24,a0E,
-25,"c  ",6
-26,Ia.,4
-27,rBU,5
-1,,2
-2,"N  ",6
-3,,8
-4,,3
-5,BQy,3
-6,"G  ",1
-7,1k.,4
-8,,-1
-9,t50,9
-10,,7
-11,"9: ",2
-12,vdU,-1
-13,dMs,
-14,,3
-15,mhr,9
-16,"f  ",2
-17,"E  ",5
-18,,4
-19,"Ez ",4
-20,"H  ",2
-21,"G  ",1
-22,JzD,5
-23,jqw,8
-24,a0E,
-25,"c  ",6
-26,Ia.,4
-27,rBU,5
-1,,2
-2,"N  ",6
-3,,8
-4,,3
-5,BQy,3
-6,"G  ",1
-7,1k.,4
-8,,-1
-9,t50,9
-10,,7
-11,"9: ",2
-12,vdU,-1
-13,dMs,
-14,,3
-15,mhr,9
-16,"f  ",2
-17,"E  ",5
-18,,4
-19,"Ez ",4
-20,"H  ",2
-21,"G  ",1
-22,JzD,5
-23,jqw,8
-24,a0E,
-25,"c  ",6
-26,Ia.,4
-27,rBU,5
diff --git a/tests/test/enginedb_small/csv/JOINTABLE28.csv b/tests/test/enginedb_small/csv/JOINTABLE28.csv
deleted file mode 100644
index 3b6c37f4d..000000000
--- a/tests/test/enginedb_small/csv/JOINTABLE28.csv
+++ /dev/null
@@ -1,63 +0,0 @@
-1,"w  ",7
-2,,7
-3,"L  ",3
-4,"T  ",5
-5,,2
-6,l1q,6
-7,,6
-8,"SJ ",-1
-9,,
-10,"TB ",9
-11,,4
-12,"E  ",
-13,"7L ",
-14,dW4,-1
-15,xC5,6
-16,"4  ",
-17,"a  ",7
-18,"n  ",1
-19,"Pd ",-1
-20,,9
-21,"S  ",4
-1,"w  ",7
-2,,7
-3,"L  ",3
-4,"T  ",5
-5,,2
-6,l1q,6
-7,,6
-8,"SJ ",-1
-9,,
-10,"TB ",9
-11,,4
-12,"E  ",
-13,"7L ",
-14,dW4,-1
-15,xC5,6
-16,"4  ",
-17,"a  ",7
-18,"n  ",1
-19,"Pd ",-1
-20,,9
-21,"S  ",4
-1,"w  ",7
-2,,7
-3,"L  ",3
-4,"T  ",5
-5,,2
-6,l1q,6
-7,,6
-8,"SJ ",-1
-9,,
-10,"TB ",9
-11,,4
-12,"E  ",
-13,"7L ",
-14,dW4,-1
-15,xC5,6
-16,"4  ",
-17,"a  ",7
-18,"n  ",1
-19,"Pd ",-1
-20,,9
-21,"S  ",4
diff --git a/tests/test/enginedb_small/csv/JOINTABLE29.csv b/tests/test/enginedb_small/csv/JOINTABLE29.csv
deleted file mode 100644
index c5fc0d294..000000000
--- a/tests/test/enginedb_small/csv/JOINTABLE29.csv
+++ /dev/null
@@ -1,100 +0,0 @@
-1,"9y ",-9
-2,"vA ",2
-3,"q  ",1
-4,h0L,7
-5,,
-6,"Qo ",1
-7,,3
-8,hAL,7
-9,"S  ",1
-10,"5g ",7
-11,LFP,3
-12,"M6 ",
-13,"s  ",4
-14,"R1 ",8
-15,u3Y,9
-16,"B  ",3
-17,,6
-18,"C_ ",
-19,"A  ",1
-20,"6_ ",2
-21,"0  ",8
-22,"B,u",5
-23,3oL,9
-24,"ed ",9
-25,"X  ",
-26,"h  ",5
-27,"V  ",2
-28,,8
-29,,
-30,,8
-31,"Yu ",
-32,xZ;,
-33,"j  ",5
-34,"2  ",9
-35,"V  ",
-36,"mg ",-9
-37,,
-38,,
-39,,5
-40,Epm,3
-41,"K  ",
-42,"JV ",6
-43,7vE,-9
-44,".O ",8
-45,"ZJ ",7
-46,"H  ",2
-47,"Bd ",-9
-48,,9
-49,,8
-50,"L1 ",
-51,,-9
-1,"9y ",-9
-2,"vA ",2
-3,"q  ",1
-4,h0L,7
-5,,
-6,"Qo ",1
-7,,3
-8,hAL,7
-9,"S  ",1
-10,"5g ",7
-11,LFP,3
-12,"M6 ",
-13,"s  ",4
-14,"R1 ",8
-15,u3Y,9
-16,"B  ",3
-17,,6
-18,"C_ ",
-19,"A  ",1
-20,"6_ ",2
-21,"0  ",8
-22,"B,u",5
-23,3oL,9
-24,"ed ",9
-25,"X  ",
-26,"h  ",5
-27,"V  ",2
-28,,8
-29,,
-30,,8
-31,"Yu ",
-32,xZ;,
-33,"j  ",5
-34,"2  ",9
-35,"V  ",
-36,"mg ",-9
-37,,
-38,,
-39,,5
-40,Epm,3
-41,"K  ",
-42,"JV ",6
-43,7vE,-9
-44,".O ",8
-45,"ZJ ",7
-46,"H  ",2
-47,"Bd ",-9
-48,,9
-49,,8
diff --git a/tests/test/enginedb_small/export.sql b/tests/test/enginedb_small/export.sql
deleted file mode 100644
index fae99f226..000000000
--- a/tests/test/enginedb_small/export.sql
+++ /dev/null
@@ -1,67 +0,0 @@
-open schema test;
-export ENGINETABLE into local csv file 'csv/ENGINETABLE.csv';
-export COMP1 into local csv file 'csv/COMP1.csv';
-export COMP2 into local csv file 'csv/COMP2.csv';
-export ENGINETABLETIMESTAMP1 into local csv file 'csv/ENGINETABLETIMESTAMP1.csv';
-export ENGINETABLETIMESTAMP2 into local csv file 'csv/ENGINETABLETIMESTAMP2.csv';
-export ENGINETABLEJOIN1 into local csv file 'csv/ENGINETABLEJOIN1.csv';
-export ENGINETABLEJOIN2 into local csv file 'csv/ENGINETABLEJOIN2.csv';
-export ENGINETABLEJOINSMALL into local csv file 'csv/ENGINETABLEJOINSMALL.csv';
-export JOINTABLE10 into local csv file 'csv/JOINTABLE10.csv';
-export JOINTABLE11 into local csv file 'csv/JOINTABLE11.csv';
-export JOINTABLE12 into local csv file 'csv/JOINTABLE12.csv';
-export JOINTABLE13 into local csv file 'csv/JOINTABLE13.csv';
-export JOINTABLE14 into local csv file 'csv/JOINTABLE14.csv';
-export JOINTABLE15 into local csv file 'csv/JOINTABLE15.csv';
-export JOINTABLE16 into local csv file 'csv/JOINTABLE16.csv';
-export JOINTABLE17 into local csv file 'csv/JOINTABLE17.csv';
-export JOINTABLE18 into local csv file 'csv/JOINTABLE18.csv';
-export JOINTABLE19 into local csv file 'csv/JOINTABLE19.csv';
-export JOINTABLE20 into local csv file 'csv/JOINTABLE20.csv';
-export JOINTABLE21 into local csv file 'csv/JOINTABLE21.csv';
-export JOINTABLE22 into local csv file 'csv/JOINTABLE22.csv';
-export JOINTABLE23 into local csv file 'csv/JOINTABLE23.csv';
-export JOINTABLE24 into local csv file 'csv/JOINTABLE24.csv';
-export JOINTABLE25 into local csv file 'csv/JOINTABLE25.csv';
-export JOINTABLE26 into local csv file 'csv/JOINTABLE26.csv';
-export JOINTABLE27 into local csv file 'csv/JOINTABLE27.csv';
-export JOINTABLE28 into local csv file 'csv/JOINTABLE28.csv';
-export JOINTABLE29 into local csv file 'csv/JOINTABLE29.csv';
-export ENGINETABLEJOINOPTCHAR1 into local csv file 'csv/ENGINETABLEJOINOPTCHAR1.csv';
-export ENGINETABLEJOINOPTCHAR2 into local csv file 'csv/ENGINETABLEJOINOPTCHAR2.csv';
-export ENGINETABLEJOINOPTVARCHAR1 into local csv file 'csv/ENGINETABLEJOINOPTVARCHAR1.csv';
-export ENGINETABLEJOINOPTVARCHAR2 into local csv file 'csv/ENGINETABLEJOINOPTVARCHAR2.csv';
-export ENGINETABLEJOINOPTINT1 into local csv file 'csv/ENGINETABLEJOINOPTINT1.csv';
-export ENGINETABLEJOINOPTINT2 into local csv file 'csv/ENGINETABLEJOINOPTINT2.csv';
-export ENGINETABLEJOINOPTSMALLINT1 into local csv file 'csv/ENGINETABLEJOINOPTSMALLINT1.csv';
-export ENGINETABLEJOINOPTSMALLINT2 into local csv file 'csv/ENGINETABLEJOINOPTSMALLINT2.csv';
-export ENGINETABLEJOINOPTFLOAT1 into local csv file 'csv/ENGINETABLEJOINOPTFLOAT1.csv';
-export ENGINETABLEJOINOPTFLOAT2 into local csv file 'csv/ENGINETABLEJOINOPTFLOAT2.csv';
-export ENGINETABLEJOINOPTDECIMAL1 into local csv file 'csv/ENGINETABLEJOINOPTDECIMAL1.csv';
-export ENGINETABLEJOINOPTDECIMAL2 into local csv file 'csv/ENGINETABLEJOINOPTDECIMAL2.csv';
-export ENGINETABLEJOINOPTDATE1 into local csv file 'csv/ENGINETABLEJOINOPTDATE1.csv';
-export ENGINETABLEJOINOPTDATE2 into local csv file 'csv/ENGINETABLEJOINOPTDATE2.csv';
-export ENGINETABLEJOINOPTTIMESTAMP1 into local csv file 'csv/ENGINETABLEJOINOPTTIMESTAMP1.csv';
-export ENGINETABLEJOINOPTTIMESTAMP2 into local csv file 'csv/ENGINETABLEJOINOPTTIMESTAMP2.csv';
-export ENGINETABLEBIG1 into local csv file 'csv/ENGINETABLEBIG1.csv';
-export ENGINETABLEBIG2 into local csv file 'csv/ENGINETABLEBIG2.csv';
-export ENGINETABLEBIGJOINOPTCHAR1 into local csv file 'csv/ENGINETABLEBIGJOINOPTCHAR1.csv';
-export ENGINETABLEBIGJOINOPTCHAR2 into local csv file 'csv/ENGINETABLEBIGJOINOPTCHAR2.csv';
-export ENGINETABLEBIGJOINOPTVARCHAR1 into local csv file 'csv/ENGINETABLEBIGJOINOPTVARCHAR1.csv';
-export ENGINETABLEBIGJOINOPTVARCHAR2 into local csv file 'csv/ENGINETABLEBIGJOINOPTVARCHAR2.csv';
-export ENGINETABLEBIGJOINOPTINT1 into local csv file 'csv/ENGINETABLEBIGJOINOPTINT1.csv';
-export ENGINETABLEBIGJOINOPTINT2 into local csv file 'csv/ENGINETABLEBIGJOINOPTINT2.csv';
-export ENGINETABLEBIGJOINOPTSMALLINT1 into local csv file 'csv/ENGINETABLEBIGJOINOPTSMALLINT1.csv';
-export ENGINETABLEBIGJOINOPTSMALLINT2 into local csv file 'csv/ENGINETABLEBIGJOINOPTSMALLINT2.csv';
-export ENGINETABLEBIGJOINOPTFLOAT1 into local csv file 'csv/ENGINETABLEBIGJOINOPTFLOAT1.csv';
-export ENGINETABLEBIGJOINOPTFLOAT2 into local csv file 'csv/ENGINETABLEBIGJOINOPTFLOAT2.csv';
-export ENGINETABLEBIGJOINOPTDECIMAL1 into local csv file 'csv/ENGINETABLEBIGJOINOPTDECIMAL1.csv';
-export ENGINETABLEBIGJOINOPTDECIMAL2 into local csv file 'csv/ENGINETABLEBIGJOINOPTDECIMAL2.csv';
-export ENGINETABLEBIGJOINOPTDATE1 into local csv file 'csv/ENGINETABLEBIGJOINOPTDATE1.csv';
-export ENGINETABLEBIGJOINOPTDATE2 into local csv file 'csv/ENGINETABLEBIGJOINOPTDATE2.csv';
-export ENGINETABLEUNICODECHAR into local csv file 'csv/ENGINETABLEUNICODECHAR.csv';
-export ENGINETABLEUNICODEVARCHAR into local csv file 'csv/ENGINETABLEUNICODEVARCHAR.csv';
-export ENGINETABLEUNICODE into local csv file 'csv/ENGINETABLEUNICODE.csv';
-export ENGINETABLEBIGUNICODECHAR into local csv file 'csv/ENGINETABLEBIGUNICODECHAR.csv';
-export ENGINETABLEBIGUNICODEVARCHAR into local csv file 'csv/ENGINETABLEBIGUNICODEVARCHAR.csv';
-export ENGINETABLEBIGUNICODE into local csv file 'csv/ENGINETABLEBIGUNICODE.csv';
diff --git a/tests/test/enginedb_small/import.sql b/tests/test/enginedb_small/import.sql
deleted file mode 100644
index b84a5bef1..000000000
--- a/tests/test/enginedb_small/import.sql
+++ /dev/null
@@ -1,67 +0,0 @@
-@schema.sql;
-import into ENGINETABLE from local csv file 'csv/ENGINETABLE.csv';
-import into COMP1 from local csv file 'csv/COMP1.csv';
-import into COMP2 from local csv file 'csv/COMP2.csv';
-import into ENGINETABLETIMESTAMP1 from local csv file 'csv/ENGINETABLETIMESTAMP1.csv';
-import into ENGINETABLETIMESTAMP2 from local csv file 'csv/ENGINETABLETIMESTAMP2.csv';
-import into ENGINETABLEJOIN1 from local csv file 'csv/ENGINETABLEJOIN1.csv';
-import into ENGINETABLEJOIN2 from local csv file 'csv/ENGINETABLEJOIN2.csv';
-import into ENGINETABLEJOINSMALL from local csv file 'csv/ENGINETABLEJOINSMALL.csv';
-import into JOINTABLE10 from local csv file 'csv/JOINTABLE10.csv';
-import into JOINTABLE11 from local csv file 'csv/JOINTABLE11.csv';
-import into JOINTABLE12 from local csv file 'csv/JOINTABLE12.csv';
-import into JOINTABLE13 from local csv file 'csv/JOINTABLE13.csv';
-import into JOINTABLE14 from local csv file 'csv/JOINTABLE14.csv';
-import into JOINTABLE15 from local csv file 'csv/JOINTABLE15.csv';
-import into JOINTABLE16 from local csv file 'csv/JOINTABLE16.csv';
-import into JOINTABLE17 from local csv file 'csv/JOINTABLE17.csv';
-import into JOINTABLE18 from local csv file 'csv/JOINTABLE18.csv';
-import into JOINTABLE19 from local csv file 'csv/JOINTABLE19.csv';
-import into JOINTABLE20 from local csv file 'csv/JOINTABLE20.csv';
-import into JOINTABLE21 from local csv file 'csv/JOINTABLE21.csv';
-import into JOINTABLE22 from local csv file 'csv/JOINTABLE22.csv';
-import into JOINTABLE23 from local csv file 'csv/JOINTABLE23.csv';
-import into JOINTABLE24 from local csv file 'csv/JOINTABLE24.csv';
-import into JOINTABLE25 from local csv file 'csv/JOINTABLE25.csv';
-import into JOINTABLE26 from local csv file 'csv/JOINTABLE26.csv';
-import into JOINTABLE27 from local csv file 'csv/JOINTABLE27.csv';
-import into JOINTABLE28 from local csv file 'csv/JOINTABLE28.csv';
-import into JOINTABLE29 from local csv file 'csv/JOINTABLE29.csv';
-import into ENGINETABLEJOINOPTCHAR1 from local csv file 'csv/ENGINETABLEJOINOPTCHAR1.csv';
-import into ENGINETABLEJOINOPTCHAR2 from local csv file 'csv/ENGINETABLEJOINOPTCHAR2.csv';
-import into ENGINETABLEJOINOPTVARCHAR1 from local csv file 'csv/ENGINETABLEJOINOPTVARCHAR1.csv';
-import into ENGINETABLEJOINOPTVARCHAR2 from local csv file 'csv/ENGINETABLEJOINOPTVARCHAR2.csv';
-import into ENGINETABLEJOINOPTINT1 from local csv file 'csv/ENGINETABLEJOINOPTINT1.csv';
-import into ENGINETABLEJOINOPTINT2 from local csv file 'csv/ENGINETABLEJOINOPTINT2.csv';
-import into ENGINETABLEJOINOPTSMALLINT1 from local csv file 'csv/ENGINETABLEJOINOPTSMALLINT1.csv';
-import into ENGINETABLEJOINOPTSMALLINT2 from local csv file 'csv/ENGINETABLEJOINOPTSMALLINT2.csv';
-import into ENGINETABLEJOINOPTFLOAT1 from local csv file 'csv/ENGINETABLEJOINOPTFLOAT1.csv';
-import into ENGINETABLEJOINOPTFLOAT2 from local csv file 'csv/ENGINETABLEJOINOPTFLOAT2.csv';
-import into ENGINETABLEJOINOPTDECIMAL1 from local csv file 'csv/ENGINETABLEJOINOPTDECIMAL1.csv';
-import into ENGINETABLEJOINOPTDECIMAL2 from local csv file 'csv/ENGINETABLEJOINOPTDECIMAL2.csv';
-import into ENGINETABLEJOINOPTDATE1 from local csv file 'csv/ENGINETABLEJOINOPTDATE1.csv';
-import into ENGINETABLEJOINOPTDATE2 from local csv file 'csv/ENGINETABLEJOINOPTDATE2.csv';
-import into ENGINETABLEJOINOPTTIMESTAMP1 from local csv file 'csv/ENGINETABLEJOINOPTTIMESTAMP1.csv';
-import into ENGINETABLEJOINOPTTIMESTAMP2 from local csv file 'csv/ENGINETABLEJOINOPTTIMESTAMP2.csv';
-import into ENGINETABLEBIG1 from local csv file 'csv/ENGINETABLEBIG1.csv';
-import into ENGINETABLEBIG2 from local csv file 'csv/ENGINETABLEBIG2.csv';
-import into ENGINETABLEBIGJOINOPTCHAR1 from local csv file 'csv/ENGINETABLEBIGJOINOPTCHAR1.csv';
-import into ENGINETABLEBIGJOINOPTCHAR2 from local csv file 'csv/ENGINETABLEBIGJOINOPTCHAR2.csv';
-import into ENGINETABLEBIGJOINOPTVARCHAR1 from local csv file 'csv/ENGINETABLEBIGJOINOPTVARCHAR1.csv';
-import into ENGINETABLEBIGJOINOPTVARCHAR2 from local csv file 'csv/ENGINETABLEBIGJOINOPTVARCHAR2.csv';
-import into ENGINETABLEBIGJOINOPTINT1 from local csv file 'csv/ENGINETABLEBIGJOINOPTINT1.csv';
-import into ENGINETABLEBIGJOINOPTINT2 from local csv file 'csv/ENGINETABLEBIGJOINOPTINT2.csv';
-import into ENGINETABLEBIGJOINOPTSMALLINT1 from local csv file 'csv/ENGINETABLEBIGJOINOPTSMALLINT1.csv';
-import into ENGINETABLEBIGJOINOPTSMALLINT2 from local csv file 'csv/ENGINETABLEBIGJOINOPTSMALLINT2.csv';
-import into ENGINETABLEBIGJOINOPTFLOAT1 from local csv file 'csv/ENGINETABLEBIGJOINOPTFLOAT1.csv';
-import into ENGINETABLEBIGJOINOPTFLOAT2 from local csv file 'csv/ENGINETABLEBIGJOINOPTFLOAT2.csv';
-import into ENGINETABLEBIGJOINOPTDECIMAL1 from local csv file 'csv/ENGINETABLEBIGJOINOPTDECIMAL1.csv';
-import into ENGINETABLEBIGJOINOPTDECIMAL2 from local csv file 'csv/ENGINETABLEBIGJOINOPTDECIMAL2.csv';
-import into ENGINETABLEBIGJOINOPTDATE1 from local csv file 'csv/ENGINETABLEBIGJOINOPTDATE1.csv';
-import into ENGINETABLEBIGJOINOPTDATE2 from local csv file 'csv/ENGINETABLEBIGJOINOPTDATE2.csv';
-import into ENGINETABLEUNICODECHAR from local csv file 'csv/ENGINETABLEUNICODECHAR.csv';
-import into ENGINETABLEUNICODEVARCHAR from local csv file 'csv/ENGINETABLEUNICODEVARCHAR.csv';
-import into ENGINETABLEUNICODE from local csv file 'csv/ENGINETABLEUNICODE.csv';
-import into ENGINETABLEBIGUNICODECHAR from local csv file 'csv/ENGINETABLEBIGUNICODECHAR.csv';
-import into ENGINETABLEBIGUNICODEVARCHAR from local csv file 'csv/ENGINETABLEBIGUNICODEVARCHAR.csv';
-import into ENGINETABLEBIGUNICODE from local csv file 'csv/ENGINETABLEBIGUNICODE.csv';
diff --git a/tests/test/enginedb_small/schema.sql b/tests/test/enginedb_small/schema.sql
deleted file mode 100644
index 21dc8471d..000000000
--- a/tests/test/enginedb_small/schema.sql
+++ /dev/null
@@ -1,485 +0,0 @@
-CREATE SCHEMA TEST;
-
-CREATE TABLE ENGINETABLE (
-    INT_INDEX   DECIMAL(18,0),
-    DECIMAL1    DECIMAL(8,3),
-    DECIMAL2    DECIMAL(8,3),
-    SMALLINT1   DECIMAL(9,0),
-    SMALLINT2   DECIMAL(9,0),
-    INT1        DECIMAL(18,0),
-    INT2        DECIMAL(18,0),
-    FLOAT1      DOUBLE PRECISION,
-    FLOAT2      DOUBLE PRECISION,
-    SINGLE_CHAR CHAR(1) UTF8,
-    CHAR1       CHAR(30) UTF8,
-    CHAR2       CHAR(30) UTF8,
-    VARCHAR01   VARCHAR(30) UTF8,
-    VARCHAR02   VARCHAR(30) UTF8,
-    DATE1       DATE,
-    DATE2       DATE
-);
-
-CREATE TABLE COMP1 (
-    IDX         DECIMAL(18,0),
-    CHAR1_1     CHAR(1) UTF8,
-    CHAR1_2     CHAR(1) UTF8,
-    VARCHAR1_1  VARCHAR(1) UTF8,
-    VARCHAR1_2  VARCHAR(1) UTF8,
-    CHAR4_1     CHAR(4) UTF8,
-    CHAR4_2     CHAR(4) UTF8,
-    VARCHAR4_1  VARCHAR(4) UTF8,
-    VARCHAR4_2  VARCHAR(4) UTF8,
-    CHAR10_1    CHAR(10) UTF8,
-    CHAR10_2    CHAR(10) UTF8,
-    VARCHAR10_1 VARCHAR(10) UTF8,
-    VARCHAR10_2 VARCHAR(10) UTF8
-);
-
-CREATE TABLE COMP2 (
-    IDX         DECIMAL(18,0),
-    CHAR1_1     CHAR(1) UTF8,
-    CHAR1_2     CHAR(1) UTF8,
-    VARCHAR1_1  VARCHAR(1) UTF8,
-    VARCHAR1_2  VARCHAR(1) UTF8,
-    CHAR4_1     CHAR(4) UTF8,
-    CHAR4_2     CHAR(4) UTF8,
-    VARCHAR4_1  VARCHAR(4) UTF8,
-    VARCHAR4_2  VARCHAR(4) UTF8,
-    CHAR10_1    CHAR(10) UTF8,
-    CHAR10_2    CHAR(10) UTF8,
-    VARCHAR10_1 VARCHAR(10) UTF8,
-    VARCHAR10_2 VARCHAR(10) UTF8
-);
-
-CREATE TABLE ENGINETABLETIMESTAMP1 (
-    INT_INDEX DECIMAL(18,0),
-    TS1       TIMESTAMP
-);
-
-CREATE TABLE ENGINETABLETIMESTAMP2 (
-    INT_INDEX DECIMAL(18,0),
-    TS1       TIMESTAMP
-);
-
-CREATE TABLE ENGINETABLEJOIN1 (
-    INT_INDEX   DECIMAL(18,0),
-    DECIMAL83   DECIMAL(8,3),
-    DECIMAL62   DECIMAL(6,2),
-    SMALLINT1   DECIMAL(9,0),
-    INT1        DECIMAL(18,0),
-    FLOAT1      DOUBLE PRECISION,
-    SINGLE_CHAR CHAR(1) UTF8,
-    CHAR1       CHAR(30) UTF8,
-    VARCHAR01   VARCHAR(30) UTF8,
-    VARCHAR21   VARCHAR(30) UTF8,
-    DATE1       DATE
-);
-
-CREATE TABLE ENGINETABLEJOIN2 (
-    INT_INDEX   DECIMAL(18,0),
-    DECIMAL83   DECIMAL(8,3),
-    DECIMAL62   DECIMAL(6,2),
-    SMALLINT1   DECIMAL(9,0),
-    INT1        DECIMAL(18,0),
-    FLOAT1      DOUBLE PRECISION,
-    SINGLE_CHAR CHAR(1) UTF8,
-    CHAR1       CHAR(30) UTF8,
-    VARCHAR01   VARCHAR(30) UTF8,
-    VARCHAR21   VARCHAR(30) UTF8,
-    DATE1       DATE
-);
-
-CREATE TABLE ENGINETABLEJOINSMALL (
-    INT_INDEX   DECIMAL(18,0),
-    DECIMAL83   DECIMAL(8,3),
-    DECIMAL62   DECIMAL(6,2),
-    SMALLINT1   DECIMAL(9,0),
-    INT1        DECIMAL(18,0),
-    FLOAT1      DOUBLE PRECISION,
-    SINGLE_CHAR CHAR(1) UTF8,
-    CHAR1       CHAR(30) UTF8,
-    VARCHAR01   VARCHAR(30) UTF8,
-    VARCHAR21   VARCHAR(30) UTF8,
-    DATE1       DATE
-);
-
-CREATE TABLE JOINTABLE10 (
-    INDEX1 DECIMAL(18,0),
-    INDEX2 CHAR(3) UTF8,
-    COL    DECIMAL(18,0),
-    DISTRIBUTE BY COL
-);
-
-CREATE TABLE JOINTABLE11 (
-    INDEX1 DECIMAL(18,0),
-    INDEX2 CHAR(3) UTF8,
-    COL    DECIMAL(18,0),
-    DISTRIBUTE BY COL
-);
-
-CREATE TABLE JOINTABLE12 (
-    INDEX1 DECIMAL(18,0),
-    INDEX2 CHAR(3) UTF8,
-    COL    DECIMAL(18,0),
-    DISTRIBUTE BY COL
-);
-
-CREATE TABLE JOINTABLE13 (
-    INDEX1 DECIMAL(18,0),
-    INDEX2 CHAR(3) UTF8,
-    COL    DECIMAL(18,0),
-    DISTRIBUTE BY COL
-);
-
-CREATE TABLE JOINTABLE14 (
-    INDEX1 DECIMAL(18,0),
-    INDEX2 CHAR(3) UTF8,
-    COL    DECIMAL(18,0),
-    DISTRIBUTE BY COL
-);
-
-CREATE TABLE JOINTABLE15 (
-    INDEX1 DECIMAL(18,0),
-    INDEX2 CHAR(3) UTF8,
-    COL    DECIMAL(18,0),
-    DISTRIBUTE BY COL
-);
-
-CREATE TABLE JOINTABLE16 (
-    INDEX1 DECIMAL(18,0),
-    INDEX2 CHAR(3) UTF8,
-    COL    DECIMAL(18,0),
-    DISTRIBUTE BY COL
-);
-
-CREATE TABLE JOINTABLE17 (
-    INDEX1 DECIMAL(18,0),
-    INDEX2 CHAR(3) UTF8,
-    COL    DECIMAL(18,0),
-    DISTRIBUTE BY COL
-);
-
-CREATE TABLE JOINTABLE18 (
-    INDEX1 DECIMAL(18,0),
-    INDEX2 CHAR(3) UTF8,
-    COL    DECIMAL(18,0),
-    DISTRIBUTE BY COL
-);
-
-CREATE TABLE JOINTABLE19 (
-    INDEX1 DECIMAL(18,0),
-    INDEX2 CHAR(3) UTF8,
-    COL    DECIMAL(18,0),
-    DISTRIBUTE BY COL
-);
-
-CREATE TABLE JOINTABLE20 (
-    INDEX1 DECIMAL(18,0),
-    INDEX2 CHAR(3) UTF8,
-    COL    DECIMAL(18,0),
-    DISTRIBUTE BY COL
-);
-
-CREATE TABLE JOINTABLE21 (
-    INDEX1 DECIMAL(18,0),
-    INDEX2 CHAR(3) UTF8,
-    COL    DECIMAL(18,0),
-    DISTRIBUTE BY COL
-);
-
-CREATE TABLE JOINTABLE22 (
-    INDEX1 DECIMAL(18,0),
-    INDEX2 CHAR(3) UTF8,
-    COL    DECIMAL(18,0)
-);
-
-CREATE TABLE JOINTABLE23 (
-    INDEX1 DECIMAL(18,0),
-    INDEX2 CHAR(3) UTF8,
-    COL    DECIMAL(18,0)
-);
-
-CREATE TABLE JOINTABLE24 (
-    INDEX1 DECIMAL(18,0),
-    INDEX2 CHAR(3) UTF8,
-    COL    DECIMAL(18,0)
-);
-
-CREATE TABLE JOINTABLE25 (
-    INDEX1 DECIMAL(18,0),
-    INDEX2 CHAR(3) UTF8,
-    COL    DECIMAL(18,0)
-);
-
-CREATE TABLE JOINTABLE26 (
-    INDEX1 DECIMAL(18,0),
-    INDEX2 CHAR(3) UTF8,
-    COL    DECIMAL(18,0)
-);
-
-CREATE TABLE JOINTABLE27 (
-    INDEX1 DECIMAL(18,0),
-    INDEX2 CHAR(3) UTF8,
-    COL    DECIMAL(18,0)
-);
-
-CREATE TABLE JOINTABLE28 (
-    INDEX1 DECIMAL(18,0),
-    INDEX2 CHAR(3) UTF8,
-    COL    DECIMAL(18,0)
-);
-
-CREATE TABLE JOINTABLE29 (
-    INDEX1 DECIMAL(18,0),
-    INDEX2 CHAR(3) UTF8,
-    COL    DECIMAL(18,0)
-);
-
-CREATE TABLE ENGINETABLEJOINOPTCHAR1 (
-    INT_INDEX DECIMAL(18,0),
-    CHAR1     CHAR(30) UTF8,
-    DISTRIBUTE BY CHAR1
-);
-
-CREATE TABLE ENGINETABLEJOINOPTCHAR2 (
-    INT_INDEX DECIMAL(18,0),
-    CHAR1     CHAR(30) UTF8,
-    DISTRIBUTE BY CHAR1
-);
-
-CREATE TABLE ENGINETABLEJOINOPTVARCHAR1 (
-    INT_INDEX DECIMAL(18,0),
-    VARCHAR1  VARCHAR(30) UTF8,
-    DISTRIBUTE BY VARCHAR1
-);
-
-CREATE TABLE ENGINETABLEJOINOPTVARCHAR2 (
-    INT_INDEX DECIMAL(18,0),
-    VARCHAR1  VARCHAR(30) UTF8,
-    DISTRIBUTE BY VARCHAR1
-);
-
-CREATE TABLE ENGINETABLEJOINOPTINT1 (
-    INT_INDEX DECIMAL(18,0),
-    INT1      DECIMAL(18,0),
-    DISTRIBUTE BY INT1
-);
-
-CREATE TABLE ENGINETABLEJOINOPTINT2 (
-    INT_INDEX DECIMAL(18,0),
-    INT1      DECIMAL(18,0),
-    DISTRIBUTE BY INT1
-);
-
-CREATE TABLE ENGINETABLEJOINOPTSMALLINT1 (
-    INT_INDEX DECIMAL(18,0),
-    SMALLINT1 DECIMAL(9,0),
-    DISTRIBUTE BY SMALLINT1
-);
-
-CREATE TABLE ENGINETABLEJOINOPTSMALLINT2 (
-    INT_INDEX DECIMAL(18,0),
-    SMALLINT1 DECIMAL(9,0),
-    DISTRIBUTE BY SMALLINT1
-);
-
-CREATE TABLE ENGINETABLEJOINOPTFLOAT1 (
-    INT_INDEX DECIMAL(18,0),
-    FLOAT1    DOUBLE PRECISION,
-    DISTRIBUTE BY FLOAT1
-);
-
-CREATE TABLE ENGINETABLEJOINOPTFLOAT2 (
-    INT_INDEX DECIMAL(18,0),
-    FLOAT1    DOUBLE PRECISION,
-    DISTRIBUTE BY FLOAT1
-);
-
-CREATE TABLE ENGINETABLEJOINOPTDECIMAL1 (
-    INT_INDEX DECIMAL(18,0),
-    DECIMAL1  DECIMAL(8,3),
-    DISTRIBUTE BY DECIMAL1
-);
-
-CREATE TABLE ENGINETABLEJOINOPTDECIMAL2 (
-    INT_INDEX DECIMAL(18,0),
-    DECIMAL1  DECIMAL(8,3),
-    DISTRIBUTE BY DECIMAL1
-);
-
-CREATE TABLE ENGINETABLEJOINOPTDATE1 (
-    INT_INDEX DECIMAL(18,0),
-    DATE1     DATE,
-    DISTRIBUTE BY DATE1
-);
-
-CREATE TABLE ENGINETABLEJOINOPTDATE2 (
-    INT_INDEX DECIMAL(18,0),
-    DATE1     DATE,
-    DISTRIBUTE BY DATE1
-);
-
-CREATE TABLE ENGINETABLEJOINOPTTIMESTAMP1 (
-    INT_INDEX DECIMAL(18,0),
-    TS1       TIMESTAMP,
-    DISTRIBUTE BY TS1
-);
-
-CREATE TABLE ENGINETABLEJOINOPTTIMESTAMP2 (
-    INT_INDEX DECIMAL(18,0),
-    TS1       TIMESTAMP,
-    DISTRIBUTE BY TS1
-);
-
-CREATE TABLE ENGINETABLEBIG1 (
-    INT_INDEX DECIMAL(18,0),
-    DECIMAL1  DECIMAL(8,3),
-    DECIMAL2  DECIMAL(8,3),
-    SMALLINT1 DECIMAL(9,0),
-    SMALLINT2 DECIMAL(9,0),
-    INT1      DECIMAL(18,0),
-    INT2      DECIMAL(18,0),
-    FLOAT1    DOUBLE PRECISION,
-    FLOAT2    DOUBLE PRECISION,
-    CHAR1     CHAR(20) UTF8,
-    CHAR2     CHAR(20) UTF8,
-    VARCHAR01 VARCHAR(20) UTF8,
-    VARCHAR02 VARCHAR(20) UTF8,
-    DATE1     DATE,
-    DATE2     DATE
-);
-
-CREATE TABLE ENGINETABLEBIG2 (
-    INT_INDEX DECIMAL(18,0),
-    DECIMAL1  DECIMAL(8,3),
-    SMALLINT1 DECIMAL(9,0),
-    INT1      DECIMAL(18,0),
-    FLOAT1    DOUBLE PRECISION,
-    CHAR1     CHAR(20) UTF8,
-    VARCHAR01 VARCHAR(20) UTF8,
-    DATE1     DATE
-);
-
-CREATE TABLE ENGINETABLEBIGJOINOPTCHAR1 (
-    INT_INDEX DECIMAL(18,0),
-    CHAR1     CHAR(20) UTF8,
-    DISTRIBUTE BY CHAR1
-);
-
-CREATE TABLE ENGINETABLEBIGJOINOPTCHAR2 (
-    INT_INDEX DECIMAL(18,0),
-    CHAR1     CHAR(20) UTF8,
-    DISTRIBUTE BY CHAR1
-);
-
-CREATE TABLE ENGINETABLEBIGJOINOPTVARCHAR1 (
-    INT_INDEX DECIMAL(18,0),
-    VARCHAR1  VARCHAR(20) UTF8,
-    DISTRIBUTE BY VARCHAR1
-);
-
-CREATE TABLE ENGINETABLEBIGJOINOPTVARCHAR2 (
-    INT_INDEX DECIMAL(18,0),
-    VARCHAR1  VARCHAR(20) UTF8,
-    DISTRIBUTE BY VARCHAR1
-);
-
-CREATE TABLE ENGINETABLEBIGJOINOPTINT1 (
-    INT_INDEX DECIMAL(18,0),
-    INT1      DECIMAL(18,0),
-    DISTRIBUTE BY INT1
-);
-
-CREATE TABLE ENGINETABLEBIGJOINOPTINT2 (
-    INT_INDEX DECIMAL(18,0),
-    INT1      DECIMAL(18,0),
-    DISTRIBUTE BY INT1
-);
-
-CREATE TABLE ENGINETABLEBIGJOINOPTSMALLINT1 (
-    INT_INDEX DECIMAL(18,0),
-    SMALLINT1 DECIMAL(9,0),
-    DISTRIBUTE BY SMALLINT1
-);
-
-CREATE TABLE ENGINETABLEBIGJOINOPTSMALLINT2 (
-    INT_INDEX DECIMAL(18,0),
-    SMALLINT1 DECIMAL(9,0),
-    DISTRIBUTE BY SMALLINT1
-);
-
-CREATE TABLE ENGINETABLEBIGJOINOPTFLOAT1 (
-    INT_INDEX DECIMAL(18,0),
-    FLOAT1    DOUBLE PRECISION,
-    DISTRIBUTE BY FLOAT1
-);
-
-CREATE TABLE ENGINETABLEBIGJOINOPTFLOAT2 (
-    INT_INDEX DECIMAL(18,0),
-    FLOAT1    DOUBLE PRECISION,
-    DISTRIBUTE BY FLOAT1
-);
-
-CREATE TABLE ENGINETABLEBIGJOINOPTDECIMAL1 (
-    INT_INDEX DECIMAL(18,0),
-    DECIMAL1  DECIMAL(8,3),
-    DISTRIBUTE BY DECIMAL1
-);
-
-CREATE TABLE ENGINETABLEBIGJOINOPTDECIMAL2 (
-    INT_INDEX DECIMAL(18,0),
-    DECIMAL1  DECIMAL(8,3),
-    DISTRIBUTE BY DECIMAL1
-);
-
-CREATE TABLE ENGINETABLEBIGJOINOPTDATE1 (
-    INT_INDEX DECIMAL(18,0),
-    DATE1     DATE,
-    DISTRIBUTE BY DATE1
-);
-
-CREATE TABLE ENGINETABLEBIGJOINOPTDATE2 (
-    INT_INDEX DECIMAL(18,0),
-    DATE1     DATE,
-    DISTRIBUTE BY DATE1
-);
-
-CREATE TABLE ENGINETABLEUNICODECHAR (
-    C1_INTEGER DECIMAL(18,0),
-    C2_CHAR10  CHAR(10) UTF8,
-    DISTRIBUTE BY C1_INTEGER,C2_CHAR10
-);
-
-CREATE TABLE ENGINETABLEUNICODEVARCHAR (
-    C1_INTEGER    DECIMAL(18,0),
-    C2_VARCHAR100 VARCHAR(100) UTF8,
-    DISTRIBUTE BY C1_INTEGER,C2_VARCHAR100
-);
-
-CREATE TABLE ENGINETABLEUNICODE (
-    C1_INTEGER    DECIMAL(18,0),
-    C2_CHAR10     CHAR(10) UTF8,
-    C3_VARCHAR100 VARCHAR(100) UTF8,
-    DISTRIBUTE BY C1_INTEGER,C2_CHAR10,C3_VARCHAR100
-);
-
-CREATE TABLE ENGINETABLEBIGUNICODECHAR (
-    C1_INTEGER DECIMAL(18,0),
-    C2_CHAR10  CHAR(10) UTF8,
-    DISTRIBUTE BY C1_INTEGER,C2_CHAR10
-);
-
-CREATE TABLE ENGINETABLEBIGUNICODEVARCHAR (
-    C1_INTEGER    DECIMAL(18,0),
-    C2_VARCHAR100 VARCHAR(100) UTF8,
-    DISTRIBUTE BY C1_INTEGER,C2_VARCHAR100
-);
-
-CREATE TABLE ENGINETABLEBIGUNICODE (
-    C1_INTEGER    DECIMAL(18,0),
-    C2_CHAR10     CHAR(10) UTF8,
-    C3_VARCHAR100 VARCHAR(100) UTF8,
-    DISTRIBUTE BY C1_INTEGER,C2_CHAR10,C3_VARCHAR100
-);
-
-
diff --git a/tests/test/enginedb_small/schema2.sql b/tests/test/enginedb_small/schema2.sql
deleted file mode 100644
index c06bfde03..000000000
--- a/tests/test/enginedb_small/schema2.sql
+++ /dev/null
@@ -1,434 +0,0 @@
-CREATE SCHEMA TEST;
-
-CREATE TABLE ENGINETABLE (
-    INT_INDEX   DECIMAL(18,0),
-    DECIMAL1    DECIMAL(8,3),
-    DECIMAL2    DECIMAL(8,3),
-    SMALLINT1   DECIMAL(9,0),
-    SMALLINT2   DECIMAL(9,0),
-    INT1        DECIMAL(18,0),
-    INT2        DECIMAL(18,0),
-    FLOAT1      DOUBLE PRECISION,
-    FLOAT2      DOUBLE PRECISION,
-    SINGLE_CHAR CHAR(1),
-    CHAR1       CHAR(32),
-    CHAR2       CHAR(32),
-    VARCHAR01   VARCHAR(32),
-    VARCHAR02   VARCHAR(32),
-    DATE1       DATE,
-    DATE2       DATE
-);
-
-CREATE TABLE COMP1 (
-    IDX         DECIMAL(18,0),
-    CHAR1_1     CHAR(1),
-    CHAR1_2     CHAR(1),
-    VARCHAR1_1  VARCHAR(1) ,
-    VARCHAR1_2  VARCHAR(1) ,
-    CHAR4_1     CHAR(4) ,
-    CHAR4_2     CHAR(4) ,
-    VARCHAR4_1  VARCHAR(4) ,
-    VARCHAR4_2  VARCHAR(4) ,
-    CHAR10_1    CHAR(10) ,
-    CHAR10_2    CHAR(10) ,
-    VARCHAR10_1 VARCHAR(10) ,
-    VARCHAR10_2 VARCHAR(10) 
-);
-
-CREATE TABLE COMP2 (
-    IDX         DECIMAL(18,0),
-    CHAR1_1     CHAR(1) ,
-    CHAR1_2     CHAR(1) ,
-    VARCHAR1_1  VARCHAR(1) ,
-    VARCHAR1_2  VARCHAR(1) ,
-    CHAR4_1     CHAR(4) ,
-    CHAR4_2     CHAR(4) ,
-    VARCHAR4_1  VARCHAR(4) ,
-    VARCHAR4_2  VARCHAR(4) ,
-    CHAR10_1    CHAR(10) ,
-    CHAR10_2    CHAR(10) ,
-    VARCHAR10_1 VARCHAR(10) ,
-    VARCHAR10_2 VARCHAR(10) 
-);
-
-CREATE TABLE ENGINETABLETIMESTAMP1 (
-    INT_INDEX DECIMAL(18,0),
-    TS1       TIMESTAMP
-);
-
-CREATE TABLE ENGINETABLETIMESTAMP2 (
-    INT_INDEX DECIMAL(18,0),
-    TS1       TIMESTAMP
-);
-
-CREATE TABLE ENGINETABLEJOIN1 (
-    INT_INDEX   DECIMAL(18,0),
-    DECIMAL83   DECIMAL(8,3),
-    DECIMAL62   DECIMAL(6,2),
-    SMALLINT1   DECIMAL(9,0),
-    INT1        DECIMAL(18,0),
-    FLOAT1      DOUBLE PRECISION,
-    SINGLE_CHAR CHAR(1) ,
-    CHAR1       CHAR(30) ,
-    VARCHAR01   VARCHAR(30) ,
-    VARCHAR21   VARCHAR(30) ,
-    DATE1       DATE
-);
-
-CREATE TABLE ENGINETABLEJOIN2 (
-    INT_INDEX   DECIMAL(18,0),
-    DECIMAL83   DECIMAL(8,3),
-    DECIMAL62   DECIMAL(6,2),
-    SMALLINT1   DECIMAL(9,0),
-    INT1        DECIMAL(18,0),
-    FLOAT1      DOUBLE PRECISION,
-    SINGLE_CHAR CHAR(1) ,
-    CHAR1       CHAR(30) ,
-    VARCHAR01   VARCHAR(30) ,
-    VARCHAR21   VARCHAR(30) ,
-    DATE1       DATE
-);
-
-CREATE TABLE ENGINETABLEJOINSMALL (
-    INT_INDEX   DECIMAL(18,0),
-    DECIMAL83   DECIMAL(8,3),
-    DECIMAL62   DECIMAL(6,2),
-    SMALLINT1   DECIMAL(9,0),
-    INT1        DECIMAL(18,0),
-    FLOAT1      DOUBLE PRECISION,
-    SINGLE_CHAR CHAR(1) ,
-    CHAR1       CHAR(30) ,
-    VARCHAR01   VARCHAR(30) ,
-    VARCHAR21   VARCHAR(30) ,
-    DATE1       DATE
-);
-
-CREATE TABLE JOINTABLE10 (
-    INDEX1 DECIMAL(18,0),
-    INDEX2 CHAR(3) ,
-    COL    DECIMAL(18,0));
-
-CREATE TABLE JOINTABLE11 (
-    INDEX1 DECIMAL(18,0),
-    INDEX2 CHAR(3) ,
-    COL    DECIMAL(18,0)
-);
-
-CREATE TABLE JOINTABLE12 (
-    INDEX1 DECIMAL(18,0),
-    INDEX2 CHAR(3) ,
-    COL    DECIMAL(18,0)
-);
-
-CREATE TABLE JOINTABLE13 (
-    INDEX1 DECIMAL(18,0),
-    INDEX2 CHAR(3) ,
-    COL    DECIMAL(18,0)
-);
-
-CREATE TABLE JOINTABLE14 (
-    INDEX1 DECIMAL(18,0),
-    INDEX2 CHAR(3) ,
-    COL    DECIMAL(18,0));
-
-CREATE TABLE JOINTABLE15 (
-    INDEX1 DECIMAL(18,0),
-    INDEX2 CHAR(3) ,
-    COL    DECIMAL(18,0)
-);
-
-CREATE TABLE JOINTABLE16 (
-    INDEX1 DECIMAL(18,0),
-    INDEX2 CHAR(3) ,
-    COL    DECIMAL(18,0)
-);
-
-CREATE TABLE JOINTABLE17 (
-    INDEX1 DECIMAL(18,0),
-    INDEX2 CHAR(3) ,
-    COL    DECIMAL(18,0)
-);
-
-CREATE TABLE JOINTABLE18 (
-    INDEX1 DECIMAL(18,0),
-    INDEX2 CHAR(3) ,
-    COL    DECIMAL(18,0)
-);
-
-CREATE TABLE JOINTABLE19 (
-    INDEX1 DECIMAL(18,0),
-    INDEX2 CHAR(3) ,
-    COL    DECIMAL(18,0)
-);
-
-CREATE TABLE JOINTABLE20 (
-    INDEX1 DECIMAL(18,0),
-    INDEX2 CHAR(3) ,
-    COL    DECIMAL(18,0)
-);
-
-CREATE TABLE JOINTABLE21 (
-    INDEX1 DECIMAL(18,0),
-    INDEX2 CHAR(3) ,
-    COL    DECIMAL(18,0)
-);
-
-CREATE TABLE JOINTABLE22 (
-    INDEX1 DECIMAL(18,0),
-    INDEX2 CHAR(3) ,
-    COL    DECIMAL(18,0)
-);
-
-CREATE TABLE JOINTABLE23 (
-    INDEX1 DECIMAL(18,0),
-    INDEX2 CHAR(3) ,
-    COL    DECIMAL(18,0)
-);
-
-CREATE TABLE JOINTABLE24 (
-    INDEX1 DECIMAL(18,0),
-    INDEX2 CHAR(3) ,
-    COL    DECIMAL(18,0)
-);
-
-CREATE TABLE JOINTABLE25 (
-    INDEX1 DECIMAL(18,0),
-    INDEX2 CHAR(3) ,
-    COL    DECIMAL(18,0)
-);
-
-CREATE TABLE JOINTABLE26 (
-    INDEX1 DECIMAL(18,0),
-    INDEX2 CHAR(3) ,
-    COL    DECIMAL(18,0)
-);
-
-CREATE TABLE JOINTABLE27 (
-    INDEX1 DECIMAL(18,0),
-    INDEX2 CHAR(3) ,
-    COL    DECIMAL(18,0)
-);
-
-CREATE TABLE JOINTABLE28 (
-    INDEX1 DECIMAL(18,0),
-    INDEX2 CHAR(3) ,
-    COL    DECIMAL(18,0)
-);
-
-CREATE TABLE JOINTABLE29 (
-    INDEX1 DECIMAL(18,0),
-    INDEX2 CHAR(3) ,
-    COL    DECIMAL(18,0)
-);
-
-CREATE TABLE ENGINETABLEJOINOPTCHAR1 (
-    INT_INDEX DECIMAL(18,0),
-    CHAR1     CHAR(30) 
-);
-
-CREATE TABLE ENGINETABLEJOINOPTCHAR2 (
-    INT_INDEX DECIMAL(18,0),
-    CHAR1     CHAR(30) );
-
-CREATE TABLE ENGINETABLEJOINOPTVARCHAR1 (
-    INT_INDEX DECIMAL(18,0),
-    VARCHAR1  VARCHAR(30) 
-);
-
-CREATE TABLE ENGINETABLEJOINOPTVARCHAR2 (
-    INT_INDEX DECIMAL(18,0),
-    VARCHAR1  VARCHAR(30) 
-);
-
-CREATE TABLE ENGINETABLEJOINOPTINT1 (
-    INT_INDEX DECIMAL(18,0),
-    INT1      DECIMAL(18,0)
-);
-
-CREATE TABLE ENGINETABLEJOINOPTINT2 (
-    INT_INDEX DECIMAL(18,0),
-    INT1      DECIMAL(18,0)
-);
-
-CREATE TABLE ENGINETABLEJOINOPTSMALLINT1 (
-    INT_INDEX DECIMAL(18,0),
-    SMALLINT1 DECIMAL(9,0)
-);
-
-CREATE TABLE ENGINETABLEJOINOPTSMALLINT2 (
-    INT_INDEX DECIMAL(18,0),
-    SMALLINT1 DECIMAL(9,0)
-);
-
-CREATE TABLE ENGINETABLEJOINOPTFLOAT1 (
-    INT_INDEX DECIMAL(18,0),
-    FLOAT1    DOUBLE PRECISION
-);
-
-CREATE TABLE ENGINETABLEJOINOPTFLOAT2 (
-    INT_INDEX DECIMAL(18,0),
-    FLOAT1    DOUBLE PRECISION
-);
-
-CREATE TABLE ENGINETABLEJOINOPTDECIMAL1 (
-    INT_INDEX DECIMAL(18,0),
-    DECIMAL1  DECIMAL(8,3)
-);
-
-CREATE TABLE ENGINETABLEJOINOPTDECIMAL2 (
-    INT_INDEX DECIMAL(18,0),
-    DECIMAL1  DECIMAL(8,3)
-);
-
-CREATE TABLE ENGINETABLEJOINOPTDATE1 (
-    INT_INDEX DECIMAL(18,0),
-    DATE1     DATE
-);
-
-CREATE TABLE ENGINETABLEJOINOPTDATE2 (
-    INT_INDEX DECIMAL(18,0),
-    DATE1     DATE
-);
-
-CREATE TABLE ENGINETABLEJOINOPTTIMESTAMP1 (
-    INT_INDEX DECIMAL(18,0),
-    TS1       TIMESTAMP
-);
-
-CREATE TABLE ENGINETABLEJOINOPTTIMESTAMP2 (
-    INT_INDEX DECIMAL(18,0),
-    TS1       TIMESTAMP
-);
-
-CREATE TABLE ENGINETABLEBIG1 (
-    INT_INDEX DECIMAL(18,0),
-    DECIMAL1  DECIMAL(8,3),
-    DECIMAL2  DECIMAL(8,3),
-    SMALLINT1 DECIMAL(9,0),
-    SMALLINT2 DECIMAL(9,0),
-    INT1      DECIMAL(18,0),
-    INT2      DECIMAL(18,0),
-    FLOAT1    DOUBLE PRECISION,
-    FLOAT2    DOUBLE PRECISION,
-    CHAR1     CHAR(30) ,
-    CHAR2     CHAR(30) ,
-    VARCHAR01 VARCHAR(30) ,
-    VARCHAR02 VARCHAR(30) ,
-    DATE1     DATE,
-    DATE2     DATE
-);
-
-CREATE TABLE ENGINETABLEBIG2 (
-    INT_INDEX DECIMAL(18,0),
-    DECIMAL1  DECIMAL(8,3),
-    SMALLINT1 DECIMAL(9,0),
-    INT1      DECIMAL(18,0),
-    FLOAT1    DOUBLE PRECISION,
-    CHAR1     CHAR(20) ,
-    VARCHAR01 VARCHAR(20) ,
-    DATE1     DATE
-);
-
-CREATE TABLE ENGINETABLEBIGJOINOPTCHAR1 (
-    INT_INDEX DECIMAL(18,0),
-    CHAR1     CHAR(20) 
-);
-
-CREATE TABLE ENGINETABLEBIGJOINOPTCHAR2 (
-    INT_INDEX DECIMAL(18,0),
-    CHAR1     CHAR(20) 
-);
-
-CREATE TABLE ENGINETABLEBIGJOINOPTVARCHAR1 (
-    INT_INDEX DECIMAL(18,0),
-    VARCHAR1  VARCHAR(20) 
-);
-
-CREATE TABLE ENGINETABLEBIGJOINOPTVARCHAR2 (
-    INT_INDEX DECIMAL(18,0),
-    VARCHAR1  VARCHAR(20) 
-);
-
-CREATE TABLE ENGINETABLEBIGJOINOPTINT1 (
-    INT_INDEX DECIMAL(18,0),
-    INT1      DECIMAL(18,0)
-);
-
-CREATE TABLE ENGINETABLEBIGJOINOPTINT2 (
-    INT_INDEX DECIMAL(18,0),
-    INT1      DECIMAL(18,0)
-);
-
-CREATE TABLE ENGINETABLEBIGJOINOPTSMALLINT1 (
-    INT_INDEX DECIMAL(18,0),
-    SMALLINT1 DECIMAL(9,0)
-);
-
-CREATE TABLE ENGINETABLEBIGJOINOPTSMALLINT2 (
-    INT_INDEX DECIMAL(18,0),
-    SMALLINT1 DECIMAL(9,0)
-);
-
-CREATE TABLE ENGINETABLEBIGJOINOPTFLOAT1 (
-    INT_INDEX DECIMAL(18,0),
-    FLOAT1    DOUBLE PRECISION
-);
-
-CREATE TABLE ENGINETABLEBIGJOINOPTFLOAT2 (
-    INT_INDEX DECIMAL(18,0),
-    FLOAT1    DOUBLE PRECISION
-);
-
-CREATE TABLE ENGINETABLEBIGJOINOPTDECIMAL1 (
-    INT_INDEX DECIMAL(18,0),
-    DECIMAL1  DECIMAL(8,3)
-);
-
-CREATE TABLE ENGINETABLEBIGJOINOPTDECIMAL2 (
-    INT_INDEX DECIMAL(18,0),
-    DECIMAL1  DECIMAL(8,3)
-);
-
-CREATE TABLE ENGINETABLEBIGJOINOPTDATE1 (
-    INT_INDEX DECIMAL(18,0),
-    DATE1     DATE
-);
-
-CREATE TABLE ENGINETABLEBIGJOINOPTDATE2 (
-    INT_INDEX DECIMAL(18,0),
-    DATE1     DATE
-);
-
-CREATE TABLE ENGINETABLEUNICODECHAR (
-    C1_INTEGER DECIMAL(18,0),
-    C2_CHAR10  CHAR(10) 
-);
-
-CREATE TABLE ENGINETABLEUNICODEVARCHAR (
-    C1_INTEGER    DECIMAL(18,0),
-    C2_VARCHAR100 VARCHAR(100) 
-);
-
-CREATE TABLE ENGINETABLEUNICODE (
-    C1_INTEGER    DECIMAL(18,0),
-    C2_CHAR10     CHAR(10) ,
-    C3_VARCHAR100 VARCHAR(100) 
-);
-
-CREATE TABLE ENGINETABLEBIGUNICODECHAR (
-    C1_INTEGER DECIMAL(18,0),
-    C2_CHAR10  CHAR(10) 
-);
-
-CREATE TABLE ENGINETABLEBIGUNICODEVARCHAR (
-    C1_INTEGER    DECIMAL(18,0),
-    C2_VARCHAR100 VARCHAR(100) 
-);
-
-CREATE TABLE ENGINETABLEBIGUNICODE (
-    C1_INTEGER    DECIMAL(18,0),
-    C2_CHAR10     CHAR(10) ,
-    C3_VARCHAR100 VARCHAR(100) 
-);
-
-