public DependentValueSource(TupleBuffer tb) { this(tb, tb.getSchema()); }
public DependentValueSource(TupleBuffer tb) { this(tb, tb.getSchema()); }
public DependentValueSource(TupleBuffer tb) { this(tb, tb.getSchema()); }
private Parameter createParameter(DependentSetCriteria criteria, final TupleBuffer tb, Expression ex) { Parameter p = new Parameter(); p.setType(ex.getType()); p.setValueIndex(tb.getSchema().indexOf(ex)); p.setDependentValueId(criteria.getContextSymbol()); return p; }
private Parameter createParameter(DependentSetCriteria criteria, final TupleBuffer tb, Expression ex) { Parameter p = new Parameter(); p.setType(ex.getType()); p.setValueIndex(tb.getSchema().indexOf(ex)); p.setDependentValueId(criteria.getContextSymbol()); return p; }
private Parameter createParameter(DependentSetCriteria criteria, final TupleBuffer tb, Expression ex) { Parameter p = new Parameter(); p.setType(ex.getType()); p.setValueIndex(tb.getSchema().indexOf(ex)); p.setDependentValueId(criteria.getContextSymbol()); return p; }
if (dvs == null) { originalVs = (DependentValueSource)dependentNode.getContext().getVariableContext().getGlobalValue(valueSource); if (!originalVs.isDistinct() || dependentSetStates.size() != originalVs.getTupleBuffer().getSchema().size()) { if (sortUtility == null) { List<Expression> sortSymbols = new ArrayList<Expression>(dependentSetStates.size()); if (originalVs.isDistinct() && sortSymbols.size() == originalVs.getTupleBuffer().getSchema().size()) { dvs = originalVs; } else {
if (dvs == null) { originalVs = (DependentValueSource)dependentNode.getContext().getVariableContext().getGlobalValue(valueSource); if (!originalVs.isDistinct() || dependentSetStates.size() != originalVs.getTupleBuffer().getSchema().size()) { if (sortUtility == null) { List<Expression> sortSymbols = new ArrayList<Expression>(dependentSetStates.size()); if (originalVs.isDistinct() && sortSymbols.size() == originalVs.getTupleBuffer().getSchema().size()) { dvs = originalVs; } else {
if (dvs == null) { originalVs = (DependentValueSource)dependentNode.getContext().getVariableContext().getGlobalValue(valueSource); if (!originalVs.isDistinct() || dependentSetStates.size() != originalVs.getTupleBuffer().getSchema().size()) { if (sortUtility == null) { List<Expression> sortSymbols = new ArrayList<Expression>(dependentSetStates.size()); if (originalVs.isDistinct() && sortSymbols.size() == originalVs.getTupleBuffer().getSchema().size()) { dvs = originalVs; } else {
partitionMapping[specIndex] = this.getBufferManager().createSTree(elements, this.getConnectionID(), 1); SortUtility su = new SortUtility(null, Mode.SORT, this.getBufferManager(), this.getConnectionID(), tb.getSchema(), info.orderType, info.nullOrderings, sortKeys); su.setWorkingBuffer(tb); su.setNonBlocking(true);
SortUtility su = new SortUtility(null, Mode.SORT, this.getBufferManager(), this.getConnectionID(), tb.getSchema(), info.orderType, info.nullOrderings, sortKeys); su.setWorkingBuffer(tb); su.setNonBlocking(true);
@Test public void testOnePass() throws Exception { ElementSymbol es1 = new ElementSymbol("e1"); //$NON-NLS-1$ es1.setType(DataTypeManager.DefaultDataClasses.INTEGER); ElementSymbol es2 = new ElementSymbol("e2"); //$NON-NLS-1$ es2.setType(DataTypeManager.DefaultDataClasses.INTEGER); BufferManager bm = BufferManagerFactory.getStandaloneBufferManager(); TupleBuffer tsid = bm.createTupleBuffer(Arrays.asList(es1, es2), "test", TupleSourceType.PROCESSOR); //$NON-NLS-1$ tsid.addTuple(Arrays.asList(1, 1)); tsid.addTuple(Arrays.asList(1, 2)); tsid.close(); SortUtility su = new SortUtility(tsid.createIndexedTupleSource(), Arrays.asList(es1), Arrays.asList(Boolean.TRUE), Mode.SORT, bm, "test", tsid.getSchema()); //$NON-NLS-1$ List<TupleBuffer> buffers = su.onePassSort(true); assertEquals(1, buffers.size()); assertTrue(!buffers.get(0).isForwardOnly()); }
@Test public void testDistinct() throws Exception { ElementSymbol es1 = new ElementSymbol("e1"); //$NON-NLS-1$ es1.setType(DataTypeManager.DefaultDataClasses.INTEGER); ElementSymbol es2 = new ElementSymbol("e2"); //$NON-NLS-1$ es2.setType(DataTypeManager.DefaultDataClasses.INTEGER); BufferManager bm = BufferManagerFactory.getStandaloneBufferManager(); TupleBuffer tsid = bm.createTupleBuffer(Arrays.asList(es1, es2), "test", TupleSourceType.PROCESSOR); //$NON-NLS-1$ tsid.addTuple(Arrays.asList(1, 1)); tsid.addTuple(Arrays.asList(1, 2)); tsid.close(); SortUtility su = new SortUtility(tsid.createIndexedTupleSource(), Arrays.asList(es1), Arrays.asList(Boolean.TRUE), Mode.DUP_REMOVE_SORT, bm, "test", tsid.getSchema()); //$NON-NLS-1$ su.sort(); assertFalse(su.isDistinct()); }
this.currentState.resultsBuffer.addTuple(this.currentState.currentRow.subList(0, this.currentState.resultsBuffer.getSchema().size())); this.currentState.currentRow = null;
this.currentState.resultsBuffer.addTuple(this.currentState.currentRow.subList(0, this.currentState.resultsBuffer.getSchema().size())); this.currentState.currentRow = null;
@Test public void testStableSort() throws Exception { ElementSymbol es1 = new ElementSymbol("e1"); //$NON-NLS-1$ es1.setType(DataTypeManager.DefaultDataClasses.INTEGER); BufferManager bm = BufferManagerFactory.getStandaloneBufferManager(); TupleBuffer tsid = bm.createTupleBuffer(Arrays.asList(es1, es1), "test", TupleSourceType.PROCESSOR); //$NON-NLS-1$ tsid.addTuple(Arrays.asList(1, 1)); tsid.addTuple(Arrays.asList(1, 2)); tsid.addTuple(Arrays.asList(1, 3)); tsid.close(); SortUtility su = new SortUtility(tsid.createIndexedTupleSource(), Arrays.asList(es1), Arrays.asList(Boolean.TRUE), Mode.SORT, bm, "test", tsid.getSchema()); //$NON-NLS-1$ su.setBatchSize(1); su.setStableSort(true); TupleBuffer out = su.sort(); TupleSource ts = out.createIndexedTupleSource(); assertEquals(Arrays.asList(1,1), ts.nextTuple()); assertEquals(Arrays.asList(1,2), ts.nextTuple()); assertEquals(Arrays.asList(1,3), ts.nextTuple()); assertNull(ts.nextTuple()); }
@Test public void testSortLimit() throws Exception { ElementSymbol es1 = new ElementSymbol("e1"); //$NON-NLS-1$ es1.setType(DataTypeManager.DefaultDataClasses.INTEGER); BufferManager bm = BufferManagerFactory.getStandaloneBufferManager(); TupleBuffer tsid = bm.createTupleBuffer(Arrays.asList(es1, es1), "test", TupleSourceType.PROCESSOR); //$NON-NLS-1$ tsid.addTuple(Arrays.asList(4)); tsid.addTuple(Arrays.asList(3)); tsid.addTuple(Arrays.asList(2)); tsid.addTuple(Arrays.asList(1)); tsid.close(); SortUtility su = new SortUtility(tsid.createIndexedTupleSource(), Arrays.asList(es1), Arrays.asList(Boolean.TRUE), Mode.SORT, bm, "test", tsid.getSchema()); //$NON-NLS-1$ su.setBatchSize(2); TupleBuffer out = su.sort(2); TupleSource ts = out.createIndexedTupleSource(); assertEquals(Arrays.asList(1), ts.nextTuple()); assertEquals(Arrays.asList(2), ts.nextTuple()); assertNull(ts.nextTuple()); su = new SortUtility(tsid.createIndexedTupleSource(), Arrays.asList(es1), Arrays.asList(Boolean.TRUE), Mode.SORT, bm, "test", tsid.getSchema()); //$NON-NLS-1$ su.setBatchSize(10); out = su.sort(2); ts = out.createIndexedTupleSource(); assertEquals(Arrays.asList(1), ts.nextTuple()); assertEquals(Arrays.asList(2), ts.nextTuple()); assertNull(ts.nextTuple()); }
sortUtility = new SortUtility(null, sortItems, removeDuplicates?Mode.DUP_REMOVE_SORT:Mode.SORT, mgr, groupName, collectionBuffer.getSchema()); collectionBuffer.setForwardOnly(true); this.sortUtility.setWorkingBuffer(collectionBuffer);
sortUtility = new SortUtility(null, sortItems, removeDuplicates?Mode.DUP_REMOVE_SORT:Mode.SORT, mgr, groupName, collectionBuffer.getSchema()); collectionBuffer.setForwardOnly(true); this.sortUtility.setWorkingBuffer(collectionBuffer);
sortUtility = new SortUtility(null, sortItems, removeDuplicates?Mode.DUP_REMOVE_SORT:Mode.SORT, mgr, groupName, collectionBuffer.getSchema()); collectionBuffer.setForwardOnly(true); this.sortUtility.setWorkingBuffer(collectionBuffer);