Skip to content

CHORE: Upgrade bundled ODBC driver from 18.5.1.1 to 18.6.2.1#569

Open
gargsaumya wants to merge 2 commits into
mainfrom
saumya/upgrade-odbc
Open

CHORE: Upgrade bundled ODBC driver from 18.5.1.1 to 18.6.2.1#569
gargsaumya wants to merge 2 commits into
mainfrom
saumya/upgrade-odbc

Conversation

@gargsaumya
Copy link
Copy Markdown
Contributor

@gargsaumya gargsaumya commented May 12, 2026

Work Item / Issue Reference

AB#41573

GitHub Issue: #<ISSUE_NUMBER>


Summary

This pull request updates the project to use Microsoft ODBC Driver 18.6.2.1 for SQL Server instead of 18.5.x and updates the associated license file. The changes ensure that all references, downloads, and verifications in the CI pipeline are aligned with the new driver version, and the license file includes additional clarifications and regional information.

ODBC Driver Version Update:

  • Updated all download URLs, installer paths, and verification steps in eng/pipelines/pr-validation-pipeline.yml to use ODBC Driver 18.6.2.1 instead of 18.5.x for all supported platforms and architectures. [1] [2] [3] [4] [5] [6] [7] [8] [9]

License File Update:

  • Added and clarified terms in MICROSOFT_ODBC_DRIVER_FOR_SQL_SERVER_LICENSE.txt, including more detailed distribution rights, restrictions, and limitations, as well as additional regional variations and French translations for Canadian users. [1] [2] [3]

@github-actions github-actions Bot added the pr-size: large Substantial code update label May 12, 2026
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 12, 2026

📊 Code Coverage Report

🔥 Diff Coverage

100%


🎯 Overall Coverage

25%


📈 Total Lines Covered: 7018 out of 27134
📁 Project: mssql-python


Diff Coverage

Diff: main...HEAD, staged and unstaged changes

  • mssql_python/pybind/ddbc_bindings.cpp (100%)

Summary

  • Total: 1 line
  • Missing: 0 lines
  • Coverage: 100%

📋 Files Needing Attention

📉 Files with overall lowest coverage (click to expand)
mssql_python.pybind.build._deps.simdutf-src.src.haswell.implementation.cpp: 0.4%
mssql_python.pybind.build._deps.simdutf-src.src.implementation.cpp: 6.7%
mssql_python.pybind.build._deps.simdutf-src.include.simdutf.implementation.h: 10.4%
mssql_python.pybind.build._deps.simdutf-src.include.simdutf.scalar.utf16_to_utf8.utf16_to_utf8.h: 25.3%
mssql_python.pybind.logger_bridge.cpp: 59.2%
mssql_python.pybind.ddbc_bindings.h: 59.7%
mssql_python.pybind.build._deps.simdutf-src.include.simdutf.internal.isadetection.h: 65.3%
mssql_python.row.py: 70.5%
mssql_python.pybind.logger_bridge.hpp: 70.8%
mssql_python.pybind.ddbc_bindings.cpp: 74.2%

🔗 Quick Links

⚙️ Build Summary 📋 Coverage Details

View Azure DevOps Build

Browse Full Coverage Report

@gargsaumya gargsaumya marked this pull request as ready for review May 19, 2026 03:32
Copilot AI review requested due to automatic review settings May 19, 2026 03:32
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Upgrades the bundled Microsoft ODBC Driver for SQL Server from 18.5.1.1 to 18.6.2.1 across all supported platforms (Windows x64/x86/arm64, macOS x86_64/arm64, Linux debian_ubuntu/rhel/alpine/suse for x86_64 and arm64). Updates the binary references, CI download URLs/verification commands, and license/release-notes files that ship with the wheel.

Changes:

  • Update Linux .so filename from libmsodbcsql-18.5.so.1.1 to libmsodbcsql-18.6.so.2.1 in ddbc_bindings.cpp, test_000_dependencies.py, build.sh, and the pipeline ldd checks.
  • Update PR validation pipeline to download the new MSI (linkid 2358430) and the new Alpine msodbcsql18_18.6.2.1-1 APKs/signatures (new download path 0b3d5518-...).
  • Replace bundled Windows/macOS/Linux license files and macOS/Linux release-notes for the new driver version, and add a new license file for linux/suse/x86_64.

