From bc4edc6f5f0dd0e1e3ac0894e7f2de43f8114731 Mon Sep 17 00:00:00 2001 From: Lawrence LCI <31262254+lcheunglci@users.noreply.github.com> Date: Thu, 14 Oct 2021 23:32:26 -0700 Subject: [PATCH] Move into Shared for SqlBulkCopyColumnMappingCollection.cs (#1285) --- .../src/Microsoft.Data.SqlClient.csproj | 4 +- .../netfx/src/Microsoft.Data.SqlClient.csproj | 4 +- .../SqlBulkCopyColumnMappingCollection.cs | 203 ------------------ .../SqlBulkCopyColumnMappingCollection.cs | 41 ++-- 4 files changed, 25 insertions(+), 227 deletions(-) delete mode 100644 src/Microsoft.Data.SqlClient/netfx/src/Microsoft/Data/SqlClient/SqlBulkCopyColumnMappingCollection.cs rename src/Microsoft.Data.SqlClient/{netcore => }/src/Microsoft/Data/SqlClient/SqlBulkCopyColumnMappingCollection.cs (56%) 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 af4efafd37..f53521aee0 100644 --- a/src/Microsoft.Data.SqlClient/netcore/src/Microsoft.Data.SqlClient.csproj +++ b/src/Microsoft.Data.SqlClient/netcore/src/Microsoft.Data.SqlClient.csproj @@ -205,6 +205,9 @@ Microsoft\Data\SqlClient\SqlBulkCopyColumnMapping.cs + + Microsoft\Data\SqlClient\SqlBulkCopyColumnMappingCollection.cs + Microsoft\Data\SqlClient\SqlBulkCopyOptions.cs @@ -533,7 +536,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 d0364fbb47..766366d3a3 100644 --- a/src/Microsoft.Data.SqlClient/netfx/src/Microsoft.Data.SqlClient.csproj +++ b/src/Microsoft.Data.SqlClient/netfx/src/Microsoft.Data.SqlClient.csproj @@ -291,6 +291,9 @@ Microsoft\Data\SqlClient\SqlBulkCopyColumnMapping.cs + + Microsoft\Data\SqlClient\SqlBulkCopyColumnMappingCollection.cs + Microsoft\Data\SqlClient\SqlBulkCopyOptions.cs @@ -514,7 +517,6 @@ - diff --git a/src/Microsoft.Data.SqlClient/netfx/src/Microsoft/Data/SqlClient/SqlBulkCopyColumnMappingCollection.cs b/src/Microsoft.Data.SqlClient/netfx/src/Microsoft/Data/SqlClient/SqlBulkCopyColumnMappingCollection.cs deleted file mode 100644 index 526e0a7650..0000000000 --- a/src/Microsoft.Data.SqlClient/netfx/src/Microsoft/Data/SqlClient/SqlBulkCopyColumnMappingCollection.cs +++ /dev/null @@ -1,203 +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.Collections; -using System.Diagnostics; -using Microsoft.Data.Common; - -namespace Microsoft.Data.SqlClient -{ - /// - public sealed class SqlBulkCopyColumnMappingCollection : CollectionBase - { - - private enum MappingSchema - { - Undefined = 0, - NamesNames = 1, - NemesOrdinals = 2, - OrdinalsNames = 3, - OrdinalsOrdinals = 4, - } - - private bool _readOnly; - private MappingSchema _mappingSchema = MappingSchema.Undefined; - - internal SqlBulkCopyColumnMappingCollection() - { - } - - /// - public SqlBulkCopyColumnMapping this[int index] - { - get - { - return (SqlBulkCopyColumnMapping)this.List[index]; - } - } - - internal bool ReadOnly - { - get - { - return _readOnly; - } - set - { - _readOnly = value; - } - } - - /// - public SqlBulkCopyColumnMapping Add(SqlBulkCopyColumnMapping bulkCopyColumnMapping) - { - AssertWriteAccess(); - Debug.Assert(ADP.IsEmpty(bulkCopyColumnMapping.SourceColumn) || bulkCopyColumnMapping._internalSourceColumnOrdinal == -1, "BulkLoadAmbiguousSourceColumn"); - if (((ADP.IsEmpty(bulkCopyColumnMapping.SourceColumn)) && (bulkCopyColumnMapping.SourceOrdinal == -1)) - || ((ADP.IsEmpty(bulkCopyColumnMapping.DestinationColumn)) && (bulkCopyColumnMapping.DestinationOrdinal == -1))) - { - throw SQL.BulkLoadNonMatchingColumnMapping(); - } - InnerList.Add(bulkCopyColumnMapping); - return bulkCopyColumnMapping; - } - - /// - public SqlBulkCopyColumnMapping Add(string sourceColumn, string destinationColumn) - { - AssertWriteAccess(); - SqlBulkCopyColumnMapping column = new SqlBulkCopyColumnMapping(sourceColumn, destinationColumn); - return Add(column); - } - - /// - public SqlBulkCopyColumnMapping Add(int sourceColumnIndex, string destinationColumn) - { - AssertWriteAccess(); - SqlBulkCopyColumnMapping column = new SqlBulkCopyColumnMapping(sourceColumnIndex, destinationColumn); - return Add(column); - } - - /// - public SqlBulkCopyColumnMapping Add(string sourceColumn, int destinationColumnIndex) - { - AssertWriteAccess(); - SqlBulkCopyColumnMapping column = new SqlBulkCopyColumnMapping(sourceColumn, destinationColumnIndex); - return Add(column); - } - - /// - public SqlBulkCopyColumnMapping Add(int sourceColumnIndex, int destinationColumnIndex) - { - AssertWriteAccess(); - SqlBulkCopyColumnMapping column = new SqlBulkCopyColumnMapping(sourceColumnIndex, destinationColumnIndex); - return Add(column); - } - - private void AssertWriteAccess() - { - if (ReadOnly) - { - throw SQL.BulkLoadMappingInaccessible(); - } - } - - /// - new public void Clear() - { - AssertWriteAccess(); - base.Clear(); - } - - /// - public bool Contains(SqlBulkCopyColumnMapping value) - { - return (-1 != InnerList.IndexOf(value)); - } - - /// - public void CopyTo(SqlBulkCopyColumnMapping[] array, int index) - { - InnerList.CopyTo(array, index); - } - - internal void CreateDefaultMapping(int columnCount) - { - for (int i = 0; i < columnCount; i++) - { - InnerList.Add(new SqlBulkCopyColumnMapping(i, i)); - } - } - - /// - public int IndexOf(SqlBulkCopyColumnMapping value) - { - return InnerList.IndexOf(value); - } - - /// - public void Insert(int index, SqlBulkCopyColumnMapping value) - { - AssertWriteAccess(); - InnerList.Insert(index, value); - } - - /// - public void Remove(SqlBulkCopyColumnMapping value) - { - AssertWriteAccess(); - InnerList.Remove(value); - } - - /// - new public void RemoveAt(int index) - { - AssertWriteAccess(); - base.RemoveAt(index); - } - - internal void ValidateCollection() - { - MappingSchema mappingSchema; - foreach (SqlBulkCopyColumnMapping a in this) - { - if (a.SourceOrdinal != -1) - { - if (a.DestinationOrdinal != -1) - { - mappingSchema = MappingSchema.OrdinalsOrdinals; - } - else - { - mappingSchema = MappingSchema.OrdinalsNames; - } - } - else - { - if (a.DestinationOrdinal != -1) - { - mappingSchema = MappingSchema.NemesOrdinals; - } - else - { - mappingSchema = MappingSchema.NamesNames; - } - } - - if (_mappingSchema == MappingSchema.Undefined) - { - _mappingSchema = mappingSchema; - } - else - { - if (_mappingSchema != mappingSchema) - { - throw SQL.BulkLoadMappingsNamesOrOrdinalsOnly(); - } - } - } - } - } -} - diff --git a/src/Microsoft.Data.SqlClient/netcore/src/Microsoft/Data/SqlClient/SqlBulkCopyColumnMappingCollection.cs b/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/SqlBulkCopyColumnMappingCollection.cs similarity index 56% rename from src/Microsoft.Data.SqlClient/netcore/src/Microsoft/Data/SqlClient/SqlBulkCopyColumnMappingCollection.cs rename to src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/SqlBulkCopyColumnMappingCollection.cs index 0627dd1918..f7bfd723e5 100644 --- a/src/Microsoft.Data.SqlClient/netcore/src/Microsoft/Data/SqlClient/SqlBulkCopyColumnMappingCollection.cs +++ b/src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/SqlBulkCopyColumnMappingCollection.cs @@ -7,14 +7,14 @@ namespace Microsoft.Data.SqlClient { - /// + /// public sealed class SqlBulkCopyColumnMappingCollection : CollectionBase { private enum MappingSchema { Undefined = 0, NamesNames = 1, - NemesOrdinals = 2, + NamesOrdinals = 2, OrdinalsNames = 3, OrdinalsOrdinals = 4, } @@ -27,10 +27,10 @@ internal SqlBulkCopyColumnMappingCollection() internal bool ReadOnly { get; set; } - /// - public SqlBulkCopyColumnMapping this[int index] => (SqlBulkCopyColumnMapping)this.List[index]; + /// + public SqlBulkCopyColumnMapping this[int index] => (SqlBulkCopyColumnMapping)List[index]; - /// + /// public SqlBulkCopyColumnMapping Add(SqlBulkCopyColumnMapping bulkCopyColumnMapping) { AssertWriteAccess(); @@ -44,28 +44,28 @@ public SqlBulkCopyColumnMapping Add(SqlBulkCopyColumnMapping bulkCopyColumnMappi return bulkCopyColumnMapping; } - /// + /// public SqlBulkCopyColumnMapping Add(string sourceColumn, string destinationColumn) { AssertWriteAccess(); return Add(new SqlBulkCopyColumnMapping(sourceColumn, destinationColumn)); } - /// + /// public SqlBulkCopyColumnMapping Add(int sourceColumnIndex, string destinationColumn) { AssertWriteAccess(); return Add(new SqlBulkCopyColumnMapping(sourceColumnIndex, destinationColumn)); } - /// + /// public SqlBulkCopyColumnMapping Add(string sourceColumn, int destinationColumnIndex) { AssertWriteAccess(); return Add(new SqlBulkCopyColumnMapping(sourceColumn, destinationColumnIndex)); } - /// + /// public SqlBulkCopyColumnMapping Add(int sourceColumnIndex, int destinationColumnIndex) { AssertWriteAccess(); @@ -80,17 +80,17 @@ private void AssertWriteAccess() } } - /// + /// public new void Clear() { AssertWriteAccess(); base.Clear(); } - /// + /// public bool Contains(SqlBulkCopyColumnMapping value) => InnerList.Contains(value); - /// + /// public void CopyTo(SqlBulkCopyColumnMapping[] array, int index) => InnerList.CopyTo(array, index); internal void CreateDefaultMapping(int columnCount) @@ -101,24 +101,24 @@ internal void CreateDefaultMapping(int columnCount) } } - /// + /// public int IndexOf(SqlBulkCopyColumnMapping value) => InnerList.IndexOf(value); - /// + /// public void Insert(int index, SqlBulkCopyColumnMapping value) { AssertWriteAccess(); InnerList.Insert(index, value); } - /// + /// public void Remove(SqlBulkCopyColumnMapping value) { AssertWriteAccess(); InnerList.Remove(value); } - /// + /// public new void RemoveAt(int index) { AssertWriteAccess(); @@ -132,18 +132,15 @@ internal void ValidateCollection() { mappingSchema = a.SourceOrdinal != -1 ? (a.DestinationOrdinal != -1 ? MappingSchema.OrdinalsOrdinals : MappingSchema.OrdinalsNames) : - (a.DestinationOrdinal != -1 ? MappingSchema.NemesOrdinals : MappingSchema.NamesNames); + (a.DestinationOrdinal != -1 ? MappingSchema.NamesOrdinals : MappingSchema.NamesNames); if (_mappingSchema == MappingSchema.Undefined) { _mappingSchema = mappingSchema; } - else + else if (_mappingSchema != mappingSchema) { - if (_mappingSchema != mappingSchema) - { - throw SQL.BulkLoadMappingsNamesOrOrdinalsOnly(); - } + throw SQL.BulkLoadMappingsNamesOrOrdinalsOnly(); } } }