/** * Create a new iterator for this buffer * @return */ public TupleBufferTupleSource createIndexedTupleSource(final boolean singleUse) { if (singleUse) { setForwardOnly(true); } return new TupleBufferTupleSource(singleUse); }
/** * Create a new iterator for this buffer * @return */ public TupleBufferTupleSource createIndexedTupleSource(final boolean singleUse) { if (singleUse) { setForwardOnly(true); } return new TupleBufferTupleSource(singleUse); }
/** * Create a new iterator for this buffer * @return */ public TupleBufferTupleSource createIndexedTupleSource(final boolean singleUse) { if (singleUse) { setForwardOnly(true); } return new TupleBufferTupleSource(singleUse); }
protected void mergePhase(int rowLimit) throws TeiidComponentException, TeiidProcessingException { if (this.activeTupleBuffers.size() > 1) { doMerge(rowLimit); } // Close sorted source (all others have been removed) Assertion.assertTrue(doneReading); activeTupleBuffers.get(0).close(); activeTupleBuffers.get(0).setForwardOnly(false); this.phase = DONE; return; }
protected void mergePhase(int rowLimit) throws TeiidComponentException, TeiidProcessingException { if (this.activeTupleBuffers.size() > 1) { doMerge(rowLimit); } // Close sorted source (all others have been removed) Assertion.assertTrue(doneReading); activeTupleBuffers.get(0).close(); activeTupleBuffers.get(0).setForwardOnly(false); this.phase = DONE; return; }
protected void mergePhase(int rowLimit) throws TeiidComponentException, TeiidProcessingException { if (this.activeTupleBuffers.size() > 1) { doMerge(rowLimit); } // Close sorted source (all others have been removed) Assertion.assertTrue(doneReading); activeTupleBuffers.get(0).close(); activeTupleBuffers.get(0).setForwardOnly(false); this.phase = DONE; return; }
private void sortPhase() throws BlockedException, TeiidComponentException, TeiidProcessingException { this.sortBuffer = this.sortUtility.sort(); this.sortBuffer.setForwardOnly(true); this.groupTupleSource = this.sortBuffer.createIndexedTupleSource(); this.phase = GROUP; }
private void sortPhase() throws BlockedException, TeiidComponentException, TeiidProcessingException { this.sortBuffer = this.sortUtility.sort(); this.sortBuffer.setForwardOnly(true); this.groupTupleSource = this.sortBuffer.createIndexedTupleSource(); this.phase = GROUP; }
private void sortPhase() throws BlockedException, TeiidComponentException, TeiidProcessingException { this.sortBuffer = this.sortUtility.sort(); this.sortBuffer.setForwardOnly(true); this.groupTupleSource = this.sortBuffer.createIndexedTupleSource(); this.phase = GROUP; }
public boolean nextBuffer() throws TeiidComponentException, TeiidProcessingException { this.closeBuffer(); if (this.buffers == null || this.buffers.isEmpty()) { if (!sortUtility.isDoneReading()) { this.buffers = sortUtility.onePassSort(limited); return nextBuffer(); } return false; } this.buffer = this.buffers.remove(this.buffers.size() - 1); this.buffer.setForwardOnly(false); this.resetState(); return true; }
public boolean nextBuffer() throws TeiidComponentException, TeiidProcessingException { this.closeBuffer(); if (this.buffers == null || this.buffers.isEmpty()) { if (!sortUtility.isDoneReading()) { this.buffers = sortUtility.onePassSort(limited); return nextBuffer(); } return false; } this.buffer = this.buffers.remove(this.buffers.size() - 1); this.buffer.setForwardOnly(false); this.resetState(); return true; }
private TupleBuffer createTupleBuffer() throws TeiidComponentException { TupleBuffer tb = bufferManager.createTupleBuffer(this.schema, this.groupName, TupleSourceType.PROCESSOR); if (LogManager.isMessageToBeRecorded(LogConstants.CTX_DQP, MessageLevel.DETAIL)) { LogManager.logDetail(LogConstants.CTX_DQP, "Created intermediate sort buffer", tb); //$NON-NLS-1$ } tb.setForwardOnly(true); return tb; }
private TupleBuffer createTupleBuffer() throws TeiidComponentException { TupleBuffer tb = bufferManager.createTupleBuffer(this.schema, this.groupName, TupleSourceType.PROCESSOR); if (LogManager.isMessageToBeRecorded(LogConstants.CTX_DQP, MessageLevel.DETAIL)) { LogManager.logDetail(LogConstants.CTX_DQP, "Created intermediate sort buffer", tb); //$NON-NLS-1$ } tb.setForwardOnly(true); return tb; }
private TupleBuffer createTupleBuffer() throws TeiidComponentException { TupleBuffer tb = bufferManager.createTupleBuffer(this.schema, this.groupName, TupleSourceType.PROCESSOR); if (LogManager.isMessageToBeRecorded(LogConstants.CTX_DQP, MessageLevel.DETAIL)) { LogManager.logDetail(LogConstants.CTX_DQP, "Created intermediate sort buffer", tb); //$NON-NLS-1$ } tb.setForwardOnly(true); return tb; }
public boolean nextBuffer() throws TeiidComponentException, TeiidProcessingException { this.closeBuffer(); if (this.buffers == null || this.buffers.isEmpty()) { if (!sortUtility.isDoneReading()) { this.buffers = sortUtility.onePassSort(limited); return nextBuffer(); } return false; } this.buffer = this.buffers.remove(this.buffers.size() - 1); this.buffer.setForwardOnly(false); this.resetState(); return true; }
public BatchCollector(BatchProducer sourceNode, BufferManager bm, CommandContext context, boolean forwardOnly) throws TeiidComponentException { this.sourceNode = sourceNode; this.forwardOnly = forwardOnly; this.hasFinalBuffer = this.sourceNode.hasBuffer(); if (!this.hasFinalBuffer) { this.buffer = bm.createTupleBuffer(sourceNode.getOutputElements(), context.getConnectionId(), TupleSourceType.PROCESSOR); this.buffer.setForwardOnly(forwardOnly); } }
public BatchCollector(BatchProducer sourceNode, BufferManager bm, CommandContext context, boolean forwardOnly) throws TeiidComponentException { this.sourceNode = sourceNode; this.forwardOnly = forwardOnly; this.hasFinalBuffer = this.sourceNode.hasBuffer(); if (!this.hasFinalBuffer) { this.buffer = bm.createTupleBuffer(sourceNode.getOutputElements(), context.getConnectionId(), TupleSourceType.PROCESSOR); this.buffer.setForwardOnly(forwardOnly); } }
public BatchCollector(BatchProducer sourceNode, BufferManager bm, CommandContext context, boolean forwardOnly) throws TeiidComponentException { this.sourceNode = sourceNode; this.forwardOnly = forwardOnly; this.hasFinalBuffer = this.sourceNode.hasBuffer(); if (!this.hasFinalBuffer) { this.buffer = bm.createTupleBuffer(sourceNode.getOutputElements(), context.getConnectionId(), TupleSourceType.PROCESSOR); this.buffer.setForwardOnly(forwardOnly); } }
IndexedTupleSource getIterator() throws TeiidComponentException, TeiidProcessingException { if (this.iterator == null) { if (this.buffer != null) { iterator = buffer.createIndexedTupleSource(); } else { // return a TupleBatch tuplesource iterator BatchIterator bi = new BatchIterator(this.source); if (this.collector != null) { bi.setBuffer(this.collector.getTupleBuffer(), implicitBuffer == ImplicitBuffer.ON_MARK); if (implicitBuffer == ImplicitBuffer.NONE) { bi.getBuffer().setForwardOnly(true); } this.collector = null; } else if (implicitBuffer != ImplicitBuffer.NONE) { bi.setBuffer(createSourceTupleBuffer(), implicitBuffer == ImplicitBuffer.ON_MARK); } this.iterator = bi; } } return this.iterator; }
@Test public void testForwardOnly() throws Exception { ElementSymbol x = new ElementSymbol("x"); //$NON-NLS-1$ x.setType(DataTypeManager.DefaultDataClasses.INTEGER); List<ElementSymbol> schema = Arrays.asList(x); TupleBuffer tb = BufferManagerFactory.getStandaloneBufferManager().createTupleBuffer(schema, "x", TupleSourceType.PROCESSOR); //$NON-NLS-1$ tb.setForwardOnly(true); tb.addTuple(Arrays.asList(1)); TupleBatch batch = tb.getBatch(1); assertTrue(!batch.getTerminationFlag()); assertEquals(1, batch.getBeginRow()); try { tb.getBatch(1); fail("expected exception"); //$NON-NLS-1$ } catch (AssertionError e) { } tb.addTuple(Arrays.asList(1)); tb.close(); batch = tb.getBatch(2); assertTrue(batch.getTerminationFlag()); assertEquals(2, batch.getBeginRow()); }