Search in sources :

Example 16 with CacheID

use of org.teiid.dqp.internal.process.SessionAwareCache.CacheID in project teiid by teiid.

the class TestSessionAwareCache method testRemove.

@Test
public void testRemove() {
    SessionAwareCache<Cachable> cache = new SessionAwareCache<Cachable>("resultset", DefaultCacheFactory.INSTANCE, SessionAwareCache.Type.RESULTSET, 0);
    CacheID id = new CacheID(buildWorkContext(), new ParseInfo(), "SELECT * FROM FOO");
    Cachable result = Mockito.mock(Cachable.class);
    Mockito.stub(result.prepare((BufferManager) anyObject())).toReturn(true);
    Mockito.stub(result.restore((BufferManager) anyObject())).toReturn(true);
    id = new CacheID(buildWorkContext(), new ParseInfo(), "SELECT * FROM FOO");
    cache.put(id, Determinism.VDB_DETERMINISTIC, result, null);
    Object c = cache.get(id);
    assertTrue(result == c);
    assertTrue(cache.remove(id, Determinism.VDB_DETERMINISTIC) != null);
    assertNull(cache.get(id));
    // session scope
    cache.put(id, Determinism.SESSION_DETERMINISTIC, result, null);
    assertTrue(cache.get(id) != null);
    assertTrue(cache.remove(id, Determinism.SESSION_DETERMINISTIC) != null);
    assertNull(cache.get(id));
}
Also used : CacheID(org.teiid.dqp.internal.process.SessionAwareCache.CacheID) ParseInfo(org.teiid.query.parser.ParseInfo) Cachable(org.teiid.cache.Cachable) Test(org.junit.Test)

Aggregations

CacheID (org.teiid.dqp.internal.process.SessionAwareCache.CacheID)16 ParseInfo (org.teiid.query.parser.ParseInfo)11 Test (org.junit.Test)8 Cachable (org.teiid.cache.Cachable)6 Reference (org.teiid.query.sql.symbol.Reference)4 TupleBuffer (org.teiid.common.buffer.TupleBuffer)2 TeiidProcessingException (org.teiid.core.TeiidProcessingException)2 Determinism (org.teiid.metadata.FunctionMethod.Determinism)2 BatchCollector (org.teiid.query.processor.BatchCollector)2 ProjectNode (org.teiid.query.processor.relational.ProjectNode)2 RelationalPlan (org.teiid.query.processor.relational.RelationalPlan)2 Command (org.teiid.query.sql.lang.Command)2 ArrayList (java.util.ArrayList)1 LinkedList (java.util.LinkedList)1 QueryParserException (org.teiid.api.exception.query.QueryParserException)1 BlockedException (org.teiid.common.buffer.BlockedException)1 TupleBatch (org.teiid.common.buffer.TupleBatch)1 TupleSource (org.teiid.common.buffer.TupleSource)1 TeiidComponentException (org.teiid.core.TeiidComponentException)1 ConnectorManager (org.teiid.dqp.internal.datamgr.ConnectorManager)1