Skip to content

Commit bc342cc

Browse files
committed
Merge branch 'main' into issues/sqlbulkcopy-hidden-columns
2 parents 048c5d7 + 481a2c4 commit bc342cc

File tree

152 files changed

+6190
-6117
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

152 files changed

+6190
-6117
lines changed

.editorconfig

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,9 @@ csharp_style_var_for_built_in_types = false:none
4646
csharp_style_var_when_type_is_apparent = false:none
4747
csharp_style_var_elsewhere = false:suggestion
4848

49+
# don't prefer the range operator, netfx doesn't have these types
50+
csharp_style_prefer_range_operator = false
51+
4952
# use language keywords instead of BCL types
5053
dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion
5154
dotnet_style_predefined_type_for_member_access = true:suggestion
@@ -155,23 +158,13 @@ dotnet_code_quality.CA2100.excluded_type_names_with_derived_types = Microsoft.Da
155158
dotnet_diagnostic.xUnit1031.severity=none
156159
dotnet_diagnostic.xUnit1030.severity=none
157160

158-
[*.{csproj,vcxproj,vcxproj.filters,proj,nativeproj,locproj}]
159-
indent_size = 2
160-
161-
# Xml build files
162-
[*.builds]
163-
indent_size = 2
164-
165161
# Xml files
166-
[*.{xml,stylecop,resx,ruleset}]
167-
indent_size = 2
168-
169-
# Xml config files
170-
[*.{props,targets,config,nuspec}]
162+
[*.{xml,csproj,stylecop,resx,ruleset,props,targets,config,nuspec}]
171163
indent_size = 2
172164

173165
# Shell scripts
174166
[*.sh]
175167
end_of_line = lf
168+
176169
[*.{cmd, bat}]
177170
end_of_line = crlf

CHANGELOG.md

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,68 @@ All notable changes to this project will be documented in this file.
44

55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
66

