Conversation
Contributor
There was a problem hiding this comment.
Pull Request Overview
This pull request fixes the rowcount attribute in the cursor implementation to accurately reflect the number of rows fetched during various operations. The fix addresses GitHub Issue #258 by ensuring rowcount is properly updated after fetchone, fetchmany, and fetchall operations.
- Updates cursor fetch methods to set
rowcountto the cumulative number of rows fetched - Handles edge cases like empty result sets by setting
rowcountto 0 - Adds comprehensive test coverage for various fetch scenarios and data types
Reviewed Changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| mssql_python/cursor.py | Updates fetchone, fetchmany, and fetchall methods to properly maintain the rowcount attribute |
| tests/test_004_cursor.py | Adds three new test functions covering rowcount behavior for different fetch operations and edge cases |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
📊 Code Coverage Report
Diff CoverageDiff: main...HEAD, staged and unstaged changes
Summary
📋 Files Needing Attention📉 Files with overall lowest coverage (click to expand)mssql_python.pybind.connection.connection.cpp: 67.6%
mssql_python.ddbc_bindings.py: 68.5%
mssql_python.pybind.ddbc_bindings.cpp: 69.4%
mssql_python.pybind.connection.connection_pool.cpp: 78.9%
mssql_python.cursor.py: 79.6%
mssql_python.connection.py: 81.7%
mssql_python.helpers.py: 84.7%
mssql_python.auth.py: 85.3%
mssql_python.type.py: 86.8%
mssql_python.pooling.py: 88.8%🔗 Quick Links
|
bewithgaurav
approved these changes
Sep 30, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Work Item / Issue Reference
Summary
This pull request improves the accuracy and consistency of the
rowcountattribute in themssql_pythoncursor implementation, ensuring it reflects the correct number of rows affected or fetched after various operations. It also introduces comprehensive tests to verifyrowcountbehavior for different fetch methods and scenarios, including edge cases and specific data types.Enhancements to
rowcountlogic:fetchone,fetchmany, andfetchallmethods inmssql_python/cursor.pyto setrowcountcorrectly after each fetch operation, including for empty result sets. This ensuresrowcountis 0 for empty results, and matches the total number of rows fetched for non-empty results.Expanded test coverage for
rowcount:tests/test_004_cursor.pyto verifyrowcountupdates afterfetchone,fetchmany, andfetchall, and to check behavior for inserts, selects, and edge cases such as empty result sets and tables with GUID columns. These tests cover typical usage patterns as well as specific scenarios reported in GitHub issues.