exasol / sqlalchemy-exasol

SQLAlchemy dialect for EXASOL
https://exasol.github.io/sqlalchemy-exasol/
Other
34 stars 28 forks source link

Websocket based SQLA Dialect (Beta Version) #105

Closed raayu83 closed 1 year ago

raayu83 commented 3 years ago

I wonder if it would be possible to add a pyexasol backend as an alternative to odbc?

jank commented 3 years ago

@xyzy-web, supporting multiple drivers should not be an issue. SQLAlchemy supports identification of drivers via the URL: https://docs.sqlalchemy.org/en/13/core/engines.html#database-urls. In folder sqlalchemy_exasol you can find how support for pyodbc and turbodbc is added. Following that schema, adding pyexasol should be possible. Would you be willing to conribute this?

Nicoretti commented 1 year ago

Status Update

In order to implement an SQLA dialect/driver based on pyexasol a dbapi interface is required (pep-249). Due to the fact that pyexasol just provides this interface partially, we started implementing a dbapi wrapper as a first step.

What have been done so far

TODO's (Pending)

Questions

For further details on the current status, see also PR-278.

Nicoretti commented 1 year ago

Status Update

The DBAPI2 compliant web-socket driver has been implemented (see also PR-278). As next step the actual SQLA dialect/driver implementation will be started.

What have been done so far

TODO's (Pending)

Nicoretti commented 1 year ago

Status Update

First draft of a websocket based dialect was added (see #320). The current results of the SQLA compliance test suite are the following:

SQLA - Compliance Test Suite

1 :heavy_check_mark: Passed , 287 :heavy_multiplication_x: Failed , 305 :yellow_circle: Ignored

Nicoretti commented 1 year ago

Status Update

SQLA - Compliance Test Suite

142 :heavy_check_mark: Passed , 50 :heavy_multiplication_x: Failed , 365 :yellow_circle: Ignored

for further details see #320

Nicoretti commented 1 year ago

Status Update

SQLA - Compliance Test Suite

147 :heavy_check_mark: Passed , 45 :heavy_multiplication_x: Failed , 365 :yellow_circle: Ignored

for further details see #320

Nicoretti commented 1 year ago

Status Update

SQLA - Compliance Test Suite

149 :heavy_check_mark: Passed , 43 :heavy_multiplication_x: Failed , 365 :yellow_circle: Ignored

for further details see #320

Nicoretti commented 1 year ago

Status Update

SQLA - Compliance Test Suite

152 :heavy_check_mark: Passed , 40 :heavy_multiplication_x: Failed , 365 :yellow_circle: Ignored

for further details see #320

:spiral_notepad: Note Looks like most of the remaining failing tests are due to incorrect/missing DBAPI type conversions.

Nicoretti commented 1 year ago

Status Update

SQLA - Compliance Test Suite

162 :heavy_check_mark: Passed , 30 :heavy_multiplication_x: Failed , 365 :yellow_circle: Ignored

for further details see #320

Nicoretti commented 1 year ago

Status Update

SQLA - Compliance Test Suite

172 :heavy_check_mark: Passed , 20 :heavy_multiplication_x: Failed , 365 :yellow_circle: Ignored

for further details see #320

Nicoretti commented 1 year ago

Status Update

SQLA - Compliance Test Suite

176 :heavy_check_mark: Passed , 15 :heavy_multiplication_x: Failed , 366 :yellow_circle: Ignored

for further details see #320

Nicoretti commented 1 year ago

Status Update

SQLA - Compliance Test Suite

178 :heavy_check_mark: Passed , 13 :heavy_multiplication_x: Failed , 366 :yellow_circle: Ignored

for further details see #320

Nicoretti commented 1 year ago

Status Update

As of today, the websocket dialect, did not pass 100% of the expected SQLA compliance test suite. Still we expect the basic features to work. Therefore, the decision was made to release a beta version. This will give us a faster feedback cycle and allow users to test and play around with the new functionality. Once the websocket driver is stabilized it will be announced and marked accordingly.

Test Status

SQLA - Compliance Test Suite

178 :heavy_check_mark: Passed , 13 :heavy_multiplication_x: Failed , 366 :yellow_circle: Ignored

Exasol - Test Suite

181 :heavy_check_mark: Passed , 1 :heavy_multiplication_x: Failed , 29 :yellow_circle: Ignored

for further details see #320

Remaining Todo's

Once the related PR #320 is merged s new release, containing the beta should be created.

Nicoretti commented 1 year ago

Status Update

Test Status

Exasol - Test Suite :heavy_check_mark:

SQLA - Compliance Test Suite

178 :heavy_check_mark: Passed , 13 :heavy_multiplication_x: Failed , 366 :yellow_circle: Ignored


for further details see #320

Remaining Todo's

Once the related PR #320 is merged s new release, containing the beta should be created.