return tuple; CachedResults cr = new CachedResults(); cr.setResults(tb, null); if (!Boolean.FALSE.equals(cd.getUpdatable())) { if (accessedGroups != null) { for (GroupSymbol gs : accessedGroups) { cr.getAccessInfo().addAccessedObject(gs.getMetadataID()); cr.getAccessInfo().setSensitiveToMetadataChanges(false); cr.setRowLimit(rowNumber);
@Override protected TupleSource createTupleSource() throws TeiidComponentException, TeiidProcessingException { TupleBuffer tb = bc.collectTuples(); CachedResults cr = new CachedResults(); cr.setResults(tb, qp.getProcessorPlan()); Determinism determinismLevel = qp.getContext().getDeterminismLevel(); if (hint != null && hint.getDeterminism() != null) { LogManager.logTrace(LogConstants.CTX_DQP, new Object[] { "Cache hint modified the query determinism from ",determinismLevel, " to ", hint.getDeterminism() }); //$NON-NLS-1$ //$NON-NLS-2$ determinismLevel = hint.getDeterminism(); } cache.put(cid, determinismLevel, cr, hint != null?hint.getTtl():null); context.setDeterminismLevel(determinismLevel); success = true; return tb.createIndexedTupleSource(); }
CachedResults results = new CachedResults(); ProcessorPlan plan = new FakeProcessorPlan(0); CommandContext cc = new CommandContext(); cc.accessedDataObject(t); plan.setContext(cc); results.setResults(tb, plan); results.setCommand(new Query()); long ts = results.getAccessInfo().getCreationTime(); results.prepare(bm); TupleBuffer distributedTb = bm.getTupleBuffer(results.getId()); bm2.distributeTupleBuffer(results.getId(), distributedTb); assertTrue(cachedResults.restore(bm2)); TupleBuffer cachedTb = cachedResults.getResults(); assertTrue(ts - cachedResults.getAccessInfo().getCreationTime() <= 5000);
if (cr != null && (cr.getRowLimit() == 0 || (requestMsg.getRowLimit() != 0 && requestMsg.getRowLimit() <= cr.getRowLimit()))) { request.initMetadata(); this.originalCommand = cr.getCommand(requestMsg.getCommandString(), request.metadata, pi); if (!request.validateAccess(requestMsg.getCommands(), this.originalCommand, CommandType.CACHED)) { LogManager.logDetail(LogConstants.CTX_DQP, requestID, "Using result set cached results", cacheId); //$NON-NLS-1$ this.resultsBuffer = cr.getResults(); doneProducingBatches(); return;
if (cd.getInvalidation() == null || cd.getInvalidation() == Invalidation.NONE) { CachedResults cr = workItem.getRsCache().get(cid); if (cr != null && (cr.getRowLimit() == 0 || (parameterObject.limit > 0 && cr.getRowLimit() >= parameterObject.limit))) { parameterObject.doNotCache = true; LogManager.logDetail(LogConstants.CTX_DQP, "Using cache entry for", cid); //$NON-NLS-1$ work.close(); return cr.getResults().createIndexedTupleSource();
CachedResults results = cache.get(cid); if (results != null) { TupleBuffer buffer = results.getResults(); return buffer.createIndexedTupleSource();
if (cr != null && (cr.getRowLimit() == 0 || (requestMsg.getRowLimit() != 0 && requestMsg.getRowLimit() <= cr.getRowLimit()))) { request.initMetadata(); this.originalCommand = cr.getCommand(requestMsg.getCommandString(), request.metadata, pi); if (!request.validateAccess(requestMsg.getCommands(), this.originalCommand, CommandType.CACHED)) { LogManager.logDetail(LogConstants.CTX_DQP, requestID, "Using result set cached results", cacheId); //$NON-NLS-1$ this.resultsBuffer = cr.getResults(); doneProducingBatches(); return;
@Override protected TupleSource createTupleSource() throws TeiidComponentException, TeiidProcessingException { TupleBuffer tb = bc.collectTuples(); CachedResults cr = new CachedResults(); cr.setResults(tb, qp.getProcessorPlan()); Determinism determinismLevel = qp.getContext().getDeterminismLevel(); if (hint != null && hint.getDeterminism() != null) { LogManager.logTrace(LogConstants.CTX_DQP, new Object[] { "Cache hint modified the query determinism from ",determinismLevel, " to ", hint.getDeterminism() }); //$NON-NLS-1$ //$NON-NLS-2$ determinismLevel = hint.getDeterminism(); } cache.put(cid, determinismLevel, cr, hint != null?hint.getTtl():null); context.setDeterminismLevel(determinismLevel); success = true; return tb.createIndexedTupleSource(); }
if (cd.getInvalidation() == null || cd.getInvalidation() == Invalidation.NONE) { CachedResults cr = workItem.getRsCache().get(cid); if (cr != null && (cr.getRowLimit() == 0 || (parameterObject.limit > 0 && cr.getRowLimit() >= parameterObject.limit))) { parameterObject.doNotCache = true; LogManager.logDetail(LogConstants.CTX_DQP, "Using cache entry for", cid); //$NON-NLS-1$ work.close(); return cr.getResults().createIndexedTupleSource();
CachedResults results = cache.get(cid); if (results != null) { TupleBuffer buffer = results.getResults(); return buffer.createIndexedTupleSource();
return tuple; CachedResults cr = new CachedResults(); cr.setResults(tb, null); if (!Boolean.FALSE.equals(cd.getUpdatable())) { if (accessedGroups != null) { for (GroupSymbol gs : accessedGroups) { cr.getAccessInfo().addAccessedObject(gs.getMetadataID()); cr.getAccessInfo().setSensitiveToMetadataChanges(false); cr.setRowLimit(rowNumber);
if (cr != null && (cr.getRowLimit() == 0 || (requestMsg.getRowLimit() != 0 && requestMsg.getRowLimit() <= cr.getRowLimit()))) { request.initMetadata(); this.originalCommand = cr.getCommand(requestMsg.getCommandString(), request.metadata, pi); if (!request.validateAccess(requestMsg.getCommands(), this.originalCommand, CommandType.CACHED)) { LogManager.logDetail(LogConstants.CTX_DQP, requestID, "Using result set cached results", cacheId); //$NON-NLS-1$ this.resultsBuffer = cr.getResults(); doneProducingBatches(); return;
@Override protected TupleSource createTupleSource() throws TeiidComponentException, TeiidProcessingException { TupleBuffer tb = bc.collectTuples(); CachedResults cr = new CachedResults(); cr.setResults(tb, qp.getProcessorPlan()); Determinism determinismLevel = qp.getContext().getDeterminismLevel(); if (hint != null && hint.getDeterminism() != null) { LogManager.logTrace(LogConstants.CTX_DQP, new Object[] { "Cache hint modified the query determinism from ",determinismLevel, " to ", hint.getDeterminism() }); //$NON-NLS-1$ //$NON-NLS-2$ determinismLevel = hint.getDeterminism(); } cache.put(cid, determinismLevel, cr, hint != null?hint.getTtl():null); context.setDeterminismLevel(determinismLevel); success = true; return tb.createIndexedTupleSource(); }
if (cd.getInvalidation() == null || cd.getInvalidation() == Invalidation.NONE) { CachedResults cr = workItem.getRsCache().get(cid); if (cr != null && (cr.getRowLimit() == 0 || (parameterObject.limit > 0 && cr.getRowLimit() >= parameterObject.limit))) { parameterObject.doNotCache = true; LogManager.logDetail(LogConstants.CTX_DQP, "Using cache entry for", cid); //$NON-NLS-1$ work.close(); return cr.getResults().createIndexedTupleSource();
CachedResults results = cache.get(cid); if (results != null) { TupleBuffer buffer = results.getResults(); return buffer.createIndexedTupleSource();
return tuple; CachedResults cr = new CachedResults(); cr.setResults(tb, null); if (!Boolean.FALSE.equals(cd.getUpdatable())) { if (accessedGroups != null) { for (GroupSymbol gs : accessedGroups) { cr.getAccessInfo().addAccessedObject(gs.getMetadataID()); cr.getAccessInfo().setSensitiveToMetadataChanges(false); cr.setRowLimit(rowNumber);
CachedResults cr = new CachedResults(); cr.setCommand(originalCommand); cr.setResults(resultsBuffer, processor.getProcessorPlan()); if (requestMsg.getRowLimit() > 0 && resultsBuffer.getRowCount() == requestMsg.getRowLimit() + (collector.isSaveLastRow()?1:0)) { cr.setRowLimit(requestMsg.getRowLimit()); cr.getAccessInfo().setSensitiveToMetadataChanges(false); cr.getAccessInfo().getObjectsAccessed().clear();
CachedResults cr = new CachedResults(); cr.setCommand(originalCommand); cr.setResults(resultsBuffer, processor.getProcessorPlan()); if (requestMsg.getRowLimit() > 0 && resultsBuffer.getRowCount() == requestMsg.getRowLimit() + (collector.isSaveLastRow()?1:0)) { cr.setRowLimit(requestMsg.getRowLimit()); cr.getAccessInfo().setSensitiveToMetadataChanges(false); cr.getAccessInfo().getObjectsAccessed().clear();
CachedResults cr = new CachedResults(); cr.setCommand(originalCommand); cr.setResults(resultsBuffer, processor.getProcessorPlan()); if (requestMsg.getRowLimit() > 0 && resultsBuffer.getRowCount() == requestMsg.getRowLimit() + (collector.isSaveLastRow()?1:0)) { cr.setRowLimit(requestMsg.getRowLimit()); cr.getAccessInfo().setSensitiveToMetadataChanges(false); cr.getAccessInfo().getObjectsAccessed().clear();