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();
}
}
}