Skip to main content

harlequin-exasol

Harelequin adapter for Exasol

License Downloads Supported Python Versions PyPi Package

⚠️ Disclaimer

The current state of this project is a spike—an initial evaluation of what is possible and how much effort specific tasks will require. It should only be used for evaluating Exasol usage via Harlequin.

Below, you will find information if you are interested in trying it out and getting an idea of it. While issues reported beyond the mentioned limitations are welcome for tracking purposes, addressing these issues is unlikely at any point. However, having a list of issues may be helpful to other evaluators.

🚀 Features

  • Basic Catalog
  • Basic Query Completion
  • Basic Query Support, including DDL

Getting Started

🔌️ Prerequisites

💾 Installation

Install the package using pipx:

pipx install harlequin-exasol --include-deps

▶️ Starting Harlequin

Open Harlequin and connect it to your database:

harlequin -a exasol --schema 'foo' --host '8.9.10.1' --port 8563 ...

For connecting to a standard Exasol Docker DB, most defaults should work just fine:

harlequin -a exasol --disable-certificate-validation

📚 Documentation

Note: For further help on the supported settings and flags, check out the Exasol Adapter Options section in the help provided by Harlequin:

harlequin --help

Details about Harlequin can be found on the official website:

📝 Todo's

  • Investigate dbapi2 issue with parameters in the prepared statement where clause (exasol.driver.dbapi2):

    schema = 'foo'
    query = f"SELECT TABLE_NAME FROM EXA_ALL_TABLES WHERE TABLE_SCHEMA='{schema}';"
    cursor.execute(query)
    

    vs

    schema = 'foo'
    query = "SELECT TABLE_NAME FROM EXA_ALL_TABLES WHERE TABLE_SCHEMA=?;"
    cursor.execute(query, schema)
    
  • Consider making catalog functions asynchronous to improve progress indicator updates.

  • Support subcategories for system tables based on schema (SYS, EXA_STATISTICS).

  • Support table details (columns) for system tables.

  • Add/Update unit/integration tests.

  • Add CI/CD.

  • Contact the maintainer of Harlequin to mention Exasol support on the Harlequin website.

Release files for harlequin-exasol 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for harlequin-exasol 0.2.0
File Size Uploaded
harlequin_exasol-0.2.0.tar.gz 9.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for harlequin-exasol 0.2.0
File Interpreter ABI Platform
harlequin_exasol-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 18.8 kB

Release files / harlequin_exasol-0.2.0.tar.gz

Download URL harlequin_exasol-0.2.0.tar.gz
Size 9.1 kB
Tags Source
SHA-256 checksum
How to use checksums
29c51387996a8cd02d3f93b936249c079115203077bcc428ac401061f648ce99
BLAKE2b-256 checksum
How to use checksums
003ae8f79d81bb105852e7963bb5290fc07f0f2785897edc4587259b56ffb474
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.6.1 CPython/3.10.12 Linux/6.9.3-76060903-generic

Release files / harlequin_exasol-0.2.0-py3-none-any.whl

Download URL harlequin_exasol-0.2.0-py3-none-any.whl
Size 9.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9b0940037117cb9dc37cdb9e05e50ea7f6e6af87801c50ce834cc88531c06bac
BLAKE2b-256 checksum
How to use checksums
42af4710d0f6f7074020104dd95af61e040eadfc61d2a40d2d8c20d30e5baedf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.6.1 CPython/3.10.12 Linux/6.9.3-76060903-generic

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page