Skip to content

Commit 6695ecd

Browse files
authored
Merge | DbConnectionString.Common (#3256)
* Split DbConnectionStringCommon classes into separate classes (will deal with utils in a bit) * Wire up moved files * Splitting remaining common class, moving "common" class to ConnectionString namespace and renaming to sync class/file name.
1 parent e472d4d commit 6695ecd

22 files changed

+1354
-1239
lines changed

src/Microsoft.Data.SqlClient/netcore/src/Microsoft.Data.SqlClient.csproj

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,12 +50,30 @@
5050
<Compile Include="$(CommonSourceRoot)Microsoft\Data\Common\BitConverterCompatible.cs">
5151
<Link>Microsoft\Data\Common\BitConverterCompatible.cs</Link>
5252
</Compile>
53+
<Compile Include="$(CommonSourceRoot)Microsoft\Data\Common\ConnectionString\AttestationProtocolUtilities.cs">
54+
<Link>Microsoft\Data\Common\ConnectionString\AttestationProtocolUtilities.cs</Link>
55+
</Compile>
56+
<Compile Include="$(CommonSourceRoot)Microsoft\Data\Common\ConnectionString\DbConnectionStringDefaults.cs">
57+
<Link>Microsoft\Data\Common\ConnectionString\DbConnectionStringDefaults.cs</Link>
58+
</Compile>
59+
<Compile Include="$(CommonSourceRoot)Microsoft\Data\Common\ConnectionString\DbConnectionStringKeywords.cs">
60+
<Link>Microsoft\Data\Common\ConnectionString\DbConnectionStringKeywords.cs</Link>
61+
</Compile>
62+
<Compile Include="$(CommonSourceRoot)Microsoft\Data\Common\ConnectionString\DbConnectionStringSynonyms.cs">
63+
<Link>Microsoft\Data\Common\ConnectionString\DbConnectionStringSynonyms.cs</Link>
64+
</Compile>
65+
<Compile Include="$(CommonSourceRoot)Microsoft\Data\Common\ConnectionString\DbConnectionStringUtilities.cs">
66+
<Link>Microsoft\Data\Common\ConnectionString\DbConnectionStringUtilities.cs</Link>
67+
</Compile>
68+
<Compile Include="$(CommonSourceRoot)Microsoft\Data\Common\ConnectionString\IpAddressPreferenceUtilities.cs">
69+
<Link>Microsoft\Data\Common\ConnectionString\IpAddressPreferenceUtilities.cs</Link>
70+
</Compile>
71+
<Compile Include="$(CommonSourceRoot)Microsoft\Data\Common\ConnectionString\PoolBlockingUtilities.cs">
72+
<Link>Microsoft\Data\Common\ConnectionString\PoolBlockingUtilities.cs</Link>
73+
</Compile>
5374
<Compile Include="$(CommonSourceRoot)Microsoft\Data\Common\DbConnectionOptions.Common.cs">
5475
<Link>Microsoft\Data\Common\DbConnectionOptions.Common.cs</Link>
5576
</Compile>
56-
<Compile Include="$(CommonSourceRoot)Microsoft\Data\Common\DbConnectionStringCommon.cs">
57-
<Link>Microsoft\Data\Common\DbConnectionStringCommon.cs</Link>
58-
</Compile>
5977
<Compile Include="$(CommonSourceRoot)Microsoft\Data\Common\MultipartIdentifier.cs">
6078
<Link>Microsoft\Data\Common\MultipartIdentifier.cs</Link>
6179
</Compile>

src/Microsoft.Data.SqlClient/netcore/src/Microsoft/Data/Common/DbConnectionOptions.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
using System;
66
using System.IO;
77
using System.Text;
8+
using Microsoft.Data.Common.ConnectionString;
89

910
namespace Microsoft.Data.Common
1011
{

src/Microsoft.Data.SqlClient/netcore/src/Microsoft/Data/SqlClient/SqlConnection.cs

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -194,19 +194,19 @@ public SqlConnection(string connectionString, SqlCredential credential) : this()
194194
}
195195
else if (UsesActiveDirectoryManagedIdentity(connectionOptions))
196196
{
197-
throw SQL.SettingCredentialWithNonInteractiveArgument(DbConnectionStringBuilderUtil.ActiveDirectoryManagedIdentityString);
197+
throw SQL.SettingCredentialWithNonInteractiveArgument(DbConnectionStringUtilities.ActiveDirectoryManagedIdentityString);
198198
}
199199
else if (UsesActiveDirectoryMSI(connectionOptions))
200200
{
201-
throw SQL.SettingCredentialWithNonInteractiveArgument(DbConnectionStringBuilderUtil.ActiveDirectoryMSIString);
201+
throw SQL.SettingCredentialWithNonInteractiveArgument(DbConnectionStringUtilities.ActiveDirectoryMSIString);
202202
}
203203
else if (UsesActiveDirectoryDefault(connectionOptions))
204204
{
205-
throw SQL.SettingCredentialWithNonInteractiveArgument(DbConnectionStringBuilderUtil.ActiveDirectoryDefaultString);
205+
throw SQL.SettingCredentialWithNonInteractiveArgument(DbConnectionStringUtilities.ActiveDirectoryDefaultString);
206206
}
207207
else if (UsesActiveDirectoryWorkloadIdentity(connectionOptions))
208208
{
209-
throw SQL.SettingCredentialWithNonInteractiveArgument(DbConnectionStringBuilderUtil.ActiveDirectoryWorkloadIdentityString);
209+
throw SQL.SettingCredentialWithNonInteractiveArgument(DbConnectionStringUtilities.ActiveDirectoryWorkloadIdentityString);
210210
}
211211

212212
Credential = credential;
@@ -621,19 +621,19 @@ public override string ConnectionString
621621
}
622622
else if (UsesActiveDirectoryManagedIdentity(connectionOptions))
623623
{
624-
throw SQL.SettingNonInteractiveWithCredential(DbConnectionStringBuilderUtil.ActiveDirectoryManagedIdentityString);
624+
throw SQL.SettingNonInteractiveWithCredential(DbConnectionStringUtilities.ActiveDirectoryManagedIdentityString);
625625
}
626626
else if (UsesActiveDirectoryMSI(connectionOptions))
627627
{
628-
throw SQL.SettingNonInteractiveWithCredential(DbConnectionStringBuilderUtil.ActiveDirectoryMSIString);
628+
throw SQL.SettingNonInteractiveWithCredential(DbConnectionStringUtilities.ActiveDirectoryMSIString);
629629
}
630630
else if (UsesActiveDirectoryDefault(connectionOptions))
631631
{
632-
throw SQL.SettingNonInteractiveWithCredential(DbConnectionStringBuilderUtil.ActiveDirectoryDefaultString);
632+
throw SQL.SettingNonInteractiveWithCredential(DbConnectionStringUtilities.ActiveDirectoryDefaultString);
633633
}
634634
else if (UsesActiveDirectoryWorkloadIdentity(connectionOptions))
635635
{
636-
throw SQL.SettingNonInteractiveWithCredential(DbConnectionStringBuilderUtil.ActiveDirectoryWorkloadIdentityString);
636+
throw SQL.SettingNonInteractiveWithCredential(DbConnectionStringUtilities.ActiveDirectoryWorkloadIdentityString);
637637
}
638638

