Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,8 @@ jobs:
python-version: ${{ matrix.python-version }}

- name: Build the stack
run: docker compose up -d mysql postgres trino clickhouse vertica
# The vertica docker image is 404
run: docker compose up -d mysql postgres trino clickhouse dremio #vertica

- name: Install Poetry
run: pip install poetry
Expand Down Expand Up @@ -77,8 +78,10 @@ jobs:
TRINO_URI: 'trino://[email protected]:8081/postgresql/public'
# BIGQUERY_URI: '${{ secrets.BIGQUERY_URI }}'
CLICKHOUSE_URI: 'clickhouse://clickhouse:Password1@localhost:9000/clickhouse'
VERTICA_URI: 'vertica://vertica:Password1@localhost:5433/vertica'
# The vertica docker image is 404
#VERTICA_URI: 'vertica://vertica:Password1@localhost:5433/vertica'
REDSHIFT_URI: '${{ secrets.REDSHIFT_URI }}'
DREMIO_URI: 'dremio://dremio:dremio123@localhost:32010/$scratch?UseEncryption=false'
run: |
chmod +x tests/waiting_for_stack_up.sh
./tests/waiting_for_stack_up.sh && TEST_ACROSS_ALL_DBS=0 poetry run unittest-parallel -j 16
34 changes: 19 additions & 15 deletions .github/workflows/ci_full.yml
Original file line number Diff line number Diff line change
@@ -1,23 +1,24 @@
name: CI-COVER-DATABASES

on:
# push:
# push:
# paths:
# - '**.py'
# - '.github/workflows/**'
# - '!dev/**'
pull_request:
paths:
- '**.py'
- 'pyproject.toml'
- 'poetry.lock'
- '.github/workflows/**'
- 'docker-compose.yml'
- '!dev/**'
- '!docs/**'

branches: [ master ]
workflow_dispatch:
# - 'pyproject.toml'
# - 'poetry.lock'
pull_request:
paths:
- '**.py'
- 'pyproject.toml'
- 'poetry.lock'
- '.github/workflows/**'
- 'docker-compose.yml'
- '!dev/**'
- '!docs/**'
branches: [ master ]
workflow_dispatch:

permissions:
id-token: write # This is required for requesting the JWT
Expand All @@ -43,7 +44,8 @@ jobs:
python-version: ${{ matrix.python-version }}

- name: Build the stack
run: docker compose up -d mysql postgres trino vertica # presto clickhouse
# The vertica docker image is 404
run: docker compose up -d mysql postgres trino dremio # vertica presto clickhouse

- name: Install Poetry
run: pip install poetry
Expand Down Expand Up @@ -71,9 +73,11 @@ jobs:
SNOWFLAKE_URI: '${{ secrets.SNOWFLAKE_URI }}'
# PRESTO_URI: '${{ secrets.PRESTO_URI }}'
# CLICKHOUSE_URI: 'clickhouse://clickhouse:Password1@localhost:9000/clickhouse'
VERTICA_URI: 'vertica://vertica:Password1@localhost:5433/vertica'
# The vertica docker image is 404
#VERTICA_URI: 'vertica://vertica:Password1@localhost:5433/vertica'
# BIGQUERY_URI: '${{ secrets.BIGQUERY_URI }}'
REDSHIFT_URI: '${{ secrets.REDSHIFT_URI }}'
DREMIO_URI: 'dremio://dremio:dremio123@localhost:32010/$scratch?UseEncryption=false'
run: |
chmod +x tests/waiting_for_stack_up.sh
./tests/waiting_for_stack_up.sh && poetry run unittest-parallel -j 16
56 changes: 38 additions & 18 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -98,31 +98,51 @@ services:
networks:
- local

vertica:
container_name: dd-vertica
image: vertica/vertica-ce:12.0.0-0
restart: always
volumes:
- vertica-data:/data:delegated
ports:
- '5433:5433'
- '5444:5444'
expose:
- '5433'
- '5444'
env_file:
- dev/dev.env
tty: true
networks:
- local

