Package org.apache.derby.iapi.services.cache

Examples of org.apache.derby.iapi.services.cache.Cacheable


  */
  private Cacheable addEntry(CachedItem item, Object key, boolean forCreate, Object createParameter)
    throws StandardException {

    Cacheable entry = null;
        long origEntrySize = 0;
        if( useByteCount)
            origEntrySize = getItemSize( item);

    try
    {
      if (SanityManager.DEBUG) {
        if (SanityManager.DEBUG_ON(ClockFactory.CacheTrace))
        {
        SanityManager.DEBUG(ClockFactory.CacheTrace, name +
                  " item " + item + " take on identity " + key);
        }
      }
     
      // tell the object it needs to create itself
      entry = item.takeOnIdentity(this, holderFactory, key, forCreate, createParameter);
    }
    finally
    {
      boolean  notifyWaiters;
      synchronized (this) {

        Object removed = cache_.remove(key);
        if (SanityManager.DEBUG) {
          SanityManager.ASSERT(removed == item);
        }

        if (entry != null) {
          // put the actual key into the hash table, not the one that was passed in
          // for the find or create. This is because the caller may re-use the key
          // for another cache operation, which would corrupt our hashtable
          cache_.put(entry.getIdentity(), item);
                    if( useByteCount)
                        currentByteCount += ((SizedCacheable) entry).getSize() - origEntrySize;
          item.setValidState(true);
                    validItemCount++;
          notifyWaiters = true;
View Full Code Here


     * @param operator
     */
    public void scan( Matchable filter, Operator operator)
    {
        int itemCount = 1;
        Cacheable entry = null;
        CachedItem item = null;

        // Do not call the operator while holding the synchronization lock.
        // However we cannot access an item's links without holding the synchronization lock,
        // nor can we assume that an item is still in the cache unless we hold the synchronization
View Full Code Here

   */
  private void removePermEntryInCache(PermissionsDescriptor perm)
    throws StandardException
  {
    // Remove cached permissions entry if present
    Cacheable cacheEntry = getPermissionsCache().findCached( perm);
    if (cacheEntry != null)
      getPermissionsCache().remove(cacheEntry);
  }
View Full Code Here

  }

    private Object getPermissions( PermissionsDescriptor key) throws StandardException
    {
        // RESOLVE get a READ COMMITTED (shared) lock on the permission row
        Cacheable entry = getPermissionsCache().find( key);
        if( entry == null)
            return null;
        Object perms = entry.getIdentity();
        getPermissionsCache().release( entry);
        return perms;
    }
View Full Code Here

        }
    }

  public Cacheable createIdentity( Object key, Object createParameter ) throws StandardException
  {
        Cacheable cacheable = this;

        //
        // The createParameter arg is unused.
        //
        return cacheable.setIdentity( key );
  }
View Full Code Here

          {
           
            Object[] removeInfo = (Object[]) droppedTableStubInfo.get(logInstant);
            Object identity = removeInfo[1];
            //delete the entry in the container cache.
            Cacheable ccentry =  containerCache.findCached(identity);
            if(ccentry!=null)
              containerCache.remove(ccentry);
            //delete the stub we don't require it during recovery
                        synchronized( this)
                        {
View Full Code Here

   */
  private void removePermEntryInCache(PermissionsDescriptor perm)
    throws StandardException
  {
    // Remove cached permissions entry if present
    Cacheable cacheEntry = getPermissionsCache().findCached( perm);
    if (cacheEntry != null)
      getPermissionsCache().remove(cacheEntry);
  }
View Full Code Here

  }

    private Object getPermissions( PermissionsDescriptor key) throws StandardException
    {
        // RESOLVE get a READ COMMITTED (shared) lock on the permission row
        Cacheable entry = getPermissionsCache().find( key);
        if( entry == null)
            return null;
        Object perms = entry.getIdentity();
        getPermissionsCache().release( entry);
        return perms;
    }
View Full Code Here

    if (statementCache == null)
      return;

    synchronized (statementCache) {

      Cacheable cachedItem = statementCache.findCached(statement);
      if (cachedItem != null)
        statementCache.remove(cachedItem);
    }
  }
View Full Code Here

    // statement caching disable when in DDL mode
    if (dataDictionaryInWriteMode()) {
      return null;
    }

    Cacheable cachedItem = statementCache.find(statement);

    CachedStatement cs = (CachedStatement) cachedItem;


    GenericPreparedStatement ps = cs.getPreparedStatement();
View Full Code Here

TOP

Related Classes of org.apache.derby.iapi.services.cache.Cacheable

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.