Repository navigation
Commit 70be653
authored
FIX: Capture PRINT messages in nextset() via SQL_SUCCESS_WITH_INFO (#618)
### Work Item / Issue Reference
<!--
IMPORTANT: Please follow the PR template guidelines below.
For mssql-python maintainers: Insert your ADO Work Item ID below
For external contributors: Insert Github Issue number below
Only one reference is required - either GitHub issue OR ADO Work Item.
-->
<!-- mssql-python maintainers: ADO Work Item -->
>
[AB#45395](https://sqlclientdrivers.visualstudio.com/c6d89619-62de-46a0-8b46-70b92a84d85e/_workitems/edit/45395)
<!-- External contributors: GitHub Issue -->
> GitHub Issue: #612
-------------------------------------------------------------------
### Summary
This pull request addresses an issue where diagnostic messages (such as
SQL Server PRINT output) from subsequent result sets were not properly
captured when using the `nextset()` method. The fix ensures that all
messages are collected, even across multiple result sets, and adds
comprehensive tests to verify this behavior.
**Bug Fix: Diagnostic Message Handling**
- Updated the `nextset()` method in `cursor.py` to capture diagnostic
messages (e.g., PRINT output) when SQL returns `SQL_SUCCESS_WITH_INFO`,
ensuring messages from all result sets are preserved.
**Testing Improvements**
- Added several new tests in `test_004_cursor.py` to verify that PRINT
messages are correctly captured across multiple result sets and that
messages from previous result sets are cleared appropriately:
- Test for multiple PRINT statements across result sets via `nextset()`
- Test for PRINT messages interleaved with SELECT statements
- Test for three consecutive PRINT messages across `nextset()` calls
- Test to ensure `nextset()` clears messages from the previous result
set1 parent 4f12cee commit 70be653
2 files changed
Lines changed: 165 additions & 10 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
161 | 161 | | |
162 | 162 | | |
163 | 163 | | |
164 | | - | |
| 164 | + | |
165 | 165 | | |
166 | 166 | | |
167 | 167 | | |
| |||
810 | 810 | | |
811 | 811 | | |
812 | 812 | | |
| 813 | + | |
| 814 | + | |
| 815 | + | |
| 816 | + | |
| 817 | + | |
| 818 | + | |
| 819 | + | |
| 820 | + | |
| 821 | + | |
| 822 | + | |
| 823 | + | |
| 824 | + | |
| 825 | + | |
| 826 | + | |
| 827 | + | |
| 828 | + | |
| 829 | + | |
| 830 | + | |
| 831 | + | |
813 | 832 | | |
814 | 833 | | |
815 | 834 | | |
| |||
1518 | 1537 | | |
1519 | 1538 | | |
1520 | 1539 | | |
1521 | | - | |
1522 | | - | |
1523 | | - | |
1524 | | - | |
1525 | | - | |
1526 | | - | |
1527 | | - | |
| 1540 | + | |
1528 | 1541 | | |
1529 | 1542 | | |
1530 | 1543 | | |
| |||
2773 | 2786 | | |
2774 | 2787 | | |
2775 | 2788 | | |
2776 | | - | |
| 2789 | + | |
2777 | 2790 | | |
2778 | 2791 | | |
2779 | 2792 | | |
2780 | 2793 | | |
2781 | | - | |
| 2794 | + | |
| 2795 | + | |
| 2796 | + | |
| 2797 | + | |
| 2798 | + | |
2782 | 2799 | | |
2783 | 2800 | | |
2784 | 2801 | | |
| |||
2799 | 2816 | | |
2800 | 2817 | | |
2801 | 2818 | | |
| 2819 | + | |
| 2820 | + | |
| 2821 | + | |
| 2822 | + | |
| 2823 | + | |
| 2824 | + | |
2802 | 2825 | | |
2803 | 2826 | | |
2804 | 2827 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6452 | 6452 | | |
6453 | 6453 | | |
6454 | 6454 | | |
| 6455 | + | |
| 6456 | + | |
| 6457 | + | |
| 6458 | + | |
| 6459 | + | |
| 6460 | + | |
| 6461 | + | |
| 6462 | + | |
| 6463 | + | |
| 6464 | + | |
| 6465 | + | |
| 6466 | + | |
| 6467 | + | |
| 6468 | + | |
| 6469 | + | |
| 6470 | + | |
| 6471 | + | |
| 6472 | + | |
| 6473 | + | |
| 6474 | + | |
| 6475 | + | |
| 6476 | + | |
| 6477 | + | |
| 6478 | + | |
| 6479 | + | |
| 6480 | + | |
| 6481 | + | |
| 6482 | + | |
| 6483 | + | |
| 6484 | + | |
| 6485 | + | |
| 6486 | + | |
| 6487 | + | |
| 6488 | + | |
| 6489 | + | |
| 6490 | + | |
| 6491 | + | |
| 6492 | + | |
| 6493 | + | |
| 6494 | + | |
| 6495 | + | |
| 6496 | + | |
| 6497 | + | |
| 6498 | + | |
| 6499 | + | |
| 6500 | + | |
| 6501 | + | |
| 6502 | + | |
| 6503 | + | |
| 6504 | + | |
| 6505 | + | |
| 6506 | + | |
| 6507 | + | |
| 6508 | + | |
| 6509 | + | |
| 6510 | + | |
| 6511 | + | |
| 6512 | + | |
| 6513 | + | |
| 6514 | + | |
| 6515 | + | |
| 6516 | + | |
| 6517 | + | |
| 6518 | + | |
| 6519 | + | |
| 6520 | + | |
| 6521 | + | |
| 6522 | + | |
| 6523 | + | |
| 6524 | + | |
| 6525 | + | |
| 6526 | + | |
| 6527 | + | |
| 6528 | + | |
| 6529 | + | |
| 6530 | + | |
| 6531 | + | |
| 6532 | + | |
| 6533 | + | |
| 6534 | + | |
| 6535 | + | |
| 6536 | + | |
| 6537 | + | |
| 6538 | + | |
| 6539 | + | |
| 6540 | + | |
| 6541 | + | |
| 6542 | + | |
| 6543 | + | |
| 6544 | + | |
| 6545 | + | |
| 6546 | + | |
| 6547 | + | |
| 6548 | + | |
| 6549 | + | |
| 6550 | + | |
| 6551 | + | |
| 6552 | + | |
| 6553 | + | |
| 6554 | + | |
| 6555 | + | |
| 6556 | + | |
| 6557 | + | |
| 6558 | + | |
| 6559 | + | |
| 6560 | + | |
| 6561 | + | |
| 6562 | + | |
| 6563 | + | |
| 6564 | + | |
| 6565 | + | |
| 6566 | + | |
| 6567 | + | |
| 6568 | + | |
| 6569 | + | |
| 6570 | + | |
| 6571 | + | |
| 6572 | + | |
| 6573 | + | |
| 6574 | + | |
| 6575 | + | |
| 6576 | + | |
| 6577 | + | |
| 6578 | + | |
| 6579 | + | |
| 6580 | + | |
| 6581 | + | |
| 6582 | + | |
| 6583 | + | |
| 6584 | + | |
| 6585 | + | |
| 6586 | + | |
6455 | 6587 | | |
6456 | 6588 | | |
6457 | 6589 | | |
| |||
0 commit comments