public static void assertOperatorEquals(Operator operator, List<Page> expected) { List<Page> actual = toPages(operator); assertEquals(actual.size(), expected.size()); for (int i = 0; i < actual.size(); i++) { assertPageEquals(operator.getTypes(), actual.get(i), expected.get(i)); } }
public static void assertOperatorEquals(Operator operator, List<Page> input, List<Page> expected) { List<Page> actual = toPages(operator, input); assertEquals(actual.size(), expected.size()); for (int i = 0; i < actual.size(); i++) { assertPageEquals(operator.getTypes(), actual.get(i), expected.get(i)); } }
private static boolean executeFilter(Operator operator) { Page page = getAtMostOnePage(operator, SOURCE_PAGE); boolean value; if (page != null) { assertEquals(page.getPositionCount(), 1); assertEquals(page.getChannelCount(), 1); assertTrue(operator.getTypes().get(0).getBoolean(page.getBlock(0), 0)); value = true; } else { value = false; } return value; }
private Object selectSingleValue(Operator operator) { Page output = getAtMostOnePage(operator, SOURCE_PAGE); assertNotNull(output); assertEquals(output.getPositionCount(), 1); assertEquals(output.getChannelCount(), 1); Type type = operator.getTypes().get(0); Block block = output.getBlock(0); assertEquals(block.getPositionCount(), 1); return type.getObjectValue(session.toConnectorSession(), block, 0); }
public static void assertOperatorEquals(Operator operator, MaterializedResult expected) { List<Page> pages = toPages(operator); MaterializedResult actual = toMaterializedResult(operator.getOperatorContext().getSession(), operator.getTypes(), pages); assertEquals(actual, expected); }
public static void assertOperatorEqualsIgnoreOrder(Operator operator, List<Page> input, MaterializedResult expected, boolean hashEnabled, Optional<Integer> hashChannel) { List<Page> pages = toPages(operator, input); MaterializedResult actual; if (hashEnabled && hashChannel.isPresent()) { // Drop the hashChannel for all pages List<Page> actualPages = dropChannel(pages, ImmutableList.of(hashChannel.get())); List<Type> expectedTypes = without(operator.getTypes(), ImmutableList.of(hashChannel.get())); actual = toMaterializedResult(operator.getOperatorContext().getSession(), expectedTypes, actualPages); } else { actual = toMaterializedResult(operator.getOperatorContext().getSession(), operator.getTypes(), pages); } assertEqualsIgnoreOrder(actual.getMaterializedRows(), expected.getMaterializedRows()); }
public static void assertOperatorEquals(Operator operator, List<Page> input, MaterializedResult expected, boolean hashEnabled, List<Integer> hashChannels) { List<Page> pages = toPages(operator, input); MaterializedResult actual; if (hashEnabled && !hashChannels.isEmpty()) { // Drop the hashChannel for all pages List<Page> actualPages = dropChannel(pages, hashChannels); List<Type> expectedTypes = without(operator.getTypes(), hashChannels); actual = toMaterializedResult(operator.getOperatorContext().getSession(), expectedTypes, actualPages); } else { actual = toMaterializedResult(operator.getOperatorContext().getSession(), operator.getTypes(), pages); } assertEquals(actual, expected); }
private MaterializingOperator createSinkOperator(Operator source) { return new MaterializingOperator(driverContext.addOperatorContext(1, new PlanNodeId("test"), "sink"), source.getTypes()); }
assertPageEquals(operator.getTypes(), page, PAGE);
@Test public void testLimitZero() throws Exception { List<Page> input = rowPagesBuilder(BIGINT).row(1).build(); TopNOperatorFactory factory = new TopNOperatorFactory( 0, new PlanNodeId("test"), ImmutableList.of(BIGINT), 0, ImmutableList.of(0), ImmutableList.of(DESC_NULLS_LAST), false); Operator operator = factory.createOperator(driverContext); MaterializedResult expected = resultBuilder(driverContext.getSession(), BIGINT).build(); // assertOperatorEquals assumes operators do not start in finished state assertEquals(operator.isFinished(), true); assertEquals(operator.needsInput(), false); assertEquals(operator.getOutput(), null); List<Page> pages = OperatorAssertion.toPages(operator, input.iterator()); MaterializedResult actual = OperatorAssertion.toMaterializedResult(operator.getOperatorContext().getSession(), operator.getTypes(), pages); assertEquals(actual, expected); }
assertType(interpretedFilterProject.getTypes(), expectedType); Object interpretedValue = selectSingleValue(interpretedFilterProject); results.add(interpretedValue);
@Test(dataProvider = "hashEnabledValues", expectedExceptions = ExceededMemoryLimitException.class, expectedExceptionsMessageRegExp = "Query exceeded local memory limit of.*") public void testMemoryLimit(boolean hashEnabled) throws Exception { DriverContext driverContext = createTaskContext(executor, TEST_SESSION, new DataSize(100, BYTE)) .addPipelineContext(true, true) .addDriverContext(); OperatorContext operatorContext = driverContext.addOperatorContext(0, new PlanNodeId("test"), ValuesOperator.class.getSimpleName()); List<Type> buildTypes = ImmutableList.<Type>of(BIGINT); RowPagesBuilder rowPagesBuilder = rowPagesBuilder(hashEnabled, Ints.asList(0), buildTypes); Operator buildOperator = new ValuesOperator(operatorContext, buildTypes, rowPagesBuilder .addSequencePage(10000, 20) .build()); SetBuilderOperatorFactory setBuilderOperatorFactory = new SetBuilderOperatorFactory(1, new PlanNodeId("test"), buildOperator.getTypes().get(0), 0, rowPagesBuilder.getHashChannel(), 10); Operator setBuilderOperator = setBuilderOperatorFactory.createOperator(driverContext); Driver driver = new Driver(driverContext, buildOperator, setBuilderOperator); while (!driver.isFinished()) { driver.process(); } } }
MaterializedResult actual = toMaterializedResult(operator.getOperatorContext().getSession(), operator.getTypes(), pages);
.row(3) .build()); SetBuilderOperatorFactory setBuilderOperatorFactory = new SetBuilderOperatorFactory(1, new PlanNodeId("test"), buildOperator.getTypes().get(0), 0, rowPagesBuilder.getHashChannel(), 10); Operator setBuilderOperator = setBuilderOperatorFactory.createOperator(driverContext);
.row((Object) null) .build()); SetBuilderOperatorFactory setBuilderOperatorFactory = new SetBuilderOperatorFactory(1, new PlanNodeId("test"), buildOperator.getTypes().get(0), 0, rowPagesBuilder.getHashChannel(), 10); Operator setBuilderOperator = setBuilderOperatorFactory.createOperator(driverContext);
.row(3) .build()); SetBuilderOperatorFactory setBuilderOperatorFactory = new SetBuilderOperatorFactory(1, new PlanNodeId("test"), buildOperator.getTypes().get(0), 0, rowPagesBuilder.getHashChannel(), 10); Operator setBuilderOperator = setBuilderOperatorFactory.createOperator(driverContext);
.row(50) .build()); SetBuilderOperatorFactory setBuilderOperatorFactory = new SetBuilderOperatorFactory(1, new PlanNodeId("test"), buildOperator.getTypes().get(0), 0, rowPagesBuilder.getHashChannel(), 10); Operator setBuilderOperator = setBuilderOperatorFactory.createOperator(driverContext);