Skip to content
Open
Show file tree
Hide file tree
Changes from 3 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