public PhysicalOperation(OperatorFactory operatorFactory, Map<Symbol, Integer> layout) { requireNonNull(operatorFactory, "operatorFactory is null"); requireNonNull(layout, "layout is null"); this.operatorFactories = ImmutableList.of(operatorFactory); this.layout = ImmutableMap.copyOf(layout); this.types = operatorFactory.getTypes(); }
public IndexBuildDriverFactoryProvider(int outputOperatorId, PlanNodeId planNodeId, boolean inputDriver, List<OperatorFactory> coreOperatorFactories, Optional<DynamicTupleFilterFactory> dynamicTupleFilterFactory) { requireNonNull(planNodeId, "planNodeId is null"); requireNonNull(coreOperatorFactories, "coreOperatorFactories is null"); checkArgument(!coreOperatorFactories.isEmpty(), "coreOperatorFactories is empty"); requireNonNull(dynamicTupleFilterFactory, "dynamicTupleFilterFactory is null"); this.outputOperatorId = outputOperatorId; this.planNodeId = planNodeId; this.inputDriver = inputDriver; this.coreOperatorFactories = ImmutableList.copyOf(coreOperatorFactories); this.outputTypes = ImmutableList.copyOf(this.coreOperatorFactories.get(this.coreOperatorFactories.size() - 1).getTypes()); this.dynamicTupleFilterFactory = dynamicTupleFilterFactory; }
public PhysicalOperation(OperatorFactory operatorFactory, Map<Symbol, Integer> layout, PhysicalOperation source) { requireNonNull(operatorFactory, "operatorFactory is null"); requireNonNull(layout, "layout is null"); requireNonNull(source, "source is null"); this.operatorFactories = ImmutableList.<OperatorFactory>builder().addAll(source.getOperatorFactories()).add(operatorFactory).build(); this.layout = ImmutableMap.copyOf(layout); this.types = operatorFactory.getTypes(); }
protected DriverFactory createDriverFactory() { List<OperatorFactory> operatorFactories = new ArrayList<>(createOperatorFactories()); operatorFactories.add(new NullOutputOperatorFactory(999, new PlanNodeId("test"), Iterables.getLast(operatorFactories).getTypes())); return new DriverFactory(true, true, operatorFactories); }
@Override protected List<? extends OperatorFactory> createOperatorFactories() { OperatorFactory tableScanOperator = createTableScanOperator(0, new PlanNodeId("test"), "orders", "totalprice"); TopNOperatorFactory topNOperator = new TopNOperatorFactory( 1, new PlanNodeId("test"), tableScanOperator.getTypes(), 100, ImmutableList.of(0), ImmutableList.of(ASC_NULLS_LAST), false); return ImmutableList.of(tableScanOperator, topNOperator); }
@Override protected List<? extends OperatorFactory> createOperatorFactories() { OperatorFactory tableScanOperator = createTableScanOperator(0, new PlanNodeId("test"), "orders", "totalprice", "clerk"); LimitOperatorFactory limitOperator = new LimitOperatorFactory(1, new PlanNodeId("test"), tableScanOperator.getTypes(), ROWS); OrderByOperatorFactory orderByOperator = new OrderByOperatorFactory( 2, new PlanNodeId("test"), limitOperator.getTypes(), ImmutableList.of(1), ROWS, ImmutableList.of(0), ImmutableList.of(ASC_NULLS_LAST)); return ImmutableList.of(tableScanOperator, limitOperator, orderByOperator); }
node.getId(), aggregationConcurrency, exchangeSource.getTypes(), getChannelsForSymbols(ImmutableList.copyOf(node.getMasks().values()), source.getLayout()), getChannelsForSymbols(ImmutableList.copyOf(node.getGroupBy()), source.getLayout()),
assertType(operatorFactory.getTypes(), expectedType); Object directOperatorValue = selectSingleValue(operatorFactory, session); results.add(directOperatorValue);