Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sql server support ? #806

Closed
stonebig opened this issue Mar 27, 2016 · 18 comments
Closed

sql server support ? #806

stonebig opened this issue Mar 27, 2016 · 18 comments
Labels
sqlalchemy SQLAlchemy-based backends

Comments

@stonebig
Copy link

No description provided.

@cpcloud cpcloud added help wanted sqlalchemy SQLAlchemy-based backends labels Oct 16, 2016
@cpcloud cpcloud added this to the Future milestone Oct 16, 2016
@costrouc
Copy link

What would be necissary to add sql server support? It looks like sqlalchemy already supports sql server via pyodbc.

@cpcloud
Copy link
Member

cpcloud commented Jul 18, 2019

You'd have to do something similar to what's being done in the postgresql backend. Most of the work lies in a few key areas:

  1. Writing the initial client
  2. Implementing the translation rules where they don't already exist or the defaults don't work for MSSQL's dialect
  3. Setting up a reproducible test harness
  4. Getting the CI to pass

Happy to help you get started. I would suggest looking at ibis/sql/postgres/client.py and then continuing to dig around from there.

Let me know if you have questions. We also have a gitter chat room if that's helpful.

@costrouc
Copy link

@cpcloud thank you for the help. It looks like our client has significant interest in this feature so I will be working to add sql server support. For now I will be testing with a local docker sql server provided by microsoft. Looks like this will be easy enough to integrate with your existing docker-compose.yml with azure pipelines.

@scottcode
Copy link
Contributor

@costrouc Steps 1 and 2 mentioned by @cpcloud (writing the client and translation rules) include adding a sql_server folder under ibis/ibis/sql with api.py, client.py, and compiler.py modules that mimic the corresponding modules found in the other ibis/ibis/sql backend folders.

@costrouc
Copy link

@scottcode here is the PR that I am working on #1997. Right now limitting the supported operations to get the Pr merged

@kvemani
Copy link

kvemani commented Mar 18, 2020

@stonebig @costrouc @scottcode Hi folks, I work in Microsoft SQL Server group, and I am interested in contributing to this project. Will be great if you can let me know where to start, issues I can start contributing to, etc. Excited to be part of this!

@costrouc
Copy link

@kvemani thanks for your interest in contributing to the sql server backend to ibis! I am currently trying to get #1997 merged. It is close but I will admit in the past month I haven't been pushing this PR as much. This PR only covers basic SQL with SQL Server. There is a lot of work that can be done once this PR is merged. These include more complete support for date operations and string operations which have been neglected by this PR.

@kvemani
Copy link

kvemani commented Mar 19, 2020

@costrouc Thanks for letting me know. Great work so far! I'll be happy to contribute to the features you have planned after #1997 is merged. Meanwhile, if there is anything I can do to help you move faster with #1997, please let me know.

@MarcSkovMadsen
Copy link

Listening in. I’m also interested in support for sql server. Especially in connection with HoloViews holoviz/holoviews#4517 (comment)

@kvemani
Copy link

kvemani commented Jul 20, 2020

Firstly, thanks again @costrouc for the significant work on SQL Server backend. It has been a few months since our last touchpoint here, so I wanted to check with you. Are you close to merging your changes into ibis main? If you are short on time, will it be okay for me to work on merging your changes?

@costrouc @cpcloud @scottcode @stonebig Please let me know what are the best practices around this in the ibis community. Thanks so much.

@amueller
Copy link

I just had a conversation with @datapythonista about having the backend in a separate repo. I think it would make sense if MS/@kvemani would own that, what do you think? @costrouc are you still working on this as a separate backend and/or would you be ok with @kvemani putting your changes in a stand-alone repo and building on it?

@costrouc
Copy link

costrouc commented Aug 3, 2020

@amueller I am not currently working anymore on a separate backend and would be happy for you and @kvemani putting the changes in a stand alone repo and maintaining that. I am so happy to see this moving forward as a supported backend. Thank you!

@datapythonista
Copy link
Contributor

@amueller @kvemani we'll start having some other backends in the ibis-project github organization, but in separate repos. For now it'll be a new Oracle backend, and the existing OmniSci one.

I'm thinking on an automated way to fetch the docs of the external backends and render them together with the Ibis web and docs (the API part is a bit tricky, but doable). Also, I'll have a look at the backend tests in Ibis, to see if it makes sense to package them with Ibis, so backends can run them directly on their CI (or something equivalent).

Not sure if you're working on the mssql backend, but if you are, it's probably worth to check those updates as they happen. Also, if you are planning to move the repo, may be the ibis-project organization can be a good place, for consistency with the rest (not really important, but it can have better visibility).

@datapythonista datapythonista removed this from the Future milestone Nov 13, 2020
@matthewmturner
Copy link
Contributor

@datapythonista @kvemani - im quite interested in getting the ms sql backend added. Anything I can do to help? My understanding is we can leverage a similar implementation to postgres but this would be in a separate ibis-project repo. im happy to get the ball rolling on this in that separate repo if its created.

Additionally, was there any progress on determining how CI would be handled for backend tests?

@datapythonista
Copy link
Contributor

The sql server backend is here: https://github.com/quansight/ibis-mssql

We'll have to adapt it when we implement entrypoints and release 2.0, but should already be working with monkeypatching.

@cpcloud
Copy link
Member

cpcloud commented Dec 10, 2021

Closing, since there's a backend for this now.

@cpcloud cpcloud closed this as completed Dec 10, 2021
@jreback
Copy link
Contributor

jreback commented Dec 10, 2021

do we have a doc page on available backends that are not in core?

@cpcloud
Copy link
Member

cpcloud commented Dec 10, 2021

We do not. Definitely in scope to have that.

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

No branches or pull requests

10 participants