Exemple #1
0
 public void FillFromUsage(IConnectionUsage usage)
 {
     if (usage.Connection != null)
     {
         Connection = usage.Connection.PhysicalFactory;
     }
 }
Exemple #2
0
        public bool IsOpened(IPhysicalConnectionFactory fact)
        {
            string key = fact.GetConnectionKey();

            lock (m_connCache)
            {
                var item = m_connCache[key];
                return(item.Connection != null && item.Connection.IsOpened);
            }
        }
Exemple #3
0
 public void AssignServerFields(ServerFieldsAppObject appobj)
 {
     if (appobj == null)
     {
         Connection = null;
     }
     else
     {
         Connection = appobj.Connection;
     }
 }
Exemple #4
0
        public void Close(IPhysicalConnectionFactory fact)
        {
            string key = fact.GetConnectionKey();

            lock (m_connCache)
            {
                if (!m_connCache.ContainsKey(key))
                {
                    throw new InternalError("DAE-00029 Connection key not found");
                }
                m_connCache[key].RefCount--;
                if (m_connCache[key].RefCount <= 0 && !m_connCache[key].KeepAlive)
                {
                    Async.SafeClose(m_connCache[key].Connection);
                }
            }
        }
Exemple #5
0
        private IPhysicalConnection _OpenCore(IPhysicalConnectionFactory fact, bool keepAlive, bool incref, bool open)
        {
            if (fact == null)
            {
                return(null);
            }
            string key = fact.GetConnectionKey();
            IPhysicalConnection res;

            lock (m_connCache)
            {
                if (!m_connCache.ContainsKey(key))
                {
                    var item = new CacheItem();
                    item.Connection = fact.CreateConnection();
                    if (Cache != null)
                    {
                        // use shared cache
                        item.Connection.Cache = Cache.Connection(key);
                    }
                    item.Connection.Owner = this;
                    m_connCache[key]      = item;
                }
                if (incref)
                {
                    m_connCache[key].RefCount++;
                }
                if (keepAlive)
                {
                    m_connCache[key].KeepAlive = true;
                }
                res = m_connCache[key].Connection;
            }
            if (open)
            {
                Async.SafeOpen(res);
            }
            return(res);
        }
Exemple #6
0
 public DbDefReadonlyTreeNode(ITreeNode parent, IPhysicalConnectionFactory fact, string name)
     : base(new DbDefSource(fact, DbDefSource.ReadOnly.Flag), parent, name, false)
 {
 }
Exemple #7
0
 public IPhysicalConnection GetConnection(IPhysicalConnectionFactory fact, bool keepAlive)
 {
     return(_OpenCore(fact, keepAlive, false, false));
 }
Exemple #8
0
 public IPhysicalConnection Open(IPhysicalConnectionFactory fact, bool keepAlive)
 {
     return(_OpenCore(fact, keepAlive, true, true));
 }
Exemple #9
0
 protected NoThreadPhysicalConnectionBase(IPhysicalConnectionFactory factory)
 {
     PhysicalFactory = factory;
     Cache           = new ConnectionCache();
 }
Exemple #10
0
 protected PhysicalConnectionBase(IPhysicalConnectionFactory factory)
 {
     Cache           = new ConnectionCache();
     PhysicalFactory = factory;
     ConnectionRegister.AddConnection(this);
 }
Exemple #11
0
 public DbDefConnection(IPhysicalConnectionFactory factory)
     : base(factory)
 {
 }
Exemple #12
0
 // constructor 3'
 public DbDefSource(IPhysicalConnectionFactory fact, ReadOnly flag)
 {
     m_conn           = (DbDefConnection)fact.CreateConnection();
     m_openedReadOnly = true;
 }