FEAT: Pass all connection string params to mssql-py-core for bulk copy by bewithgaurav · Pull Request #439 · microsoft/mssql-python

added 16 commits

February 10, 2026 00:34
- Add extract_auth_type() fallback for Windows Interactive where
  process_connection_string returns auth_type=None (DDBC handles
  auth natively but bulkcopy needs it for Azure Identity)
- Preserve auth_type in fallthrough return so bulkcopy can attempt
  fresh token acquisition even when connect-time token fails
- Fix get_raw_token docstring to match actual credential behavior
- Use 'is None' instead of '== None' in test assertion
Raises ValueError with supported types instead of KeyError when an
unsupported auth_type is passed to _acquire_token.
…llthrough return, clean up extract_auth_type parsing
… bewithgaurav/bulkcopy-accesstoken-support
Drop app, workstationid, language, connect_timeout, mars_connection
from key_map — the parser rejects these keywords so they never reach
connstr_to_pycore_params. Also clean up bool_keys/int_keys to match.

bewithgaurav

bewithgaurav

bewithgaurav

@bewithgaurav

Use jq --rawfile instead of ${{ env.* }} expansion for
PATCH_COVERAGE_SUMMARY and LOW_COVERAGE_FILES to prevent
raw Python source in diff hunks from being interpreted as
shell commands.

@bewithgaurav

…ate and multi_subnet_failover as strings

Copilot AI review requested due to automatic review settings

February 19, 2026 05:40

@bewithgaurav

_normalize_params and connstr_to_pycore_params now skip a
canonical key that was already set by an earlier synonym.
Matches ODBC Driver 18 fFromAttrOrProp first-wins semantics
confirmed via live test against sqlcconn.cpp.

Add TestSynonymFirstWins (12 tests) covering server/addr/
address, trustservercertificate snake_case, and packetsize
with-space synonym groups.

@bewithgaurav

… bewithgaurav/bulkcopy-connstr-to-pycore

sumitmsft

saurabh500