# The vertica docker image is 404
#vertica:
# container_name: dd-vertica
# image: vertica/vertica-ce:12.0.0-0
# restart: always
# volumes:
# - vertica-data:/data:delegated
# ports:
# - '5433:5433'
# - '5444:5444'
# expose:
# - '5433'
# - '5444'
# env_file:
# - dev/dev.env
# tty: true
# networks:
# - local

dremio:
container_name: dd-dremio
image: dremio/dremio-oss:26.0.0
restart: always
ports:
- '9047:9047'
- '31010:31010'
- '32010:32010'
expose:
- '9047'
- '31010'
- '32010'
networks:
- local
tty: true
env_file:
- dev/dev.env
volumes:
- dremio-data:/var/lib/dremio:delegated

volumes:
postgresql-data:
mysql-data:
clickhouse-data:
vertica-data:
dremio-data:

networks:
local:
Expand Down
29 changes: 15 additions & 14 deletions docs/supported-databases.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,21 @@
# List of supported databases

| Database | Status | Connection string |
|---------------|-------------------------------------------------------------------------------------------------------------------------------------|--------|
| Database | Status | Connection string |
|-----------------|-------------------------------------------------------------------------------------------------------------------------------------|--------|
| PostgreSQL >=10 | 💚 | `postgresql://<user>:<password>@<host>:5432/<database>` |
| MySQL | 💚 | `mysql://<user>:<password>@<hostname>:5432/<database>` |
| Snowflake | 💚 | `"snowflake://<user>[:<password>]@<account>/<database>/<SCHEMA>?warehouse=<WAREHOUSE>&role=<role>[&authenticator=externalbrowser]"` |
| Redshift | 💚 | `redshift://<username>:<password>@<hostname>:5439/<database>` |
| DuckDB >= 0.6 | 💚 | `duckdb://<file>` |
| Trino | 💚 | `trino://<username>:<password>@<hostname>:8080/<database>` |
| BigQuery | 💛 | `bigquery://<project>/<dataset>` |
| Oracle | 💛 | `oracle://<username>:<password>@<hostname>/database` |
| Presto | 💛 | `presto://<username>:<password>@<hostname>:8080/<database>` |
| Vertica | 💛 | `vertica://<username>:<password>@<hostname>:5433/<database>` |
| Clickhouse | 💛 | `clickhouse://<username>:<password>@<hostname>:9000/<database>` |
| Databricks | 💛 | `databricks://<http_path>:<access_token>@<server_hostname>/<catalog>/<schema>` |
| SQLite | 📝 | |
| MySQL | 💚 | `mysql://<user>:<password>@<hostname>:5432/<database>` |
| Snowflake | 💚 | `"snowflake://<user>[:<password>]@<account>/<database>/<SCHEMA>?warehouse=<WAREHOUSE>&role=<role>[&authenticator=externalbrowser]"` |
| Redshift | 💚 | `redshift://<username>:<password>@<hostname>:5439/<database>` |
| DuckDB >= 0.6 | 💚 | `duckdb://<file>` |
| Trino | 💚 | `trino://<username>:<password>@<hostname>:8080/<database>` |
| BigQuery | 💛 | `bigquery://<project>/<dataset>` |
| Oracle | 💛 | `oracle://<username>:<password>@<hostname>/database` |
| Presto | 💛 | `presto://<username>:<password>@<hostname>:8080/<database>` |
| Vertica | 💛 | `vertica://<username>:<password>@<hostname>:5433/<database>` |
| Clickhouse | 💛 | `clickhouse://<username>:<password>@<hostname>:9000/<database>` |
| Databricks | 💛 | `databricks://<http_path>:<access_token>@<server_hostname>/<catalog>/<schema>` |
| Dremio | 💛 | `dremio://<username>:<password>@<hostname>:32010/<space>` |
| SQLite | 📝 | |

* 💚: Implemented and thoroughly tested.
* 💛: Implemented, but not thoroughly tested yet.
Expand Down
Loading