You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
core.setFailed(`❌ PR should contain a valid ADO Work Item ID.\nExpected a hyperlink in the format: https://sqlclientdrivers.visualstudio.com/.../_workitems/edit/<ID>\nPlease ensure the ADO task hyperlink is present in the PR description.`);
44
+
if (!hasWorkItemLink && !hasGitHubIssueLink) {
45
+
core.setFailed(`❌ PR must contain either a valid GitHub issue link OR a valid ADO Work Item link.\nGitHub issue format: https://github.com/microsoft/mssql-python/issues/XXX or #XXX\nADO Work Item format: https://sqlclientdrivers.visualstudio.com/.../_workitems/edit/<ID>\nPlease include at least one reference in the PR description.\nFor more information, see CONTRIBUTING.md.`);
36
46
}
37
-
38
-
// Check if PR description contains a meaningful summary section with actual content
// Check if there's at least 10 characters of meaningful content
55
68
hasValidSummary = trimmedContent.length >= 10;
56
69
}
57
-
70
+
58
71
if (!hasValidSummary) {
59
-
core.setFailed(`❌ PR must contain a meaningful summary section with actual text content (minimum 10 characters).
60
-
Please add a clear description under the '### Summary' heading in your PR description.`);
72
+
core.setFailed(`❌ PR must contain a meaningful summary section with actual text content (minimum 10 characters).\nPlease add a clear description under the '### Summary' heading in your PR description.`);
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+29-1Lines changed: 29 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,4 +11,32 @@ instructions provided by the bot. You will only need to do this once across all
11
11
12
12
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
13
13
For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/)
14
-
or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
14
+
or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
15
+
16
+
## Before Contributing
17
+
18
+
### For External Contributors
19
+
20
+
If you are an external contributor (not a Microsoft organization member), please follow these steps:
21
+
22
+
1.**Create a GitHub Issue First**: Before submitting a pull request, create a GitHub issue describing the bug, feature request, or improvement you want to contribute.
23
+
2.**Link the Issue in Your PR**: When you submit your pull request, please use the PR template and include a link to the GitHub issue in the PR description using the format: `https://github.com/microsoft/mssql-python/issues/XXX`
24
+
3.**Follow PR Guidelines**: Ensure your PR title follows the required prefix format (FEAT:, FIX:, DOC:, etc.) and includes a meaningful summary.
25
+
26
+
### For Microsoft Organization Members
27
+
28
+
If you are a Microsoft organization member (internal contributor):
29
+
30
+
1.**Create an ADO Work Item**: Follow your internal process to create an Azure DevOps (ADO) work item.
31
+
2.**Link the ADO Work Item**: Include the ADO work item link in your PR description using the format: `https://sqlclientdrivers.visualstudio.com/.../workitems/edit/ID`
32
+
3.**Follow PR Guidelines**: Ensure your PR title follows the required prefix format and includes a meaningful summary.
33
+
34
+
## Pull Request Requirements
35
+
36
+
All pull requests must include:
37
+
38
+
-**Valid Title Prefix**: Your PR title must start with one of: `FEAT:`, `CHORE:`, `FIX:`, `DOC:`, `STYLE:`, `REFACTOR:`, or `RELEASE:`
39
+
-**Meaningful Summary**: Include a clear description of your changes under the "### Summary" section in the PR description (minimum 10 characters)
Copy file name to clipboardExpand all lines: PyPI_Description.md
+4-3Lines changed: 4 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,9 +9,10 @@ We are making progress - The Public Preview of our driver is now available! This
9
9
### What's Included:
10
10
11
11
- Everything from previous releases
12
-
-**Linux Support**: The mssql-python driver now supports Linux OS (manylinux2014) - Ubuntu, Debian and RHEL, enabling seamless development on Linux based systems. Added Linux driver libraries and related logic for architecture-specific handling and ODBC driver path resolution. Support for other Linux based distros will come in subsequent releases.
13
-
-**Connection Pooling Support for MacOS and Linux**: Implemented connection pooling features for MacOS and Linux, including tests and unified code support for pooling across platforms.
14
-
Expanded Pipeline/Test Matrix: Added/expanded support for Python versions < 3.13 and enhanced database setup for testing, including LocalDB and Docker-based SQL Server.
12
+
-**Azure Active Directory Authentication:** New authentication module supporting Azure AD login options (ActiveDirectoryInteractive, ActiveDirectoryDeviceCode, ActiveDirectoryDefault) for secure and flexible cloud integration.
13
+
-**Batch Execution Performance:** Refactored `executemany` for efficient bulk operations and improved C++ bindings for performance.
14
+
-**Robust Logging System:** Overhauled logging with a singleton manager, sensitive data sanitization, and better exception handling.
15
+
-**Improved Row Representation:** Enhanced output and debugging via updated `Row` object string and representation methods.
15
16
16
17
For more information, please visit the project link on Github: https://github.com/microsoft/mssql-python
Copy file name to clipboardExpand all lines: README.md
+9-2Lines changed: 9 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -48,17 +48,24 @@ By adhering to the DB API 2.0 specification, the mssql-python module ensures com
48
48
49
49
### Support for Microsoft Entra ID Authentication
50
50
51
-
The Microsoft mssql-python driver enables Python applications to connect to Microsoft SQL Server, Azure SQL Database, or Azure SQL Managed Instance using Microsoft Entra ID identities. It supports various authentication methods, including username and password, Microsoft Entra managed identity, and Integrated Windows Authentication in a federated, domain-joined environment. Additionally, the driver supports Microsoft Entra interactive authentication and Microsoft Entra managed identity authentication for both system-assigned and user-assigned managed identities.
51
+
The Microsoft mssql-python driver enables Python applications to connect to Microsoft SQL Server, Azure SQL Database, or Azure SQL Managed Instance using Microsoft Entra ID identities. It supports a variety of authentication methods, including username and password, Microsoft Entra managed identity (system-assigned and user-assigned), Integrated Windows Authentication in a federated, domain-joined environment, interactive authentication via browser, device code flow for environments without browser access, and the default authentication method based on environment and configuration. This flexibility allows developers to choose the most suitable authentication approach for their deployment scenario.
52
52
53
53
EntraID authentication is now fully supported on MacOS and Linux but with certain limitations as mentioned in the table:
54
54
55
55
| Authentication Method | Windows Support | macOS/Linux Support | Notes |
This directory contains benchmark scripts for testing the performance of various database operations using `pyodbc` and `mssql_python`. The goal is to evaluate and compare the performance of these libraries for common database operations.
4
+
5
+
## Why Benchmarks?
6
+
- To measure the efficiency of `pyodbc` and `mssql_python` in handling database operations.
7
+
- To identify performance bottlenecks and optimize database interactions.
8
+
- To ensure the reliability and scalability of the libraries under different workloads.
9
+
10
+
## How to Run Benchmarks
11
+
1.**Set Up the Environment Variable**:
12
+
- Ensure you have a running SQL Server instance.
13
+
- Set the `DB_CONNECTION_STRING` environment variable with the connection string to your database. For example:
14
+
```cmd
15
+
set DB_CONNECTION_STRING=Server=your_server;Database=your_database;UID=your_user;PWD=your_password;
16
+
```
17
+
18
+
2. **Install Richbench - Benchmarking Tool**:
19
+
- Install richbench :
20
+
```cmd
21
+
pip install richbench
22
+
```
23
+
24
+
3. **Run the Benchmarks**:
25
+
- Execute richbench from the parent folder (mssql-python) :
26
+
```cmd
27
+
richbench benchmarks
28
+
```
29
+
Results will be displayed in the terminal with detailed performance metrics.
30
+
31
+
## Key Features of `bench_mssql.py`
32
+
- **Comprehensive Benchmarks**: Includes SELECT, INSERT, UPDATE, DELETE, complex queries, stored procedures, and transaction handling.
33
+
- **Error Handling**: Each benchmark function is wrapped with error handling to ensure smooth execution.
34
+
- **Progress Messages**: Clear progress messages are printed during execution for better visibility.
35
+
- **Automated Setup and Cleanup**: The script automatically sets up and cleans up the database environment before and after the benchmarks.
36
+
37
+
## Notes
38
+
- Ensure the database user has the necessary permissions to create and drop tables and stored procedures.
39
+
- The script uses permanent tables prefixed with `perfbenchmark_` for benchmarking purposes.
40
+
- A stored procedure named `perfbenchmark_stored_procedure` is created and used during the benchmarks.
0 commit comments