Reviewed changes

Copilot reviewed 18 out of 53 changed files in this pull request and generated 13 comments.

Show a summary per file
File Description
mssql_python/pybind/ddbc_bindings.cpp Updates Linux driver .so filename in GetDriverPathCpp.
mssql_python/pybind/build.sh Updates patchelf example comment to new .so name.
tests/test_000_dependencies.py Updates expected driver .so filename in three locations.
eng/pipelines/pr-validation-pipeline.yml Updates MSI/APK URLs, package filenames, and ldd paths to 18.6.2.1; trailing blank lines added.
mssql_python/libs/windows/{x64,x86,arm64}/MICROSOFT_ODBC_DRIVER_FOR_SQL_SERVER_LICENSE.txt Updated EULA text — but all non-ASCII chars are mojibake ().
mssql_python/libs/macos/{x86_64,arm64}/lib/MICROSOFT_ODBC_DRIVER_FOR_SQL_SERVER_LICENSE.txt Same EULA mojibake issue.
mssql_python/libs/macos/{x86_64,arm64}/share/doc/msodbcsql18/RELEASE_NOTES Prepends 18.6.x changelog entries.
mssql_python/libs/linux/alpine/arm64/lib/MICROSOFT_ODBC_DRIVER_FOR_SQL_SERVER_LICENSE.txt Updated EULA text — non-ASCII chars are mojibake.
mssql_python/libs/linux/alpine/x86_64/lib/MICROSOFT_ODBC_DRIVER_FOR_SQL_SERVER_LICENSE.txt Content replaced with RELEASE_NOTES changelog instead of EULA.
mssql_python/libs/linux/rhel/{x86_64,arm64}/lib/MICROSOFT_ODBC_DRIVER_FOR_SQL_SERVER_LICENSE.txt Content replaced with RELEASE_NOTES changelog instead of EULA.
mssql_python/libs/linux/debian_ubuntu/{x86_64,arm64}/lib/MICROSOFT_ODBC_DRIVER_FOR_SQL_SERVER_LICENSE.txt Content replaced with RELEASE_NOTES changelog instead of EULA.
mssql_python/libs/linux/suse/x86_64/lib/MICROSOFT_ODBC_DRIVER_FOR_SQL_SERVER_LICENSE.txt New file; EULA text with the same mojibake issue.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread eng/pipelines/pr-validation-pipeline.yml Outdated
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 18 out of 53 changed files in this pull request and generated 3 comments.

Comment thread mssql_python/libs/windows/x64/MICROSOFT_ODBC_DRIVER_FOR_SQL_SERVER_LICENSE.txt Outdated
Comment thread mssql_python/libs/windows/x86/MICROSOFT_ODBC_DRIVER_FOR_SQL_SERVER_LICENSE.txt Outdated
Comment thread mssql_python/libs/windows/arm64/MICROSOFT_ODBC_DRIVER_FOR_SQL_SERVER_LICENSE.txt Outdated
@gargsaumya gargsaumya force-pushed the saumya/upgrade-odbc branch from a7d4057 to 72e52f1 Compare May 19, 2026 04:40
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 18 out of 53 changed files in this pull request and generated 2 comments.

# TODO: Linux-specific: use patchelf to set RPATH of the driver .so file
# Currently added Driver SO files right now are already patched
# patchelf --set-rpath '$ORIGIN' libmsodbcsql-18.5.so.1.1
# patchelf --set-rpath '$ORIGIN' libmsodbcsql-18.6.so.2.1
Comment on lines +36 to +37
ii. modify or distribute the source code of any distributable code so that any part of it becomes subject to any license that requires that the distributable
code, any other part of the software, or any of Microsoft’s other intellectual property be disclosed or distributed in source code form, or that others have the right to modify it.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr-size: large Substantial code update

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants