@Override protected boolean hasNextCommand() { return !this.currentBatch.getTerminationFlag() || batchRow <= this.currentBatch.getEndRow(); }
@Override protected boolean hasNextCommand() { return !this.currentBatch.getTerminationFlag() || batchRow <= this.currentBatch.getEndRow(); }
@Override protected boolean hasNextCommand() { return !this.currentBatch.getTerminationFlag() || batchRow <= this.currentBatch.getEndRow(); }
@Override public TupleBatch nextBatchDirect() throws BlockedException, TeiidComponentException, TeiidProcessingException { TupleBatch tb = super.nextBatchDirect(); if (tb.getTerminationFlag()) { assertFalse(leftNode.isClosed()); } return tb; } };
public void testNoRowsFirstBatch() throws Exception { RelationalNode node = new FakeRelationalNode(0, new List[0]); RelationalPlan plan = new RelationalPlan(node); TupleBatch batch = plan.nextBatch(); assertTrue("Did not get terminator batch", batch.getTerminationFlag()); //$NON-NLS-1$ }
public void helpTestProjectFails(List elements, List[] data, List childElements, String expectedError) throws TeiidComponentException, TeiidProcessingException { ProjectNode projectNode = helpSetupProject(elements, data, childElements, null); try { projectNode.open(); while(true) { TupleBatch batch = projectNode.nextBatch(); if(batch.getTerminationFlag()) { break; } } fail("Expected error but test succeeded"); //$NON-NLS-1$ } catch(ExpressionEvaluationException e) { //note that this should not be a component exception, which would indicate that something abnormal happened assertEquals("Got unexpected exception", expectedError.toUpperCase(), e.getMessage().toUpperCase()); //$NON-NLS-1$ } }
@Test public void testOffsetWithoutLimit() throws Exception { LimitNode node = new LimitNode(1, null, new Constant(new Integer(10))); node.addChild(new FakeRelationalNode(2, getRows(10), 50)); node.open(); TupleBatch batch = node.nextBatch(); assertNotNull(batch); assertEquals(0, batch.getRowCount()); assertTrue(batch.getTerminationFlag()); }
@Test public void testDescriptionProperties() throws Exception { List[] data = createData(1000); FakeRelationalNode fakeNode = createFakeNode(data); // read from fake node while(true) { TupleBatch batch = fakeNode.nextBatch(); if(batch.getTerminationFlag()) { break; } } assertEquals("FakeRelationalNode", fakeNode.getDescriptionProperties().getName()); //$NON-NLS-1$ }
@Test public void testOffsetAtBatchSize() throws Exception { LimitNode node = getOffsetNode(50, new FakeRelationalNode(2, getRows(100), 50)); TupleBatch batch = node.nextBatch(); assertNotNull(batch); assertEquals(50, batch.getRowCount()); assertEquals(1, batch.getBeginRow()); assertEquals(50, batch.getEndRow()); assertEquals(Arrays.asList(new Object[] {new Integer(51)}), batch.getTuple(1)); assertTrue(batch.getTerminationFlag()); }
@Test public void testOffsetMultipleOfBatchSize() throws Exception { LimitNode node = getOffsetNode(100, new FakeRelationalNode(2, getRows(300), 50)); TupleBatch batch = node.nextBatch(); assertNotNull(batch); assertEquals(50, batch.getRowCount()); assertEquals(1, batch.getBeginRow()); assertEquals(50, batch.getEndRow()); assertEquals(Arrays.asList(new Object[] {new Integer(101)}), batch.getTuple(1)); assertFalse(batch.getTerminationFlag()); }
@Test public void testOffsetInSecondBatch() throws Exception { LimitNode node = getOffsetNode(55, new FakeRelationalNode(2, getRows(100), 50)); // batch 1 TupleBatch batch = node.nextBatch(); assertNotNull(batch); assertEquals(45, batch.getRowCount()); assertEquals(1, batch.getBeginRow()); assertEquals(45, batch.getEndRow()); assertEquals(Arrays.asList(new Object[] {new Integer(56)}), batch.getTuple(1)); assertTrue(batch.getTerminationFlag()); }
@Test public void testLimitGetsNoRows() throws Exception { LimitNode node = getLimitNode(100, new FakeRelationalNode(2, getRows(0), 50)); TupleBatch batch = node.nextBatch(); assertNotNull(batch); assertEquals(0, batch.getRowCount()); assertTrue(batch.getTerminationFlag()); }
@Test public void testOffsetGreaterThanRowCount() throws Exception { LimitNode node = getOffsetNode(100, new FakeRelationalNode(2, getRows(10), 50)); TupleBatch batch = node.nextBatch(); assertNotNull(batch); assertEquals(0, batch.getRowCount()); assertTrue(batch.getTerminationFlag()); }
@Test public void testOffsetNoRows() throws Exception { LimitNode node = getOffsetNode(100, new FakeRelationalNode(2, getRows(0), 50)); TupleBatch batch = node.nextBatch(); assertNotNull(batch); assertEquals(0, batch.getRowCount()); assertTrue(batch.getTerminationFlag()); }
@Test public void testLimitInSecondBatch() throws Exception { LimitNode node = getLimitNode(55, new FakeRelationalNode(2, getRows(100), 50)); TupleBatch batch = node.nextBatch(); assertNotNull(batch); assertEquals(50, batch.getRowCount()); assertEquals(1, batch.getBeginRow()); assertEquals(50, batch.getEndRow()); assertFalse(batch.getTerminationFlag()); batch = node.nextBatch(); assertEquals(5, batch.getRowCount()); assertEquals(51, batch.getBeginRow()); assertEquals(55, batch.getEndRow()); assertTrue(batch.getTerminationFlag()); }
@Test public void testLimitMultipleOfBatchSize() throws Exception { LimitNode node = getLimitNode(100, new FakeRelationalNode(2, getRows(150), 50)); TupleBatch batch = node.nextBatch(); assertNotNull(batch); assertEquals(50, batch.getRowCount()); assertEquals(1, batch.getBeginRow()); assertEquals(50, batch.getEndRow()); assertFalse(batch.getTerminationFlag()); batch = node.nextBatch(); assertEquals(50, batch.getRowCount()); assertEquals(51, batch.getBeginRow()); assertEquals(100, batch.getEndRow()); assertTrue(batch.getTerminationFlag()); }
@Test public void testZeroOffset() throws Exception { LimitNode node = getOffsetNode(0, new FakeRelationalNode(2, getRows(100), 50)); TupleBatch batch = node.nextBatch(); assertNotNull(batch); assertEquals(50, batch.getRowCount()); assertEquals(1, batch.getBeginRow()); assertEquals(50, batch.getEndRow()); assertFalse(batch.getTerminationFlag()); batch = node.nextBatch(); assertNotNull(batch); assertEquals(50, batch.getRowCount()); assertEquals(51, batch.getBeginRow()); assertEquals(100, batch.getEndRow()); assertTrue(batch.getTerminationFlag()); }
@Test public void testLimitInFirstBatch() throws Exception { LimitNode node = getLimitNode(40, new FakeRelationalNode(2, getRows(100), 50)); TupleBatch batch = node.nextBatch(); assertNotNull(batch); assertEquals(40, batch.getRowCount()); assertEquals(1, batch.getBeginRow()); assertEquals(40, batch.getEndRow()); assertTrue(batch.getTerminationFlag()); }
@Test public void testLimitAtBatchSize() throws Exception { LimitNode node = getLimitNode(50, new FakeRelationalNode(2, getRows(100), 50)); TupleBatch batch = node.nextBatch(); assertNotNull(batch); assertEquals(50, batch.getRowCount()); assertEquals(1, batch.getBeginRow()); assertEquals(50, batch.getEndRow()); assertTrue(batch.getTerminationFlag()); }
@Test public void testZeroLimit() throws Exception { LimitNode node = getLimitNode(0, new FakeRelationalNode(2, getRows(100), 50)); TupleBatch batch = node.nextBatch(); batch = node.nextBatch(); assertNotNull(batch); assertEquals(0, batch.getRowCount()); assertEquals(1, batch.getBeginRow()); assertEquals(0, batch.getEndRow()); assertTrue(batch.getTerminationFlag()); }