Skip to content

feature: exasol connector#1615

Closed
marconae wants to merge 1 commit intodbt-labs:mainfrom
marconae:feature/exasol-connector
Closed

feature: exasol connector#1615
marconae wants to merge 1 commit intodbt-labs:mainfrom
marconae:feature/exasol-connector

Conversation

@marconae
Copy link
Copy Markdown
Contributor

@marconae marconae commented Apr 17, 2026

This PR adds Exasol database support to dbt-fusion (I am working at Exasol). The connector uses exasol-labs/exarrow-rs (v0.9.0), an ADBC-compatible driver for Exasol with Apache Arrow data format support, maintained by Exasol.

exarrow-rs is part of the ADBC Driver Foundry and can be installed via dbc install exasol. Foundry repo is here adbc-drivers/exasol

  • Auth module (dbt-auth): Username/password authentication with TLS encryption, certificate validation toggle, certificate fingerprint pinning, and connection timeout support. Profile keys: host, port, user, password, schema, encryption, certificate_validation, certificate_fingerprint, connection_timeout.
  • Backend & adapter wiring: Backend::Exasol and AdapterType::Exasol added as independent variants across all match arms in dbt-xdbc, dbt-adapter, dbt-schemas, dbt-init, and dbt-df-providers.
  • Driver loading: Uses adbc_driver_exasol library with standard AdbcDriverInit entrypoint. Installable via dbc install exasol.
  • Integration test: statement_execute_exasol gated by ADBC_EXASOL_URI env var, verified against Exasol Docker.

This PR is created in collaboration with Claude Code. The PR is raised on behalf of Exasol.

@marconae marconae requested a review from a team as a code owner April 17, 2026 13:07
@cla-bot
Copy link
Copy Markdown

cla-bot Bot commented Apr 17, 2026

Thanks for your pull request, and welcome to our community! We require contributors to sign our Contributor License Agreement and we don't seem to have your signature on file. Check out this article for more information on why we have a CLA.

In order for us to review and merge your code, please submit the Individual Contributor License Agreement form attached above above. If you have questions about the CLA, or if you believe you've received this message in error, please reach out through a comment on this PR.

CLA has not been signed by users: @marconae

@github-actions
Copy link
Copy Markdown

Thank you for your pull request! We could not find a changelog entry for this change. For details on how to document a change, see the contributing guide.

@github-actions
Copy link
Copy Markdown

This repository enforces signed commits. Please sign your commits by following the docs here.

@marconae marconae force-pushed the feature/exasol-connector branch from 4f45b38 to bf7cbe4 Compare April 17, 2026 13:15
@cla-bot
Copy link
Copy Markdown

cla-bot Bot commented Apr 17, 2026

Thanks for your pull request, and welcome to our community! We require contributors to sign our Contributor License Agreement and we don't seem to have your signature on file. Check out this article for more information on why we have a CLA.

In order for us to review and merge your code, please submit the Individual Contributor License Agreement form attached above above. If you have questions about the CLA, or if you believe you've received this message in error, please reach out through a comment on this PR.

CLA has not been signed by users: @marconae

@marconae marconae force-pushed the feature/exasol-connector branch from bf7cbe4 to ffa7fd0 Compare April 17, 2026 13:24
@cla-bot
Copy link
Copy Markdown

cla-bot Bot commented Apr 17, 2026

Thanks for your pull request, and welcome to our community! We require contributors to sign our Contributor License Agreement and we don't seem to have your signature on file. Check out this article for more information on why we have a CLA.

In order for us to review and merge your code, please submit the Individual Contributor License Agreement form attached above above. If you have questions about the CLA, or if you believe you've received this message in error, please reach out through a comment on this PR.

CLA has not been signed by users: @marconae

Copy link
Copy Markdown
Contributor

@felipecrv felipecrv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!

Can you please sign the CLA?

DuckDB(Box<DuckDbConfig>),
// Hive,
// Exasol,
// Exasol, // TODO: add ExasolDbConfig when profile schema is defined
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We are trying to remove these schemas to simplify this step. dbt-auth should be enough. No need for these schemas. cc @VersusFacit

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the context! Removed the TODO comment. The ExasolAuth implementation in dbt-auth already handles all authentication configuration, so there's no need for an ExasolDbConfig schema.

const REDSHIFT_KEYS: [&str; 2] = ["REDSHIFT:type", "type_text"];
const DUCKDB_KEYS: [&str; 2] = ["DUCKDB:type", "type_text"];
const CLICKHOUSE_KEYS: [&str; 2] = ["CLICKHOUSE:type", "type_text"];
const EXASOL_KEYS: [&str; 2] = ["EXASOL:type", "type_text"];
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does the driver expose this in the metadata? It's very useful to us.

apache/arrow-adbc#3449

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will look into apache/arrow-adbc#3449 and see whether I can make an upstream change to exarrow-rs. I will get back to you on this.

@marconae
Copy link
Copy Markdown
Contributor Author

@felipecrv just signed the CLA. Will check your comment now...

@marconae marconae force-pushed the feature/exasol-connector branch from ffa7fd0 to c9b6a32 Compare April 23, 2026 10:06
@cla-bot cla-bot Bot added the cla:yes label Apr 23, 2026
Add Exasol database support to dbt-fusion using exarrow-rs (v0.9.0),
an ADBC-compatible driver for Exasol maintained by Exasol Labs.
https://github.com/exasol-labs/exarrow-rs

- Backend::Exasol and AdapterType::Exasol as independent variants
- ExasolAuth module with username/password + TLS fingerprint support
- Driver: adbc_driver_exasol via `dbc install exasol`
- Integration test gated by ADBC_EXASOL_URI env var
- 12 auth unit tests, integration test verified against Exasol Docker

Contributed on behalf of Exasol.
@marconae
Copy link
Copy Markdown
Contributor Author

Code already merged by @felipecrv

@marconae marconae closed this Apr 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants