Пример #1
0
    public override TransactionBase BeginTransaction(TransactionParameterBuffer tpb)
    {
        var transaction = new FesTransaction(this);

        transaction.BeginTransaction(tpb);
        return(transaction);
    }
Пример #2
0
    public override async ValueTask <TransactionBase> BeginTransactionAsync(TransactionParameterBuffer tpb, CancellationToken cancellationToken = default)
    {
        var transaction = new FesTransaction(this);
        await transaction.BeginTransactionAsync(tpb, cancellationToken).ConfigureAwait(false);

        return(transaction);
    }
Пример #3
0
 public FesArray(DatabaseBase db, TransactionBase transaction, long handle, string tableName, string fieldName)
     : base(tableName, fieldName)
 {
     if (!(db is FesDatabase))
     {
         throw new ArgumentException($"Specified argument is not of {nameof(FesDatabase)} type.");
     }
     if (!(transaction is FesTransaction))
     {
         throw new ArgumentException($"Specified argument is not of {nameof(FesTransaction)} type.");
     }
     _db           = (FesDatabase)db;
     _transaction  = (FesTransaction)transaction;
     _handle       = handle;
     _statusVector = new IntPtr[IscCodes.ISC_STATUS_LENGTH];
 }
Пример #4
0
 public override void Dispose2()
 {
     if (!_disposed)
     {
         _disposed = true;
         Release();
         Clear();
         _db              = null;
         _fields          = null;
         _parameters      = null;
         _transaction     = null;
         OutputParameters = null;
         _statusVector    = null;
         _allRowsFetched  = false;
         _handle.Dispose();
         FetchSize = 0;
         base.Dispose2();
     }
 }
Пример #5
0
    public override async ValueTask Dispose2Async(CancellationToken cancellationToken = default)
    {
        if (!_disposed)
        {
            _disposed = true;
            await ReleaseAsync(cancellationToken).ConfigureAwait(false);

            Clear();
            _db              = null;
            _fields          = null;
            _parameters      = null;
            _transaction     = null;
            OutputParameters = null;
            _statusVector    = null;
            _allRowsFetched  = false;
            _handle.Dispose();
            FetchSize = 0;
            await base.Dispose2Async(cancellationToken).ConfigureAwait(false);
        }
    }