public override void Open()
 {
     logger.Debug("Open Connection.");
     SetSession();
     try
     {
         SfSession.Open();
     }
     catch (Exception e)
     {
         // Otherwise when Dispose() is called, the close request would timeout.
         _connectionState = ConnectionState.Closed;
         logger.Error("Unable to connect", e);
         if (!(e.GetType() == typeof(SnowflakeDbException)))
         {
             throw new SnowflakeDbException(e.InnerException,
                                            SFError.INTERNAL_ERROR,
                                            "Unable to connect");
         }
         else
         {
             throw;
         }
     }
     OnSessionEstablished();
 }
        public override Task OpenAsync(CancellationToken cancellationToken)
        {
            registerConnectionCancellationCallback(cancellationToken);
            SetSession();

            return(SfSession.OpenAsync(cancellationToken).ContinueWith(
                       previousTask =>
            {
                if (previousTask.IsFaulted)
                {
                    // Exception from SfSession.OpenAsync
                    Exception sfSessionEx = previousTask.Exception;
                    _connectionState = ConnectionState.Closed;
                    logger.Error("Unable to connect", sfSessionEx.InnerException);
                    throw new SnowflakeDbException(sfSessionEx.InnerException,
                                                   SFError.INTERNAL_ERROR,
                                                   "Unable to connect");
                }
                else if (previousTask.IsCanceled)
                {
                    _connectionState = ConnectionState.Closed;
                    logger.Debug("Connection canceled");
                }
                else
                {
                    logger.Debug("All good");
                    // Only continue if the session was opened successfully
                    OnSessionEstablished();
                }
            },
                       cancellationToken));
        }
Beispiel #3
0
 public override void Close()
 {
     if (_connectionState != ConnectionState.Closed && SfSession != null)
     {
         SfSession.close();
     }
 }
 public override void Open()
 {
     logger.Debug("Open Connection.");
     SetSession();
     SfSession.Open();
     OnSessionEstablished();
 }
        public override void Close()
        {
            logger.Debug($"Close Connection.");

            if (_connectionState != ConnectionState.Closed && SfSession != null)
            {
                SfSession.close();
            }
        }
Beispiel #6
0
        public override Task OpenAsync(CancellationToken cancellationToken)
        {
            if (cancellationToken.IsCancellationRequested)
            {
                return(Task.FromCanceled(cancellationToken));
            }

            SetSession();
            return(SfSession.OpenAsync(cancellationToken).ContinueWith(t => OnSessionEstablished(), cancellationToken));
        }
 public override void Open()
 {
     logger.Debug("Open Connection.");
     SetSession();
     try
     {
         SfSession.Open();
     }
     catch (Exception e)
     {
         // Otherwise when Dispose() is called, the close request would timeout.
         _connectionState = ConnectionState.Closed;
         throw e;
     }
     OnSessionEstablished();
 }
 public override void Open()
 {
     logger.Debug("Open Connection.");
     SetMockSession();
     try
     {
         SfSession.Open();
     }
     catch (Exception e)
     {
         // Otherwise when Dispose() is called, the close request would timeout.
         _connectionState = System.Data.ConnectionState.Closed;
         logger.Error("Unable to connect", e);
         throw;
     }
     OnSessionEstablished();
 }
Beispiel #9
0
 public override void Open()
 {
     SetSession();
     SfSession.Open();
     OnSessionEstablished();
 }