Search in sources :

Example 1 with ProjectSetProjection

use of io.crate.execution.dsl.projection.ProjectSetProjection in project crate by crate.

the class ProjectSet method build.

@Override
public ExecutionPlan build(PlannerContext plannerContext, Set<PlanHint> planHints, ProjectionBuilder projectionBuilder, int limit, int offset, @Nullable OrderBy order, @Nullable Integer pageSizeHint, Row params, SubQueryResults subQueryResults) {
    ExecutionPlan sourcePlan = source.build(plannerContext, planHints, projectionBuilder, limit, offset, order, pageSizeHint, params, subQueryResults);
    InputColumns.SourceSymbols sourceSymbols = new InputColumns.SourceSymbols(source.outputs());
    List<Symbol> tableFunctionsWithInputs = InputColumns.create(this.tableFunctions, sourceSymbols);
    List<Symbol> standaloneWithInputs = InputColumns.create(this.standalone, sourceSymbols);
    sourcePlan.addProjection(new ProjectSetProjection(tableFunctionsWithInputs, standaloneWithInputs));
    return sourcePlan;
}
Also used : ProjectSetProjection(io.crate.execution.dsl.projection.ProjectSetProjection) InputColumns(io.crate.execution.dsl.projection.builder.InputColumns) ExecutionPlan(io.crate.planner.ExecutionPlan) Symbol(io.crate.expression.symbol.Symbol)

Aggregations

ProjectSetProjection (io.crate.execution.dsl.projection.ProjectSetProjection)1 InputColumns (io.crate.execution.dsl.projection.builder.InputColumns)1 Symbol (io.crate.expression.symbol.Symbol)1 ExecutionPlan (io.crate.planner.ExecutionPlan)1