7+
## [Preview Release 7.0.0-preview1.25257.1] - 2025-09-12
8+
9+
This update brings the following changes since the [6.1.0](release-notes/6.1/6.1.0.md)
10+
release:
11+
12+
### Breaking Changes
13+
14+
- Removed `Constrained Execution Region` error handling blocks and associated
15+
`SqlConnection` cleanup which may affect how potentially-broken connections
16+
are expunged from the pool.
17+
([#3535](https://github.com/dotnet/SqlClient/pull/3535))
18+
19+
### Bug Fixes
20+
21+
- Packet multiplexing disabled by default, and several bug fixes.
22+
([#3534](https://github.com/dotnet/SqlClient/pull/3534),
23+
[#3537](https://github.com/dotnet/SqlClient/pull/3537))
24+
25+
### Added
26+
27+
- `SqlColumnEncryptionCertificateStoreProvider` now works on Windows, Linux,
28+
and macOS.
29+
([#3014](https://github.com/dotnet/SqlClient/pull/3014))
30+
31+
### Changed
32+
33+
- Updated `SqlVector.Null` to return a nullable `SqlVector` instance in the
34+
reference API to match the implementation.
35+
([#3521](https://github.com/dotnet/SqlClient/pull/3521))
36+
37+
- Performance improvements for all built-in
38+
`SqlColumnEncryptionKeyStoreProvider` implementations.
39+
([#3554](https://github.com/dotnet/SqlClient/pull/3554))
40+
41+
- Various test improvements.
42+
([#3456](https://github.com/dotnet/SqlClient/pull/3456),
43+
[#2968](https://github.com/dotnet/SqlClient/pull/2968),
44+
[#3458](https://github.com/dotnet/SqlClient/pull/3458),
45+
[#3494](https://github.com/dotnet/SqlClient/pull/3494),
46+
[#3559](https://github.com/dotnet/SqlClient/pull/3559),
47+
[#3575](https://github.com/dotnet/SqlClient/pull/3575))
48+
49+
- Codebase merge project and related cleanup.
50+
([#3436](https://github.com/dotnet/SqlClient/pull/3436),
51+
[#3434](https://github.com/dotnet/SqlClient/pull/3434),
52+
[#3448](https://github.com/dotnet/SqlClient/pull/3448),
53+
[#3454](https://github.com/dotnet/SqlClient/pull/3454),
54+
[#3462](https://github.com/dotnet/SqlClient/pull/3462),
55+
[#3435](https://github.com/dotnet/SqlClient/pull/3435),
56+
[#3492](https://github.com/dotnet/SqlClient/pull/3492),
57+
[#3473](https://github.com/dotnet/SqlClient/pull/3473),
58+
[#3469](https://github.com/dotnet/SqlClient/pull/3469),
59+
[#3394](https://github.com/dotnet/SqlClient/pull/3394),
60+
[#3493](https://github.com/dotnet/SqlClient/pull/3493),
61+
[#3593](https://github.com/dotnet/SqlClient/pull/3593))
62+
63+
- Documentation improvements.
64+
([#3490](https://github.com/dotnet/SqlClient/pull/3490))
65+
66+
- Updated `Azure.Identity` dependency to v1.14.2.
67+
([#3538](https://github.com/dotnet/SqlClient/pull/3538))
68+
769
## [Stable Release 6.1.1] - 2025-08-14
870

971
This update includes the following changes since the [6.1.0](6.1.0.md) release:

eng/pipelines/common/templates/jobs/ci-run-tests-job.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,9 +73,18 @@ parameters:
7373
- Project
7474
- Package
7575

76+
# The timeout, in minutes, for this job.
77+
- name: timeout
78+
type: string
79+
default: 90
80+
7681
jobs:
7782
- job: ${{ format('{0}', coalesce(parameters.jobDisplayName, parameters.image, 'unknown_image')) }}
7883

84+
# Some of our tests take longer than the default 60 minutes to run on some
85+
# OSes and configurations.
86+
timeoutInMinutes: ${{ parameters.timeout }}
87+
7988
pool:
8089
name: '${{ parameters.poolName }}'
8190
${{ if eq(parameters.hostedPool, true) }}:

eng/pipelines/common/templates/jobs/run-tests-package-reference-job.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,21 @@ parameters:
2020
- name: isPreview
2121
type: boolean
2222

23+
# The timeout, in minutes, for this job.
24+
- name: timeout
25+
type: string
26+
default: 90
27+
2328
jobs:
2429
- job: run_tests_package_reference
2530
displayName: 'Run tests with package reference'
2631
${{ if ne(parameters.dependsOn, 'empty')}}:
2732
dependsOn: '${{parameters.dependsOn }}'
33+
34+
# Some of our tests take longer than the default 60 minutes to run on some
35+
# OSes and configurations.
36+
timeoutInMinutes: ${{ parameters.timeout }}
37+
2838
pool:
2939
type: windows # read more about custom job pool types at https://aka.ms/obpipelines/yaml/jobs
3040
isCustom: true

eng/pipelines/common/templates/stages/ci-run-tests-stage.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,11 @@ parameters:
3030
type: jobList
3131
default: []
3232

33+
# The timeout, in minutes, for each test job.
34+
- name: testsTimeout
35+
type: string
36+
default: 90
37+
3338
stages:
3439
- ${{ each config in parameters.testConfigurations }}:
3540
- ${{ each image in config.value.images }}:
@@ -47,6 +52,7 @@ stages:
4752
parameters:
4853
debug: ${{ parameters.debug }}
4954
buildType: ${{ parameters.buildType }}
55+
timeout: ${{ parameters.testsTimeout }}
5056
poolName: ${{ config.value.pool }}
5157
hostedPool: ${{ eq(config.value.hostedPool, true) }}
5258
image: ${{ image.value }}
@@ -72,6 +78,7 @@ stages:
7278
parameters:
7379
debug: ${{ parameters.debug }}
7480
buildType: ${{ parameters.buildType }}
81+
timeout: ${{ parameters.testsTimeout }}
7582
poolName: ${{ config.value.pool }}
7683
hostedPool: ${{ eq(config.value.hostedPool, true) }}
7784
image: ${{ image.value }}

eng/pipelines/common/templates/steps/configure-sql-server-macos-step.yml

Lines changed: 43 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -34,37 +34,63 @@ steps:
3434
docker pull mcr.microsoft.com/mssql/server:2022-latest
3535
3636
# Password for the SA user (required)
37-
MSSQL_SA_PW=${{parameters.password }}
37+
MSSQL_SA_PW=${{ parameters.password }}
3838
3939
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=$MSSQL_SA_PW" -p 1433:1433 -p 1434:1434 --name sql1 --hostname sql1 -d mcr.microsoft.com/mssql/server:2022-latest
4040
4141
sleep 5
4242
4343
docker ps -a
4444
45-
# Connect to server and get the version:
46-
counter=1
47-
errstatus=1
48-
while [ $counter -le 20 ] && [ $errstatus = 1 ]
45+
# Connect to the SQL Server container and get its version.
46+
#
47+
# It can take a while for the docker container to start listening and be
48+
# ready for connections, so we will wait for up to 2 minutes, checking every
49+
# 3 seconds.
50+
51+
# Wait 3 seconds between attempts.
52+
delay=3
53+
54+
# Try up to 40 times (2 minutes) to connect.
55+
maxAttempts=40
56+
57+
# Attempt counter.
58+
attempt=1
59+
60+
# Flag to indicate when SQL Server is ready to accept connections.
61+
ready=0
62+
63+
while [ $attempt -le $maxAttempts ]
4964
do
50-
echo Waiting for SQL Server to start...
51-
sleep 3
52-
sqlcmd -S 0.0.0.0 -No -U sa -P $MSSQL_SA_PW -Q "SELECT @@VERSION" 2>$SQLCMD_ERRORS
53-
errstatus=$?
54-
((counter++))
65+
echo "Waiting for SQL Server to start (attempt #$attempt of $maxAttempts)..."
66+
67+
sqlcmd -S 127.0.0.1 -No -U sa -P $MSSQL_SA_PW -Q "SELECT @@VERSION" >> $SQLCMD_ERRORS 2>&1
68+
69+
# If the command was successful, then the SQL Server is ready.
70+
if [ $? -eq 0 ]; then
71+
ready=1
72+
break
73+
fi
74+
75+
# Increment the attempt counter.
76+
((attempt++))
77+
78+
# Wait before trying again.
79+
sleep $delay
5580
done
5681
57-
# Display error if connection failed:
58-
if [ $errstatus = 1 ]
82+
# Is the SQL Server ready?
83+
if [ $ready -eq 0 ]
5984
then
60-
echo Cannot connect to SQL Server, installation aborted
85+
# No, so report the error(s) and exit.
86+
echo Cannot connect to SQL Server; installation aborted; errors were:
6187
cat $SQLCMD_ERRORS
6288
rm -f $SQLCMD_ERRORS
63-
exit $errstatus
64-
else
65-
rm -f $SQLCMD_ERRORS
89+
exit 1
6690
fi
6791
92+
rm -f $SQLCMD_ERRORS
93+
6894
echo "Use sqlcmd to show which IP addresses are being listened on..."
6995
echo 0.0.0.0
7096
sqlcmd -S 0.0.0.0 -No -U sa -P $MSSQL_SA_PW -Q "SELECT @@VERSION" -l 2
@@ -78,7 +104,7 @@ steps:
78104
sqlcmd -No -U sa -P $MSSQL_SA_PW -Q "SELECT @@VERSION" -l 2
79105
80106
echo "Configuring Dedicated Administer Connections to allow remote connections..."
81-
sqlcmd -S 0.0.0.0 -No -U sa -P $MSSQL_SA_PW -Q "sp_configure 'remote admin connections', 1; RECONFIGURE;"
107+
sqlcmd -S 127.0.0.1 -No -U sa -P $MSSQL_SA_PW -Q "sp_configure 'remote admin connections', 1; RECONFIGURE;"
82108
if [ $? = 1 ]
83109
then
84110
echo "Error configuring DAC for remote access."

eng/pipelines/common/templates/steps/publish-symbols-step.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ parameters:
1212

1313
- name: publishSymbols
1414
type: string
15-
default: '$(PublishSymbols)'
1615

1716
- name: symbolsVersion
1817
type: string

eng/pipelines/dotnet-sqlclient-ci-core.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,11 @@ parameters:
8181
type: boolean
8282
default: false
8383

84+
# The timeout, in minutes, for each test job.
85+
- name: testsTimeout
86+
type: string
87+
default: 90
88+
8489
variables:
8590
- template: libraries/ci-build-variables.yml@self
8691

@@ -119,6 +124,7 @@ stages:
119124
parameters:
120125
debug: ${{ parameters.debug }}
121126
buildType: ${{ parameters.buildType }}
127+
testsTimeout: ${{ parameters.testsTimeout }}
122128
${{ if eq(parameters.buildType, 'Package') }}:
123129
dependsOn: build_nugets
124130

eng/pipelines/dotnet-sqlclient-ci-package-reference-pipeline.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,12 @@ parameters: # parameters are shown up in ADO UI in a build queue time
9393
type: boolean
9494
default: false
9595

96+
# The timeout, in minutes, for each test job.
97+
- name: testsTimeout
98+
displayName: 'Tests timeout (in minutes)'
99+
type: string
100+
default: 90
101+
96102
extends:
97103
template: dotnet-sqlclient-ci-core.yml@self
98104
parameters:
@@ -106,3 +112,4 @@ extends:
106112
buildType: ${{ parameters.buildType }}
107113
buildConfiguration: ${{ parameters.buildConfiguration }}
108114
enableStressTests: ${{ parameters.enableStressTests }}
115+
testsTimeout: ${{ parameters.testsTimeout }}

eng/pipelines/dotnet-sqlclient-ci-project-reference-pipeline.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,12 @@ parameters: # parameters are shown up in ADO UI in a build queue time
8585
type: boolean
8686
default: false
8787

88+
# The timeout, in minutes, for each test job.
89+
- name: testsTimeout
90+
displayName: 'Tests timeout (in minutes)'
91+
type: string
92+
default: 90
93+
8894
extends:
8995
template: dotnet-sqlclient-ci-core.yml@self
9096
parameters:
@@ -98,3 +104,4 @@ extends:
98104
buildType: ${{ parameters.buildType }}
99105
buildConfiguration: ${{ parameters.buildConfiguration }}
100106
enableStressTests: ${{ parameters.enableStressTests }}
107+
testsTimeout: ${{ parameters.testsTimeout }}

0 commit comments

Comments
 (0)