You've already forked linux-packaging-mono
Imported Upstream version 4.8.0.309
Former-commit-id: 5f9c6ae75f295e057a7d2971f3a6df4656fa8850
This commit is contained in:
parent
ee1447783b
commit
94b2861243
@ -510,40 +510,104 @@ namespace System.Data.SqlClient {
|
||||
}
|
||||
}
|
||||
|
||||
[MonoTODO]
|
||||
public new Task<SqlDataReader> ExecuteReaderAsync ()
|
||||
{
|
||||
throw new NotImplementedException ();
|
||||
return ExecuteReaderAsync (CommandBehavior.Default, CancellationToken.None);
|
||||
}
|
||||
|
||||
[MonoTODO]
|
||||
public new Task<SqlDataReader> ExecuteReaderAsync (CancellationToken cancellationToken)
|
||||
{
|
||||
throw new NotImplementedException ();
|
||||
return ExecuteReaderAsync (behavior, CancellationToken.None);
|
||||
}
|
||||
|
||||
[MonoTODO]
|
||||
public new Task<SqlDataReader> ExecuteReaderAsync (CommandBehavior behavior)
|
||||
{
|
||||
throw new NotImplementedException ();
|
||||
return ExecuteReaderAsync (CommandBehavior.Default, CancellationToken.None);
|
||||
}
|
||||
|
||||
[MonoTODO]
|
||||
public new Task<SqlDataReader> ExecuteReaderAsync (CommandBehavior behavior, CancellationToken cancellationToken)
|
||||
{
|
||||
throw new NotImplementedException ();
|
||||
TaskCompletionSource<SqlDataReader> source = new TaskCompletionSource<SqlDataReader>();
|
||||
|
||||
CancellationTokenRegistration registration = new CancellationTokenRegistration();
|
||||
if (cancellationToken.CanBeCanceled) {
|
||||
if (cancellationToken.IsCancellationRequested) {
|
||||
source.SetCanceled();
|
||||
return source.Task;
|
||||
}
|
||||
registration = cancellationToken.Register(CancelIgnoreFailure);
|
||||
}
|
||||
|
||||
Task<SqlDataReader> returnedTask = source.Task;
|
||||
try {
|
||||
// TODO: RegisterForConnectionCloseNotification(ref returnedTask);
|
||||
|
||||
Task<SqlDataReader>.Factory.FromAsync(BeginExecuteReaderAsync, EndExecuteReader, behavior, null).ContinueWith((t) => {
|
||||
registration.Dispose();
|
||||
if (t.IsFaulted) {
|
||||
Exception e = t.Exception.InnerException;
|
||||
source.SetException(e);
|
||||
}
|
||||
else {
|
||||
if (t.IsCanceled) {
|
||||
source.SetCanceled();
|
||||
}
|
||||
else {
|
||||
source.SetResult(t.Result);
|
||||
}
|
||||
}
|
||||
}, TaskScheduler.Default);
|
||||
}
|
||||
catch (Exception e) {
|
||||
source.SetException(e);
|
||||
}
|
||||
|
||||
return returnedTask;
|
||||
}
|
||||
|
||||
[MonoTODO]
|
||||
public Task<XmlReader> ExecuteXmlReaderAsync ()
|
||||
{
|
||||
throw new NotImplementedException ();
|
||||
return ExecuteXmlReaderAsync (CancellationToken.None);
|
||||
}
|
||||
|
||||
[MonoTODO]
|
||||
public Task<XmlReader> ExecuteXmlReaderAsync (CancellationToken cancellationToken)
|
||||
{
|
||||
throw new NotImplementedException ();
|
||||
TaskCompletionSource<XmlReader> source = new TaskCompletionSource<XmlReader>();
|
||||
|
||||
CancellationTokenRegistration registration = new CancellationTokenRegistration();
|
||||
if (cancellationToken.CanBeCanceled) {
|
||||
if (cancellationToken.IsCancellationRequested) {
|
||||
source.SetCanceled();
|
||||
return source.Task;
|
||||
}
|
||||
registration = cancellationToken.Register(CancelIgnoreFailure);
|
||||
}
|
||||
|
||||
Task<XmlReader> returnedTask = source.Task;
|
||||
try {
|
||||
// TODO: RegisterForConnectionCloseNotification(ref returnedTask);
|
||||
|
||||
Task<XmlReader>.Factory.FromAsync(BeginExecuteXmlReader, EndExecuteXmlReader, null).ContinueWith((t) => {
|
||||
registration.Dispose();
|
||||
if (t.IsFaulted) {
|
||||
Exception e = t.Exception.InnerException;
|
||||
source.SetException(e);
|
||||
}
|
||||
else {
|
||||
if (t.IsCanceled) {
|
||||
source.SetCanceled();
|
||||
}
|
||||
else {
|
||||
source.SetResult(t.Result);
|
||||
}
|
||||
}
|
||||
}, TaskScheduler.Default);
|
||||
}
|
||||
catch (Exception e) {
|
||||
source.SetException(e);
|
||||
}
|
||||
|
||||
return returnedTask;
|
||||
}
|
||||
|
||||
public
|
||||
@ -846,6 +910,11 @@ namespace System.Data.SqlClient {
|
||||
return BeginExecuteReader (callback, stateObject, CommandBehavior.Default);
|
||||
}
|
||||
|
||||
IAsyncResult BeginExecuteReaderAsync(CommandBehavior behavior, AsyncCallback callback, object stateObject)
|
||||
{
|
||||
return BeginExecuteReader (callback, stateObject, behavior);
|
||||
}
|
||||
|
||||
public IAsyncResult BeginExecuteReader (AsyncCallback callback, object stateObject, CommandBehavior behavior)
|
||||
{
|
||||
ValidateCommand ("BeginExecuteReader", true);
|
||||
|
Reference in New Issue
Block a user