* For implementation of bulkcopy and notifications added files
authorUmadevi S <uma@mono-cvs.ximian.com>
Thu, 19 May 2005 08:40:20 +0000 (08:40 -0000)
committerUmadevi S <uma@mono-cvs.ximian.com>
Thu, 19 May 2005 08:40:20 +0000 (08:40 -0000)
                SqlBulkCopyOptions.cs,SqlBulkCopyColumnMapping.cs,SqlNotificationAuthType.cs
                SqlNotificationTransports.cs,SqlRowsCopiedEventArgs.cs, SqlRowsCopiedEventHandler.cs

svn path=/trunk/mcs/; revision=44740

mcs/class/System.Data/System.Data.SqlClient/ChangeLog
mcs/class/System.Data/System.Data.SqlClient/SqlBulkCopyColumnMapping.cs [new file with mode: 0644]
mcs/class/System.Data/System.Data.SqlClient/SqlBulkCopyOptions.cs [new file with mode: 0644]
mcs/class/System.Data/System.Data.SqlClient/SqlNotificationAuthType.cs [new file with mode: 0644]
mcs/class/System.Data/System.Data.SqlClient/SqlNotificationTransports.cs [new file with mode: 0644]
mcs/class/System.Data/System.Data.SqlClient/SqlRowsCopiedEventArgs.cs [new file with mode: 0644]
mcs/class/System.Data/System.Data.SqlClient/SqlRowsCopiedEventHandler.cs [new file with mode: 0644]

index 1e6fd2dc1634bf5f90716db3dee1bb4f83940b41..ab2a0ba9bc9d9433a484ff091fc3e7cbfcf0e172 100755 (executable)
@@ -1,3 +1,9 @@
+2005-05-19 Umadevi S <sumadevi@novell.com>
+       
+       * For implementation of bulkcopy and notifications added files
+               SqlBulkCopyOptions.cs,SqlBulkCopyColumnMapping.cs,SqlNotificationAuthType.cs
+               SqlNotificationTransports.cs,SqlRowsCopiedEventArgs.cs, SqlRowsCopiedEventHandler.cs
+
 2005-05-19  Umadevi S <sumadevi@novell.com>
 
        *  Corrected types,enum values of SqlNotificationType,SqlNotificationSource,
