-
Notifications
You must be signed in to change notification settings - Fork 72
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
Replace pyodbc with pymssql #3435
Conversation
Passing run #2743 ↗︎
Details:
This comment has been generated by cypress-bot as a result of this project's GitHub integration settings. |
Codecov ReportPatch coverage:
Additional details and impacted files@@ Coverage Diff @@
## main #3435 +/- ##
==========================================
+ Coverage 87.01% 87.13% +0.11%
==========================================
Files 311 312 +1
Lines 18863 18762 -101
Branches 2402 2390 -12
==========================================
- Hits 16414 16348 -66
+ Misses 2025 1991 -34
+ Partials 424 423 -1
☔ View full report in Codecov by Sentry. |
I've narrowed the issue down to |
@SteveDMurphy I'm getting this very close.... |
Excited to see you jumped into this !! More pressing on this has come recently from @mfbrown too 👍🏽 How do you feel about the idea of switching these after getting your hands dirty a bit?? I see both are still listed as supported by Microsoft, and the recent activity on the repo is nice but I'm a little concerned the recent commits haven't generated a release candidate just yet 🤔 |
@SteveDMurphy as in, how do I feel about making the switch from This completely mitigates the issues we saw here, as well as completely removes the need for the Overall this one change leads to significant simplification across the whole codebase. Although there haven't been recent commits, database drivers in general should be slow-moving as they are a standard and shouldn't need to be updated much. As long as it allows us to read from SQL Server databases, which hopefully should "never" change, I think we're fine here. |
final two test failures appear to be caused by the new driver returning a different error...going to diagnose but everything else looks like its working |
@SteveDMurphy something else I want to test/confirm here is that with these changes, we no longer need the I'm going to make that change and attempt to test it myself by forcing the build platform to |
I'm hitting some bugs locally when trying to build as an |
tests/ops/integration_tests/test_connection_configuration_integration.py
Show resolved
Hide resolved
@ThomasLaPiana
haven't had a whole lot of time to look into it further but posting it now just to give an incremental update. curious what others with an M1 are seeing. |
Same errors from me, still haven't gotten in too deep but wanted to second what @adamsachs is seeing so far 👍🏽 |
aha: pymssql/pymssql#533 |
@adamsachs @SteveDMurphy can y'all try again? I added some more deps that might fix it...it's basically dependency whackamole at this point I think |
unfortunately still seem to be getting similar errors...
|
Hmmm dang. Ok, the feedback loop is a little too slow to solve this efficiently, let's try to grab some time and pair on this sync so we can get this finalized or close it |
before merging this can we investigate the longevity of pymssql because it might be deprecated soon? |
Where does it look like it will be deprecated soon? Or do you mean abandoned? I just looked at the repo and mailing list, and while it isn't the most active project it isn't really "dead" in my opinion? |
I was wrong. In 2019 it was stated that pymssql would be discontinued but that was obviously reversed and active today as you stated. I was kind of hoping we could get some guarantee of continued support. Don't let me hold you up any longer pymssql/pymssql#668 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Working locally for me, 🤞🏽 that checks pass as well 🤞🏽
it looks like the merge super broke stuff 😢 Update: figured it out, new migration went into the old folder, moved it to the new one |
Closes #3152
Note to reviewers: as I developed this on an x86 platform, I need help confirming from ARM users that everything works as expected!
Code Changes
requirements.txt
dangerous-requirements.txt
setup.py
Steps to Confirm
nox -s build
command works as expected (doesn't use emulation, chooses the right platform automatically)pymssql
works (can try running the ops integration tests locally)Pre-Merge Checklist
Relevant Follow-Up Issues CreatedCHANGELOG.md
Description Of Changes
This is an investigation into and a possible solution for replacing
pyodbc
withpymssql
as our SQL Server adapter. It doesn't come with the same platform caveats aspyodbc
and therefore would simplify and streamline our build/deploy logic.This PR fully removes some of the platform-specific "magic" we've been doing, and simplifies the build session as well as the Dockerfile. We're no longer locked out of mssql connections on ARM chips