Skip to main content

Harelequin adapter for Exasol

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

harlequin_exasol-0.2.0.tar.gz (9.1 kB view details)

Uploaded Source

Built Distribution

harlequin_exasol-0.2.0-py3-none-any.whl (9.7 kB view details)

Uploaded Python 3

File details

Details for the file harlequin_exasol-0.2.0.tar.gz.

File metadata

  • Download URL: harlequin_exasol-0.2.0.tar.gz
  • Upload date:
  • Size: 9.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.10.12 Linux/6.9.3-76060903-generic

File hashes

Hashes for harlequin_exasol-0.2.0.tar.gz
Algorithm Hash digest
SHA256 29c51387996a8cd02d3f93b936249c079115203077bcc428ac401061f648ce99
MD5 0d97687a3f996187e4f5287f33623efa
BLAKE2b-256 003ae8f79d81bb105852e7963bb5290fc07f0f2785897edc4587259b56ffb474

See more details on using hashes here.

File details

Details for the file harlequin_exasol-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: harlequin_exasol-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 9.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.10.12 Linux/6.9.3-76060903-generic

File hashes

Hashes for harlequin_exasol-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9b0940037117cb9dc37cdb9e05e50ea7f6e6af87801c50ce834cc88531c06bac
MD5 974ca784d28df8d197dda28b0defa64e
BLAKE2b-256 42af4710d0f6f7074020104dd95af61e040eadfc61d2a40d2d8c20d30e5baedf

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page