diff --git a/mcs/class/System.Data/System.Data.SqlClient/SqlBulkCopyColumnMapping.cs b/mcs/class/System.Data/System.Data.SqlClient/SqlBulkCopyColumnMapping.cs
new file mode 100644 (file)
index 0000000..5989ed8
--- /dev/null
@@ -0,0 +1,147 @@
+//
+// System.Data.SqlClient.SqlBulkCopyColumnMapping.cs
+//
+// Author:
+//   Umadevi S <sumadevi@novell.com>
+//
+
+//
+// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+#if NET_2_0
+
+namespace System.Data.SqlClient
+{
+       /// <summary>
+       /// Class that defines the mapping between a column in the destination table and an
+       /// column in the datasource of SqlBulkCopy's instance
+       /// </summary>
+       
+       public sealed class SqlBulkCopyColumnMapping {
+
+       #region Fields
+       
+       int sourceOrdinal = 0;
+       int destinationOrdinal = 0;
+       string sourceColumn = null;
+       string destinationColumn = null;
+
+       #endregion //Fields
+
+       #region Constructors
+       
+       public SqlBulkCopyColumnMapping(){
+       
+       }
+       
+       public SqlBulkCopyColumnMapping(int sourceColumnOrdinal, int destinationOrdinal){
+               this.sourceOrdinal = sourceColumnOrdinal;
+               this.destinationOrdinal = destinationOrdinal;
+       }
+
+       public SqlBulkCopyColumnMapping(int sourceColumnOrdinal, string destinationColumn){
+               this.sourceOrdinal = sourceColumnOrdinal;
+               this.destinationColumn = destinationColumn;     
+       }
+
+       public SqlBulkCopyColumnMapping(string sourceColumn, int destinationOrdinal){
+               this.sourceColumn = sourceColumn;               
+               this.destinationOrdinal = destinationOrdinal;
+       }
+
+       public SqlBulkCopyColumnMapping(string sourceColumn, string destinationColumn){
+               this.sourceColumn = sourceColumn;
+               this.destinationColumn = destinationColumn;
+       }
+
+       # endregion //Constructors      
+
+       # region Properties
+       
+       public String DestinationColumn {
+               get {
+                       if (this.destinationColumn != null)
+                               return destinationColumn;
+                       else
+                               return string.Empty; //ms:doesnot return null.
+               }
+               set {
+                       // ms: whenever the name is set the ordinal is reset to -1
+                       this.destinationOrdinal = -1;
+                       this.destinationColumn = value;
+               }
+       }
+       
+       public String SoruceColumn {
+                get {
+                        if (this.sourceColumn != null)
+                                return sourceColumn;
+                        else
+                                return string.Empty;//ms doesnot return null
+                }
+                set {
+                        // ms: whenever the name is set the ordinal is reset to -1
+                        this.sourceOrdinal = -1;
+                        this.sourceColumn = value;
+                }
+                                                                                                    
+        }
+
+
+       public int DestinationOrdinal {
+                get {
+                         return this.destinationOrdinal;
+                }
+                set {
+                        // ms: whenever the ordinal is set, the name is null
+                        if (value < 0)
+                               throw new ArgumentOutOfRangeException();
+                        this.destinationColumn = null;
+                       this.destinationOrdinal =  value;
+                }
+                                                                                                    
+        }
+       
+       public int SourceOrdinal {
+                get {
+                         return this.sourceOrdinal;
+                }
+                set {
+                        // ms: whenever the ordinal is set, the name is null
+                        if (value < 0)
+                                throw new ArgumentOutOfRangeException();
+                        this.sourceColumn = null;
+                        this.sourceOrdinal =  value;
+                }
+                                                                                                    
+        }
+
+       #endregion //Properties 
+       
+       }
+
+}
+
+
+#endif
+
diff --git a/mcs/class/System.Data/System.Data.SqlClient/SqlBulkCopyOptions.cs b/mcs/class/System.Data/System.Data.SqlClient/SqlBulkCopyOptions.cs
new file mode 100644 (file)
index 0000000..70cbcb3
--- /dev/null
@@ -0,0 +1,55 @@
+//
+// System.Data.SqlClient.SqlBulkCopyOptions.cs
+//
+// Author:
+//   Umadevi S <sumadevi@novell.com>
+//
+
+//
+// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+#if NET_2_0
+
+namespace System.Data.SqlClient
+{
+       /// <summary>
+       /// Bitwise flag that specifies one or more options to use with an instance
+       // of the SqlBulkCopyOperation
+       /// </summary>
+       [Flags]
+       public enum SqlBulkCopyOptions {
+
+               CheckConstraints = 2,
+               Default = 0,
+               FireTriggers = 16,
+               KeepIdentity = 1,
+               KeepNulls = 8,
+               TableLock = 4,
+               UseInternalTranscation = 32
+       }
+
+}
+
+
+#endif
+
diff --git a/mcs/class/System.Data/System.Data.SqlClient/SqlNotificationAuthType.cs b/mcs/class/System.Data/System.Data.SqlClient/SqlNotificationAuthType.cs
new file mode 100644 (file)
index 0000000..cb41611
--- /dev/null
@@ -0,0 +1,49 @@
+//
+// System.Data.SqlClient.SqlNotificationAuthType.cs
+//
+// Author:
+//   Umadevi S <sumadevi@novell.com>
+//
+
+//
+// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+#if NET_2_0
+
+namespace System.Data.SqlClient
+{
+       /// <summary>
+       /// Describes the different authentication types supported by the client listener.
+       /// </summary>
+       public enum SqlNotificationAuthType {
+
+               None = 0,
+               Integrated = 1
+
+       }
+
+}
+
+#endif
+
+
diff --git a/mcs/class/System.Data/System.Data.SqlClient/SqlNotificationTransports.cs b/mcs/class/System.Data/System.Data.SqlClient/SqlNotificationTransports.cs
new file mode 100644 (file)
index 0000000..9754d81
--- /dev/null
@@ -0,0 +1,50 @@
+//
+// System.Data.SqlClient.SqlNotificationTransports.cs
+//
+// Author:
+//   Umadevi S <sumadevi@novell.com>
+//
+
+//
+// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+#if NET_2_0
+
+namespace System.Data.SqlClient
+{
+       /// <summary>
+       /// Describes the differnt transports that can be used between the client and the server.
+       /// </summary>
+       public enum SqlNotificationTransports {
+
+               Any = -1,
+               Http = 2,
+               None = 0,
+               Tcp = 1
+       }
+
+}
+
+#endif
+
+
diff --git a/mcs/class/System.Data/System.Data.SqlClient/SqlRowsCopiedEventArgs.cs b/mcs/class/System.Data/System.Data.SqlClient/SqlRowsCopiedEventArgs.cs
new file mode 100644 (file)
index 0000000..72d3d49
--- /dev/null
@@ -0,0 +1,79 @@
+//
+// System.Data.SqlClient.SqlRowsCopiedEventArgs.cs
+//
+// Author:
+//   Umadevi S (sumadevi@novell.com)
+//
+// (C) Ximian, Inc 2002
+// Copyright (C) Tim Coleman, 2002
+//
+
+//
+// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+#if NET_2_0
+
+using System;
+using System.Data;
+using System.Data.Common;
+
+namespace System.Data.SqlClient {
+       public class SqlRowsCopiedEventArgs : EventArgs
+       {
+               #region Fields
+               
+               private long rowsCopied;
+               private bool abort;
+
+               #endregion
+
+               #region Constructors
+
+               public SqlRowsCopiedEventArgs(long rowsCopied){
+                       this.rowsCopied = rowsCopied;
+               }
+
+               #endregion // Constructors
+
+               #region Properties
+
+               public bool Abort{
+               get {
+                       return this.abort;
+               }
+               set {
+                       this.abort = value;
+               }
+               }               
+
+               public long RowsCopied{
+               get {
+                       return this.rowsCopied;
+               }
+               }
+
+
+               #endregion // Properties
+       }
+}
+
+#endif
diff --git a/mcs/class/System.Data/System.Data.SqlClient/SqlRowsCopiedEventHandler.cs b/mcs/class/System.Data/System.Data.SqlClient/SqlRowsCopiedEventHandler.cs
new file mode 100644 (file)
index 0000000..c1e2ff7
--- /dev/null
@@ -0,0 +1,38 @@
+//
+// System.Data.SqlClient.SqlRowsCopiedEventHandler.cs
+//
+// Author:
+//     Umadevi S (sumadevi@novell.com)   
+//
+//
+// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+#if NET_2_0
+
+using System;
+
+namespace System.Data.SqlClient {
+       public delegate void SqlRowsCopiedEventHandler(object sender, SqlRowsCopiedEventArgs e);
+}
+
+#endif