FIX: Cache SQLDescribeParam results for NULL parameters to reduce server round-trips by jahnvi480 · Pull Request #614 · microsoft/mssql-python · GitHub
Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
773cb3e
FIX: Skip SQLDescribeParam for NULL params to avoid sp_describe_undec…
jahnvi480 Jun 2, 2026
217c601
Merge branch 'main' of https://github.com/microsoft/mssql-python into…
jahnvi480 Jun 2, 2026
b6f1478
Moving test from global and putting it in cursor
jahnvi480 Jun 2, 2026
af90409
Removed the dead executemany() SQL_UNKNOWN_TYPE check. That path is n…
jahnvi480 Jun 2, 2026
00bb017
Removing the dead code
jahnvi480 Jun 2, 2026
d48b07e
Merge branch 'main' of https://github.com/microsoft/mssql-python into…
jahnvi480 Jun 3, 2026
ddd2893
Merge branch 'main' of https://github.com/microsoft/mssql-python into…
jahnvi480 Jun 5, 2026
a9d9e58
FIX: Add SQLDescribeParam cache to eliminate redundant sp_describe_un…
jahnvi480 Jun 5, 2026
74d0f59
TEST: Add GH-610 SQLDescribeParam cache coverage tests
jahnvi480 Jun 5, 2026
61af48f
Resolving issues
jahnvi480 Jun 5, 2026
304a1b8
Merge branch 'main' into jahnvi/fix-null-param-describe-610
jahnvi480 Jun 5, 2026
aa362e6
Merge branch 'main' of https://github.com/microsoft/mssql-python into…
jahnvi480 Jun 8, 2026
779cb31
Merge branch 'jahnvi/fix-null-param-describe-610' of https://github.c…
jahnvi480 Jun 8, 2026
6f71439
FIX: Move SQLDescribeParam cache from global static to per-SqlHandle …
jahnvi480 Jun 8, 2026
17a8184
Merge branch 'main' into jahnvi/fix-null-param-describe-610
jahnvi480 Jun 8, 2026
2aea8ce
REVIEW: Address bewithgaurav feedback on GH-610 cache
jahnvi480 Jun 10, 2026
f9dcbfc
REVIEW: Address gargsaumya feedback on GH-610 cache
jahnvi480 Jun 11, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
REVIEW: Address gargsaumya feedback on GH-610 cache
1. Update thread-safety comment to reference ODBC spec — statement
   handles are not thread-safe by spec, same assumption as rest of
   the driver. No additional synchronization needed.

2. Add test_gh610_cache_no_mix_across_different_sql — proves cache
   is cleared when switching SQL on same cursor (INSERT INTO t1
   then INSERT INTO t2 with different param counts).

3. Add test_gh610_cache_null_then_nonnull_same_statement — proves
   cached NULL type does not interfere with non-NULL execution
   (non-NULL params use concrete C types, never enter SQL_C_DEFAULT
   case where cache is consulted).

529 tests pass, 0 regressions.
  • Loading branch information
jahnvi480 committed Jun 11, 2026
commit f9dcbfc0e0b68ffe83e6b16132df764c27f28fa2
3 changes: 2 additions & 1 deletion mssql_python/pybind/ddbc_bindings.h
46 changes: 46 additions & 0 deletions tests/test_004_cursor.py
Loading