Skip to content

Commit e357617

Browse files
committed
Remove DbConnectionFactory
1 parent 2027c5d commit e357617

File tree

4 files changed

+55
-115
lines changed

4 files changed

+55
-115
lines changed

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

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -99,9 +99,6 @@
9999
<Compile Include="$(CommonSourceRoot)\Microsoft\Data\ProviderBase\DbConnectionClosed.cs">
100100
<Link>Microsoft\Data\ProviderBase\DbConnectionClosed.cs</Link>
101101
</Compile>
102-
<Compile Include="$(CommonSourceRoot)\Microsoft\Data\ProviderBase\DbConnectionFactory.cs">
103-
<Link>Microsoft\Data\ProviderBase\DbConnectionFactory.cs</Link>
104-
</Compile>
105102
<Compile Include="$(CommonSourceRoot)Microsoft\Data\SqlClient\ConnectionPool\ChannelDbConnectionPool.cs">
106103
<Link>Microsoft\Data\SqlClient\ConnectionPool\ChannelDbConnectionPool.cs</Link>
107104
</Compile>

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

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -285,9 +285,6 @@
285285
<Compile Include="$(CommonSourceRoot)\Microsoft\Data\ProviderBase\DbConnectionClosed.cs">
286286
<Link>Microsoft\Data\ProviderBase\DbConnectionClosed.cs</Link>
287287
</Compile>
288-
<Compile Include="$(CommonSourceRoot)\Microsoft\Data\ProviderBase\DbConnectionFactory.cs">
289-
<Link>Microsoft\Data\ProviderBase\DbConnectionFactory.cs</Link>
290-
</Compile>
291288
<Compile Include="$(CommonSourceRoot)Microsoft\Data\ProviderBase\DbConnectionInternal.cs">
292289
<Link>Microsoft\Data\ProviderBase\DbConnectionInternal.cs</Link>
293290
</Compile>

src/Microsoft.Data.SqlClient/src/Microsoft/Data/ProviderBase/DbConnectionFactory.cs

Lines changed: 0 additions & 41 deletions
This file was deleted.

src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/SqlConnectionFactory.cs

Lines changed: 55 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222

2323
namespace Microsoft.Data.SqlClient
2424
{
25-
internal sealed class SqlConnectionFactory : DbConnectionFactory
25+
internal sealed class SqlConnectionFactory
2626
{
2727
#region Member Variables
2828

@@ -180,13 +180,7 @@ internal DbConnectionPoolGroup GetConnectionPoolGroup(
180180
// our collection of pool entries, then we need to create a
181181
// new pool entry and add it to our collection.
182182

183-
DbConnectionOptions connectionOptions = CreateConnectionOptions(
184-
key.ConnectionString,
185-
userConnectionOptions);
186-
if (connectionOptions is null)
187-
{
188-
throw ADP.InternalConnectionError(ADP.ConnectionError.ConnectionOptionsMissing);
189-
}
183+
SqlConnectionString connectionOptions = new SqlConnectionString(key.ConnectionString);
190184

191185
if (userConnectionOptions is null)
192186
{
@@ -474,58 +468,6 @@ internal bool TryGetConnection(
474468

475469
#endregion
476470

477-
protected override DbConnectionOptions CreateConnectionOptions(string connectionString, DbConnectionOptions previous)
478-
{
479-
Debug.Assert(!string.IsNullOrEmpty(connectionString), "empty connectionString");
480-
SqlConnectionString result = new SqlConnectionString(connectionString);
481-
return result;
482-
}
483-
484-
protected override DbConnectionPoolGroupOptions CreateConnectionPoolGroupOptions(DbConnectionOptions connectionOptions)
485-
{
486-
SqlConnectionString opt = (SqlConnectionString)connectionOptions;
487-
488-
DbConnectionPoolGroupOptions poolingOptions = null;
489-
490-
if (opt.Pooling)
491-
{ // never pool context connections.
492-
int connectionTimeout = opt.ConnectTimeout;
493-
494-
if (connectionTimeout > 0 && connectionTimeout < int.MaxValue / 1000)
495-
{
496-
connectionTimeout *= 1000;
497-
}
498-
else if (connectionTimeout >= int.MaxValue / 1000)
499-
{
500-
connectionTimeout = int.MaxValue;
501-
}
502-
503-
if (opt.Authentication is SqlAuthenticationMethod.ActiveDirectoryInteractive
504-
or SqlAuthenticationMethod.ActiveDirectoryDeviceCodeFlow)
505-
{
506-
// interactive/device code flow mode will always have pool's CreateTimeout = 10 x ConnectTimeout.
507-
if (connectionTimeout >= Int32.MaxValue / 10)
508-
{
509-
connectionTimeout = Int32.MaxValue;
510-
}
511-
else
512-
{
513-
connectionTimeout *= 10;
514-
}
515-
SqlClientEventSource.Log.TryTraceEvent("SqlConnectionFactory.CreateConnectionPoolGroupOptions | Set connection pool CreateTimeout '{0}' when Authentication mode '{1}' is used.", connectionTimeout, opt.Authentication);
516-
}
517-
518-
poolingOptions = new DbConnectionPoolGroupOptions(
519-
opt.IntegratedSecurity || opt.Authentication is SqlAuthenticationMethod.ActiveDirectoryIntegrated,
520-
opt.MinPoolSize,
521-
opt.MaxPoolSize,
522-
connectionTimeout,
523-
opt.LoadBalanceTimeout,
524-
opt.Enlist);
525-
}
526-
return poolingOptions;
527-
}
528-
529471
internal DbConnectionPoolGroupProviderInfo CreateConnectionPoolGroupProviderInfo(
530472
DbConnectionOptions connectionOptions) =>
531473
new SqlConnectionPoolGroupProviderInfo((SqlConnectionString)connectionOptions);
@@ -556,7 +498,7 @@ internal SqlConnectionString FindSqlConnectionOptions(SqlConnectionPoolKey key)
556498
}
557499

558500
// @TODO: All these methods seem redundant ... shouldn't we always have a SqlConnection?
559-
internal override DbConnectionPoolGroup GetConnectionPoolGroup(DbConnection connection)
501+
internal DbConnectionPoolGroup GetConnectionPoolGroup(DbConnection connection)
560502
{
561503
SqlConnection c = (connection as SqlConnection);
562504
if (c != null)
@@ -566,7 +508,7 @@ internal override DbConnectionPoolGroup GetConnectionPoolGroup(DbConnection conn
566508
return null;
567509
}
568510

569-
internal override DbConnectionInternal GetInnerConnection(DbConnection connection)
511+
internal DbConnectionInternal GetInnerConnection(DbConnection connection)
570512
{
571513
SqlConnection c = (connection as SqlConnection);
572514
if (c != null)
@@ -576,7 +518,7 @@ internal override DbConnectionInternal GetInnerConnection(DbConnection connectio
576518
return null;
577519
}
578520

579-
protected override int GetObjectId(DbConnection connection)
521+
internal int GetObjectId(DbConnection connection)
580522
{
581523
SqlConnection c = (connection as SqlConnection);
582524
if (c != null)
@@ -586,7 +528,7 @@ protected override int GetObjectId(DbConnection connection)
586528
return 0;
587529
}
588530

589-
internal override void PermissionDemand(DbConnection outerConnection)
531+
internal void PermissionDemand(DbConnection outerConnection)
590532
{
591533
SqlConnection c = (outerConnection as SqlConnection);
592534
if (c != null)
@@ -595,7 +537,7 @@ internal override void PermissionDemand(DbConnection outerConnection)
595537
}
596538
}
597539

598-
internal override void SetConnectionPoolGroup(DbConnection outerConnection, DbConnectionPoolGroup poolGroup)
540+
internal void SetConnectionPoolGroup(DbConnection outerConnection, DbConnectionPoolGroup poolGroup)
599541
{
600542
SqlConnection c = (outerConnection as SqlConnection);
601543
if (c != null)
@@ -604,7 +546,7 @@ internal override void SetConnectionPoolGroup(DbConnection outerConnection, DbCo
604546
}
605547
}
606548

607-
internal override void SetInnerConnectionEvent(DbConnection owningObject, DbConnectionInternal to)
549+
internal void SetInnerConnectionEvent(DbConnection owningObject, DbConnectionInternal to)
608550
{
609551
SqlConnection c = (owningObject as SqlConnection);
610552
if (c != null)
@@ -613,7 +555,7 @@ internal override void SetInnerConnectionEvent(DbConnection owningObject, DbConn
613555
}
614556
}
615557

616-
internal override bool SetInnerConnectionFrom(DbConnection owningObject, DbConnectionInternal to, DbConnectionInternal from)
558+
internal bool SetInnerConnectionFrom(DbConnection owningObject, DbConnectionInternal to, DbConnectionInternal from)
617559
{
618560
SqlConnection c = (owningObject as SqlConnection);
619561
if (c != null)
@@ -623,7 +565,7 @@ internal override bool SetInnerConnectionFrom(DbConnection owningObject, DbConne
623565
return false;
624566
}
625567

626-
internal override void SetInnerConnectionTo(DbConnection owningObject, DbConnectionInternal to)
568+
internal void SetInnerConnectionTo(DbConnection owningObject, DbConnectionInternal to)
627569
{
628570
SqlConnection c = (owningObject as SqlConnection);
629571
if (c != null)
@@ -757,6 +699,51 @@ private static SqlInternalConnectionTds CreateConnection(
757699
key.AccessTokenCallback);
758700
}
759701

702+
private static DbConnectionPoolGroupOptions CreateConnectionPoolGroupOptions(SqlConnectionString connectionOptions)
703+
{
704+
SqlConnectionString opt = (SqlConnectionString)connectionOptions;
705+
706+
DbConnectionPoolGroupOptions poolingOptions = null;
707+
708+
if (opt.Pooling)
709+
{ // never pool context connections.
710+
int connectionTimeout = opt.ConnectTimeout;
711+
712+
if (connectionTimeout > 0 && connectionTimeout < int.MaxValue / 1000)
713+
{
714+
connectionTimeout *= 1000;
715+
}
716+
else if (connectionTimeout >= int.MaxValue / 1000)
717+
{
718+
connectionTimeout = int.MaxValue;
719+
}
720+
721+
if (opt.Authentication is SqlAuthenticationMethod.ActiveDirectoryInteractive
722+
or SqlAuthenticationMethod.ActiveDirectoryDeviceCodeFlow)
723+
{
724+
// interactive/device code flow mode will always have pool's CreateTimeout = 10 x ConnectTimeout.
725+
if (connectionTimeout >= Int32.MaxValue / 10)
726+
{
727+
connectionTimeout = Int32.MaxValue;
728+
}
729+
else
730+
{
731+
connectionTimeout *= 10;
732+
}
733+
SqlClientEventSource.Log.TryTraceEvent("SqlConnectionFactory.CreateConnectionPoolGroupOptions | Set connection pool CreateTimeout '{0}' when Authentication mode '{1}' is used.", connectionTimeout, opt.Authentication);
734+
}
735+
736+
poolingOptions = new DbConnectionPoolGroupOptions(
737+
opt.IntegratedSecurity || opt.Authentication is SqlAuthenticationMethod.ActiveDirectoryIntegrated,
738+
opt.MinPoolSize,
739+
opt.MaxPoolSize,
740+
connectionTimeout,
741+
opt.LoadBalanceTimeout,
742+
opt.Enlist);
743+
}
744+
return poolingOptions;
745+
}
746+
760747
private static DbMetaDataFactory CreateMetaDataFactory(
761748
DbConnectionInternal internalConnection,
762749
out bool cacheMetaDataFactory)

0 commit comments

Comments
 (0)