639639
CheckAndThrowOnInvalidCombinationOfConnectionStringAndSqlCredential(connectionOptions);
@@ -1005,19 +1005,19 @@ public SqlCredential Credential
10051005
}
10061006
else if (UsesActiveDirectoryManagedIdentity(connectionOptions))
10071007
{
1008-
throw SQL.SettingCredentialWithNonInteractiveInvalid(DbConnectionStringBuilderUtil.ActiveDirectoryManagedIdentityString);
1008+
throw SQL.SettingCredentialWithNonInteractiveInvalid(DbConnectionStringUtilities.ActiveDirectoryManagedIdentityString);
10091009
}
10101010
else if (UsesActiveDirectoryMSI(connectionOptions))
10111011
{
1012-
throw SQL.SettingCredentialWithNonInteractiveInvalid(DbConnectionStringBuilderUtil.ActiveDirectoryMSIString);
1012+
throw SQL.SettingCredentialWithNonInteractiveInvalid(DbConnectionStringUtilities.ActiveDirectoryMSIString);
10131013
}
10141014
else if (UsesActiveDirectoryDefault(connectionOptions))
10151015
{
1016-
throw SQL.SettingCredentialWithNonInteractiveInvalid(DbConnectionStringBuilderUtil.ActiveDirectoryDefaultString);
1016+
throw SQL.SettingCredentialWithNonInteractiveInvalid(DbConnectionStringUtilities.ActiveDirectoryDefaultString);
10171017
}
10181018
else if (UsesActiveDirectoryWorkloadIdentity(connectionOptions))
10191019
{
1020-
throw SQL.SettingCredentialWithNonInteractiveInvalid(DbConnectionStringBuilderUtil.ActiveDirectoryWorkloadIdentityString);
1020+
throw SQL.SettingCredentialWithNonInteractiveInvalid(DbConnectionStringUtilities.ActiveDirectoryWorkloadIdentityString);
10211021
}
10221022

10231023
CheckAndThrowOnInvalidCombinationOfConnectionStringAndSqlCredential(connectionOptions);

src/Microsoft.Data.SqlClient/netfx/src/Microsoft.Data.SqlClient.csproj

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -234,8 +234,26 @@
234234
<Compile Include="$(CommonSourceRoot)Microsoft\Data\Common\BitConverterCompatible.cs">
235235
<Link>Microsoft\Data\Common\BitConverterCompatible.cs</Link>
236236
</Compile>
237-
<Compile Include="$(CommonSourceRoot)Microsoft\Data\Common\DbConnectionStringCommon.cs">
238-
<Link>Microsoft\Data\Common\DbConnectionStringCommon.cs</Link>
237+
<Compile Include="$(CommonSourceRoot)Microsoft\Data\Common\ConnectionString\AttestationProtocolUtilities.cs">
238+
<Link>Microsoft\Data\Common\ConnectionString\AttestationProtocolUtilities.cs</Link>
239+
</Compile>
240+
<Compile Include="$(CommonSourceRoot)Microsoft\Data\Common\ConnectionString\DbConnectionStringDefaults.cs">
241+
<Link>Microsoft\Data\Common\ConnectionString\DbConnectionStringDefaults.cs</Link>
242+
</Compile>
243+
<Compile Include="$(CommonSourceRoot)Microsoft\Data\Common\ConnectionString\DbConnectionStringKeywords.cs">
244+
<Link>Microsoft\Data\Common\ConnectionString\DbConnectionStringKeywords.cs</Link>
245+
</Compile>
246+
<Compile Include="$(CommonSourceRoot)Microsoft\Data\Common\ConnectionString\DbConnectionStringSynonyms.cs">
247+
<Link>Microsoft\Data\Common\ConnectionString\DbConnectionStringSynonyms.cs</Link>
248+
</Compile>
249+
<Compile Include="$(CommonSourceRoot)Microsoft\Data\Common\ConnectionString\DbConnectionStringUtilities.cs">
250+
<Link>Microsoft\Data\Common\ConnectionString\DbConnectionStringUtilities.cs</Link>
251+
</Compile>
252+
<Compile Include="$(CommonSourceRoot)Microsoft\Data\Common\ConnectionString\IpAddressPreferenceUtilities.cs">
253+
<Link>Microsoft\Data\Common\ConnectionString\IpAddressPreferenceUtilities.cs</Link>
254+
</Compile>
255+
<Compile Include="$(CommonSourceRoot)Microsoft\Data\Common\ConnectionString\PoolBlockingUtilities.cs">
256+
<Link>Microsoft\Data\Common\ConnectionString\PoolBlockingUtilities.cs</Link>
239257
</Compile>
240258
<Compile Include="$(CommonSourceRoot)Microsoft\Data\Common\DbConnectionOptions.Common.cs">
241259
<Link>Microsoft\Data\Common\DbConnectionOptions.Common.cs</Link>

src/Microsoft.Data.SqlClient/netfx/src/Microsoft/Data/Common/DBConnectionString.cs

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,24 @@
22
// The .NET Foundation licenses this file to you under the MIT license.
33
// See the LICENSE file in the project root for more information.
44

5+
using System;
6+
using System.Collections.Generic;
7+
using System.Data;
8+
using System.Diagnostics;
9+
using System.Text;
10+
using Microsoft.Data.Common.ConnectionString;
11+
using Microsoft.Data.SqlClient;
12+
513
namespace Microsoft.Data.Common
614
{
7-
8-
using System;
9-
using System.Collections.Generic;
10-
using System.Data;
11-
using System.Diagnostics;
12-
using System.Text;
13-
using Microsoft.Data.SqlClient;
14-
1515
[Serializable] // MDAC 83147
1616
internal sealed class DBConnectionString
1717
{
1818
// instances of this class are intended to be immutable, i.e readonly
1919
// used by permission classes so it is much easier to verify correctness
2020
// when not worried about the class being modified during execution
2121

22+
// @TODO: Remove in favor of DbConnectionStringKeywords
2223
private static class KEY
2324
{
2425
internal const string Password = DbConnectionStringKeywords.Password;

src/Microsoft.Data.SqlClient/netfx/src/Microsoft/Data/Common/DbConnectionOptions.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
using System.Runtime.Versioning;
77
using System.Security;
88
using System.Text;
9+
using Microsoft.Data.Common.ConnectionString;
910

1011
namespace Microsoft.Data.Common
1112
{

src/Microsoft.Data.SqlClient/netfx/src/Microsoft/Data/SqlClient/SqlConnection.cs

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -388,22 +388,22 @@ public SqlConnection(string connectionString, SqlCredential credential) : this()
388388

389389
if (UsesActiveDirectoryManagedIdentity(connectionOptions))
390390
{
391-
throw SQL.SettingCredentialWithNonInteractiveArgument(DbConnectionStringBuilderUtil.ActiveDirectoryManagedIdentityString);
391+
throw SQL.SettingCredentialWithNonInteractiveArgument(DbConnectionStringUtilities.ActiveDirectoryManagedIdentityString);
392392
}
393393

394394
if (UsesActiveDirectoryMSI(connectionOptions))
395395
{
396-
throw SQL.SettingCredentialWithNonInteractiveArgument(DbConnectionStringBuilderUtil.ActiveDirectoryMSIString);
396+
throw SQL.SettingCredentialWithNonInteractiveArgument(DbConnectionStringUtilities.ActiveDirectoryMSIString);
397397
}
398398

399399
if (UsesActiveDirectoryDefault(connectionOptions))
400400
{
401-
throw SQL.SettingCredentialWithNonInteractiveArgument(DbConnectionStringBuilderUtil.ActiveDirectoryDefaultString);
401+
throw SQL.SettingCredentialWithNonInteractiveArgument(DbConnectionStringUtilities.ActiveDirectoryDefaultString);
402402
}
403403

404404
if (UsesActiveDirectoryWorkloadIdentity(connectionOptions))
405405
{
406-
throw SQL.SettingCredentialWithNonInteractiveArgument(DbConnectionStringBuilderUtil.ActiveDirectoryWorkloadIdentityString);
406+
throw SQL.SettingCredentialWithNonInteractiveArgument(DbConnectionStringUtilities.ActiveDirectoryWorkloadIdentityString);
407407
}
408408

409409
Credential = credential;
@@ -823,19 +823,19 @@ override public string ConnectionString
823823
}
824824
else if (UsesActiveDirectoryManagedIdentity(connectionOptions))
825825
{
826-
throw SQL.SettingNonInteractiveWithCredential(DbConnectionStringBuilderUtil.ActiveDirectoryManagedIdentityString);
826+
throw SQL.SettingNonInteractiveWithCredential(DbConnectionStringUtilities.ActiveDirectoryManagedIdentityString);
827827
}
828828
else if (UsesActiveDirectoryMSI(connectionOptions))
829829
{
830-
throw SQL.SettingNonInteractiveWithCredential(DbConnectionStringBuilderUtil.ActiveDirectoryMSIString);
830+
throw SQL.SettingNonInteractiveWithCredential(DbConnectionStringUtilities.ActiveDirectoryMSIString);
831831
}
832832
else if (UsesActiveDirectoryDefault(connectionOptions))
833833
{
834-
throw SQL.SettingNonInteractiveWithCredential(DbConnectionStringBuilderUtil.ActiveDirectoryDefaultString);
834+
throw SQL.SettingNonInteractiveWithCredential(DbConnectionStringUtilities.ActiveDirectoryDefaultString);
835835
}
836836
else if (UsesActiveDirectoryWorkloadIdentity(connectionOptions))
837837
{
838-
throw SQL.SettingNonInteractiveWithCredential(DbConnectionStringBuilderUtil.ActiveDirectoryWorkloadIdentityString);
838+
throw SQL.SettingNonInteractiveWithCredential(DbConnectionStringUtilities.ActiveDirectoryWorkloadIdentityString);
839839
}
840840

841841
CheckAndThrowOnInvalidCombinationOfConnectionStringAndSqlCredential(connectionOptions);
@@ -1176,19 +1176,19 @@ public SqlCredential Credential
11761176
}
11771177
else if (UsesActiveDirectoryManagedIdentity(connectionOptions))
11781178
{
1179-
throw SQL.SettingCredentialWithNonInteractiveInvalid(DbConnectionStringBuilderUtil.ActiveDirectoryManagedIdentityString);
1179+
throw SQL.SettingCredentialWithNonInteractiveInvalid(DbConnectionStringUtilities.ActiveDirectoryManagedIdentityString);
11801180
}
11811181
else if (UsesActiveDirectoryMSI(connectionOptions))
11821182
{
1183-
throw SQL.SettingCredentialWithNonInteractiveInvalid(DbConnectionStringBuilderUtil.ActiveDirectoryMSIString);
1183+
throw SQL.SettingCredentialWithNonInteractiveInvalid(DbConnectionStringUtilities.ActiveDirectoryMSIString);
11841184
}
11851185
else if (UsesActiveDirectoryDefault(connectionOptions))
11861186
{
1187-
throw SQL.SettingCredentialWithNonInteractiveInvalid(DbConnectionStringBuilderUtil.ActiveDirectoryDefaultString);
1187+
throw SQL.SettingCredentialWithNonInteractiveInvalid(DbConnectionStringUtilities.ActiveDirectoryDefaultString);
11881188
}
11891189
else if (UsesActiveDirectoryWorkloadIdentity(connectionOptions))
11901190
{
1191-
throw SQL.SettingCredentialWithNonInteractiveInvalid(DbConnectionStringBuilderUtil.ActiveDirectoryWorkloadIdentityString);
1191+
throw SQL.SettingCredentialWithNonInteractiveInvalid(DbConnectionStringUtilities.ActiveDirectoryWorkloadIdentityString);
11921192
}
11931193

11941194
CheckAndThrowOnInvalidCombinationOfConnectionStringAndSqlCredential(connectionOptions);

src/Microsoft.Data.SqlClient/src/Microsoft/Data/Common/AdapterUtil.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
using System.Threading;
1919
using System.Threading.Tasks;
2020
using System.Transactions;
21+
using Microsoft.Data.Common.ConnectionString;
2122
using Microsoft.Data.SqlClient;
2223
using IsolationLevel = System.Data.IsolationLevel;
2324
using Microsoft.Identity.Client;
@@ -47,6 +48,7 @@ internal static partial class ADP
4748
{
4849
// NOTE: Initializing a Task in SQL CLR requires the "UNSAFE" permission set (http://msdn.microsoft.com/en-us/library/ms172338.aspx)
4950
// Therefore we are lazily initializing these Tasks to avoid forcing customers to use the "UNSAFE" set when they are actually using no Async features
51+
// @TODO: These are not necessary because the TPL has optimized commonly used task return values like true and false.
5052
private static Task<bool> s_trueTask;
5153
internal static Task<bool> TrueTask => s_trueTask ??= Task.FromResult(true);
5254

0 commit comments

Comments
 (0)