Add some new async methods
authorMarek Safar <marek.safar@gmail.com>
Thu, 19 Jul 2012 18:04:26 +0000 (19:04 +0100)
committerMarek Safar <marek.safar@gmail.com>
Thu, 19 Jul 2012 18:04:26 +0000 (19:04 +0100)
mcs/class/System.Data/System.Data.Common/DbCommand.cs
mcs/class/System.Data/System.Data.Common/DbConnection.cs
mcs/class/System.Data/System.Data.Common/DbDataReader.cs

index acddb222c4dddf32bc162117455beff47adc69c9..2eb219032caf85e574ce49fd453aa2099b9cf548 100644 (file)
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
-#if NET_2_0 || TARGET_JVM
-
 using System.ComponentModel;
 using System.Data;
 
+#if NET_4_5
+using System.Threading;
+using System.Threading.Tasks;
+#endif
+
 namespace System.Data.Common {
        public abstract class DbCommand : Component, IDbCommand, IDisposable
        {
@@ -147,9 +150,60 @@ namespace System.Data.Common {
 
                public abstract void Prepare ();
                
+#if NET_4_5
+               [MonoTODO]
+               protected virtual Task<DbDataReader> ExecuteDbDataReaderAsync (CommandBehavior behavior, CancellationToken cancellationToken)
+               {
+                       throw new NotImplementedException ();
+               }
+               
+               public Task<int> ExecuteNonQueryAsync ()
+               {
+                       return ExecuteNonQueryAsync (CancellationToken.None);
+               }
+               
+               [MonoTODO]
+               public virtual Task<int> ExecuteNonQueryAsync (CancellationToken cancellationToken)
+               {
+                       throw new NotImplementedException ();
+               }
+               
+               public Task<Object> ExecuteScalarAsync ()
+               {
+                       return ExecuteScalarAsync (CancellationToken.None);
+               }
+               
+               [MonoTODO]
+               public virtual Task<Object> ExecuteScalarAsync (CancellationToken cancellationToken)
+               {
+                       throw new NotImplementedException ();
+               }
+               
+               public Task<DbDataReader> ExecuteReaderAsync ()
+               {
+                       return ExecuteReaderAsync (CancellationToken.None);
+               }
+               
+               [MonoTODO]
+               public Task<DbDataReader> ExecuteReaderAsync (CancellationToken cancellationToken)
+               {
+                       throw new NotImplementedException ();
+               }
+               
+               public Task<DbDataReader> ExecuteReaderAsync (CommandBehavior behavior)
+               {
+                       return ExecuteReaderAsync (behavior, CancellationToken.None);
+               }
+               
+               [MonoTODO]
+               public Task<DbDataReader> ExecuteReaderAsync (CommandBehavior behavior, CancellationToken cancellationToken)
+               {
+                       throw new NotImplementedException ();
+               }
+
+#endif
+               
                #endregion // Methods
 
        }
 }
-
-#endif
index dad77673bbc4692b6b352d4a5ea3c46a2746b38d..ce68ec9cef748f23a0bb67af1eba0d11d38a11ca 100644 (file)
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
-#if NET_2_0 || TARGET_JVM
-
 using System.ComponentModel;
 using System.Data;
 #if NET_2_0 && !TARGET_JVM
 using System.Transactions;
 #endif
 
+#if NET_4_5
+using System.Threading;
+using System.Threading.Tasks;
+#endif
+
 namespace System.Data.Common {
        public abstract class DbConnection : Component, IDbConnection, IDisposable
        {
@@ -50,9 +53,7 @@ namespace System.Data.Common {
                #endregion // Constructors
 
                #region Properties
-#pragma warning disable 618            
                [RecommendedAsConfigurable (true)]
-#pragma warning restore 618            
                [RefreshProperties (RefreshProperties.All)]
                [DefaultValue ("")]
                public abstract string ConnectionString { get; set; }
@@ -748,6 +749,19 @@ namespace System.Data.Common {
                        if (StateChange != null)
                                StateChange (this, stateChange);
                }
+               
+#if NET_4_5
+               public Task OpenAsync ()
+               {
+                       return OpenAsync (CancellationToken.None);
+               }
+               
+               [MonoTODO]
+               public virtual Task OpenAsync (CancellationToken cancellationToken)
+               {
+                       throw new NotImplementedException ();
+               }
+#endif
 
                #endregion // Methods
 
@@ -755,5 +769,3 @@ namespace System.Data.Common {
 
        }
 }
-
-#endif
index b7eac3ee15992954a55bbbd9499023a4154585df..561066614f8a22e10e9183e5ad4fc1c2efd135b7 100644 (file)
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
-#if NET_2_0 || TARGET_JVM
-
 using System.Collections;
 using System.ComponentModel;
 using System.Data;
 
+#if NET_4_5
+using System.Threading;
+using System.Threading.Tasks;
+#endif
+
 namespace System.Data.Common {
        public abstract class DbDataReader : MarshalByRefObject, IDataReader, IDataRecord, IDisposable, IEnumerable
        {
@@ -183,9 +186,54 @@ namespace System.Data.Common {
 
                        return schemaTable;
                }
+               
+#if NET_4_5
+               public Task<T> GetFieldValueAsync<T> (int ordinal)
+               {
+                       return GetFieldValueAsync<T> (ordinal, CancellationToken.None);
+               }
+               
+               [MonoTODO]
+               public virtual Task<T> GetFieldValueAsync<T> (int ordinal, CancellationToken cancellationToken)
+               {
+                       throw new NotImplementedException ();
+               }
+               
+               public Task<bool> NextResultAsync ()
+               {
+                       return NextResultAsync (CancellationToken.None);
+               }
+               
+               public Task<bool> IsDBNullAsync (int ordinal)
+               {
+                       return IsDBNullAsync (ordinal, CancellationToken.None);
+               }
+               
+               [MonoTODO]
+               public virtual Task<bool> IsDBNullAsync (int ordinal, CancellationToken cancellationToken)
+               {
+                       throw new NotImplementedException ();
+               }
+               
+               [MonoTODO]
+               public virtual Task<bool> NextResultAsync (CancellationToken cancellationToken)
+               {
+                       throw new NotImplementedException ();
+               }
+               
+               public Task<bool> ReadAsync ()
+               {
+                       return ReadAsync (CancellationToken.None);
+               }
+               
+               [MonoTODO]
+               public virtual Task<bool> ReadAsync (CancellationToken cancellationToken)
+               {
+                       throw new NotImplementedException ();
+               }
+#endif
 
                #endregion // Methods
        }
 }
 
-#endif