Skip to content

Conversation

scottkwalker
Copy link

  • Added Dremio docker image to the CI integration testing.
  • The vertica docker image is missing from dockerhub and is returning 404, so the vertica test is commented out.
  • Added python version markers to pyarrow, pandas and numpy as they each drop support for Python 3.8 so for working with Python 3.8 we need to install the last compatible version.
  • The cursor is the implementation in sqlalchemy-dremio. The current release of sqlalchemy-dremio (3.0.4) does not support datetime[ms]. The fix is on the master branch of sqlalchemy-dremio but the master branch dependency versions are not compatible with Python 3.8. To have the CI tests pass with Python 3.8, we use a fork of sqlalchemy-dremio that contains the fix but has compatible dependencies. sqlalchemy_dremio/issues/58

* Added Dremio docker image to the CI integration testing.
* The `vertica` docker image is missing from dockerhub and is returning 404, so the vertica test is commented out.
* Added python version markers to pyarrow, pandas and numpy as they each drop support for Python 3.8 so for working with Python 3.8 we need to install the last compatible version.
* The cursor is the implementation in `sqlalchemy-dremio`. The current release of `sqlalchemy-dremio` (3.0.4) does not support datetime[ms]. The fix is on the master branch of `sqlalchemy-dremio` but the master branch dependency versions are not compatible with Python 3.8. To have the CI tests pass with Python 3.8, we use a fork of `sqlalchemy-dremio` that contains the fix but has compatible dependencies.
Copy link
Owner

@erezsh erezsh left a comment

Choose a reason for hiding this comment

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

Thanks for the PR!

Overall looks acceptable.


return super().parse_type(table_path, col_name, type_repr, datetime_precision, numeric_precision, numeric_scale)

def set_timezone_to_utc(self) -> str:
Copy link
Owner

Choose a reason for hiding this comment

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

If Dremio works in UTC by default, shouldn't this method just pass without failing?

'queries instead.'
)

def type_repr(self, t) -> str:
Copy link
Owner

Choose a reason for hiding this comment

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

This method seems unnecessary

) -> ColType:
from math import isnan
if datetime_precision is not None and not isinstance(datetime_precision, int):
if isnan(datetime_precision):
Copy link
Owner

Choose a reason for hiding this comment

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

This should probably be a function (e.g. nan_to_none())

numeric_precision: int = None,
numeric_scale: int = None,
) -> ColType:
from math import isnan
Copy link
Owner

Choose a reason for hiding this comment

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

imports always at module level (unless there's a good reason not to)

@erezsh
Copy link
Owner

erezsh commented Sep 4, 2025

(Just a few changes / responses necessary)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants