From 5153c655d9eb37550b62a1ce271bc3681150ddaa Mon Sep 17 00:00:00 2001 From: Lawrence LCI Date: Wed, 29 Sep 2021 12:07:25 -0700 Subject: [PATCH] Move the netcore version of SqlReferenceCollection.cs into share src and updated references in the csprojs and fix compiler error removing internal method with no references --- .../src/Microsoft.Data.SqlClient.csproj | 4 +- .../netfx/src/Microsoft.Data.SqlClient.csproj | 6 +- .../Data/SqlClient/SqlInternalConnection.cs | 11 --- .../Data/SqlClient/SqlReferenceCollection.cs | 84 ------------------- .../Data/SqlClient/SqlReferenceCollection.cs | 0 5 files changed, 7 insertions(+), 98 deletions(-) delete mode 100644 src/Microsoft.Data.SqlClient/netfx/src/Microsoft/Data/SqlClient/SqlReferenceCollection.cs rename src/Microsoft.Data.SqlClient/{netcore => }/src/Microsoft/Data/SqlClient/SqlReferenceCollection.cs (100%) diff --git a/src/Microsoft.Data.SqlClient/netcore/src/Microsoft.Data.SqlClient.csproj b/src/Microsoft.Data.SqlClient/netcore/src/Microsoft.Data.SqlClient.csproj index d918134b15..9f400c1961 100644 --- a/src/Microsoft.Data.SqlClient/netcore/src/Microsoft.Data.SqlClient.csproj +++ b/src/Microsoft.Data.SqlClient/netcore/src/Microsoft.Data.SqlClient.csproj @@ -235,6 +235,9 @@ Microsoft\Data\SqlClient\SqlParameterCollection.cs + + Microsoft\Data\SqlClient\SqlReferenceCollection.cs + Microsoft\Data\SqlClient\SqlRowUpdatedEvent.cs @@ -512,7 +515,6 @@ - diff --git a/src/Microsoft.Data.SqlClient/netfx/src/Microsoft.Data.SqlClient.csproj b/src/Microsoft.Data.SqlClient/netfx/src/Microsoft.Data.SqlClient.csproj index f54e7630c6..b2a067d2ff 100644 --- a/src/Microsoft.Data.SqlClient/netfx/src/Microsoft.Data.SqlClient.csproj +++ b/src/Microsoft.Data.SqlClient/netfx/src/Microsoft.Data.SqlClient.csproj @@ -309,6 +309,9 @@ Microsoft\Data\SqlClient\SqlParameterCollection.cs + + Microsoft\Data\SqlClient\SqlReferenceCollection.cs + Microsoft\Data\SqlClient\SqlRowUpdatedEvent.cs @@ -430,7 +433,7 @@ - + @@ -482,7 +485,6 @@ - diff --git a/src/Microsoft.Data.SqlClient/netfx/src/Microsoft/Data/SqlClient/SqlInternalConnection.cs b/src/Microsoft.Data.SqlClient/netfx/src/Microsoft/Data/SqlClient/SqlInternalConnection.cs index bb719f3f20..be0456685e 100644 --- a/src/Microsoft.Data.SqlClient/netfx/src/Microsoft/Data/SqlClient/SqlInternalConnection.cs +++ b/src/Microsoft.Data.SqlClient/netfx/src/Microsoft/Data/SqlClient/SqlInternalConnection.cs @@ -708,17 +708,6 @@ internal SqlDataReader FindLiveReader(SqlCommand command) return reader; } - internal SqlCommand FindLiveCommand(TdsParserStateObject stateObj) - { - SqlCommand command = null; - SqlReferenceCollection referenceCollection = (SqlReferenceCollection)ReferenceCollection; - if (null != referenceCollection) - { - command = referenceCollection.FindLiveCommand(stateObj); - } - return command; - } - static internal TdsParser GetBestEffortCleanupTarget(SqlConnection connection) { if (null != connection) diff --git a/src/Microsoft.Data.SqlClient/netfx/src/Microsoft/Data/SqlClient/SqlReferenceCollection.cs b/src/Microsoft.Data.SqlClient/netfx/src/Microsoft/Data/SqlClient/SqlReferenceCollection.cs deleted file mode 100644 index 552ba0aa3e..0000000000 --- a/src/Microsoft.Data.SqlClient/netfx/src/Microsoft/Data/SqlClient/SqlReferenceCollection.cs +++ /dev/null @@ -1,84 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using System.Diagnostics; -using Microsoft.Data.ProviderBase; - -namespace Microsoft.Data.SqlClient -{ - sealed internal class SqlReferenceCollection : DbReferenceCollection - { - internal const int DataReaderTag = 1; - internal const int CommandTag = 2; - internal const int BulkCopyTag = 3; - - override public void Add(object value, int tag) - { - Debug.Assert(DataReaderTag == tag || CommandTag == tag || BulkCopyTag == tag, "unexpected tag?"); - Debug.Assert(DataReaderTag != tag || value is SqlDataReader, "tag doesn't match object type: SqlDataReader"); - Debug.Assert(CommandTag != tag || value is SqlCommand, "tag doesn't match object type: SqlCommand"); - Debug.Assert(BulkCopyTag != tag || value is SqlBulkCopy, "tag doesn't match object type: SqlBulkCopy"); - - base.AddItem(value, tag); - } - - internal void Deactivate() - { - base.Notify(0); - } - - internal SqlDataReader FindLiveReader(SqlCommand command) - { - if (command == null) - { - // if null == command, will find first live datareader - return FindItem(DataReaderTag, (dataReader) => (!dataReader.IsClosed)); - } - else - { - // else will find live datareader assocated with the command - return FindItem(DataReaderTag, (dataReader) => ((!dataReader.IsClosed) && (command == dataReader.Command))); - } - } - - // Finds a SqlCommand associated with the given StateObject - internal SqlCommand FindLiveCommand(TdsParserStateObject stateObj) - { - return FindItem(CommandTag, (command) => (command.StateObject == stateObj)); - } - - override protected void NotifyItem(int message, int tag, object value) - { - Debug.Assert(0 == message, "unexpected message?"); - Debug.Assert(DataReaderTag == tag || CommandTag == tag || BulkCopyTag == tag, "unexpected tag?"); - - if (tag == DataReaderTag) - { - Debug.Assert(value is SqlDataReader, "Incorrect object type"); - var rdr = (SqlDataReader)value; - if (!rdr.IsClosed) - { - rdr.CloseReaderFromConnection(); - } - } - else if (tag == CommandTag) - { - Debug.Assert(value is SqlCommand, "Incorrect object type"); - ((SqlCommand)value).OnConnectionClosed(); - } - else if (tag == BulkCopyTag) - { - Debug.Assert(value is SqlBulkCopy, "Incorrect object type"); - ((SqlBulkCopy)value).OnConnectionClosed(); - } - } - - override public void Remove(object value) - { - Debug.Assert(value is SqlDataReader || value is SqlCommand || value is SqlBulkCopy, "SqlReferenceCollection.Remove expected a SqlDataReader or SqlCommand or SqlBulkCopy"); - - base.RemoveItem(value); - } - } -} diff --git a/src/Microsoft.Data.SqlClient/netcore/src/Microsoft/Data/SqlClient/SqlReferenceCollection.cs b/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/SqlReferenceCollection.cs similarity index 100% rename from src/Microsoft.Data.SqlClient/netcore/src/Microsoft/Data/SqlClient/SqlReferenceCollection.cs rename to src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/SqlReferenceCollection.cs