if (!table.isSubselect()) { context.setCurrentTable(table.getTableRef()); PTable projectedTable = table.createProjectedTable(!projectPKColumns, context); TupleProjector projector = new TupleProjector(projectedTable); TupleProjector.serializeProjectorIntoScan(context.getScan(), projector); PTable projectedTable = table.createProjectedTable(plan.getProjector()); context.setResolver(FromCompiler.getResolverForProjectedTable(projectedTable, context.getConnection(), subquery.getUdfParseNodes())); return new TupleProjectionPlan(plan, new TupleProjector(plan.getProjector()), table.compilePostFilterExpression(context));
if (!table.isSubselect()) { context.setCurrentTable(table.getTableRef()); initialProjectedTable = table.createProjectedTable(!projectPKColumns, context); tableRef = table.getTableRef(); table.projectColumns(context.getScan()); SelectStatement subquery = table.getAsSubquery(orderBy); QueryPlan plan = compileSubquery(subquery, false); initialProjectedTable = table.createProjectedTable(plan.getProjector()); tableRef = plan.getTableRef(); context.getScan().setFamilyMap(plan.getContext().getScan().getFamilyMap()); if (!rhsTable.isSubselect()) { context.setCurrentTable(rhsTable.getTableRef()); rhsProjTable = rhsTable.createProjectedTable(!projectPKColumns, context); rhsTableRef = rhsTable.getTableRef(); rhsTable.projectColumns(context.getScan()); SelectStatement subquery = rhsTable.getAsSubquery(orderBy); QueryPlan plan = compileSubquery(subquery, false); rhsProjTable = rhsTable.createProjectedTable(plan.getProjector()); rhsTableRef = plan.getTableRef(); context.getScan().setFamilyMap(plan.getContext().getScan().getFamilyMap());
if (!table.isSubselect()) { context.setCurrentTable(table.getTableRef()); PTable projectedTable = table.createProjectedTable(!projectPKColumns, context); TupleProjector projector = new TupleProjector(projectedTable); TupleProjector.serializeProjectorIntoScan(context.getScan(), projector); PTable projectedTable = table.createProjectedTable(plan.getProjector()); context.setResolver(FromCompiler.getResolverForProjectedTable(projectedTable, context.getConnection(), subquery.getUdfParseNodes())); return new TupleProjectionPlan(plan, new TupleProjector(plan.getProjector()), table.compilePostFilterExpression(context));
if (!table.isSubselect()) { context.setCurrentTable(table.getTableRef()); initialProjectedTable = table.createProjectedTable(!projectPKColumns, context); tableRef = table.getTableRef(); table.projectColumns(context.getScan()); SelectStatement subquery = table.getAsSubquery(orderBy); QueryPlan plan = compileSubquery(subquery, false); initialProjectedTable = table.createProjectedTable(plan.getProjector()); tableRef = plan.getTableRef(); context.getScan().setFamilyMap(plan.getContext().getScan().getFamilyMap()); if (!rhsTable.isSubselect()) { context.setCurrentTable(rhsTable.getTableRef()); rhsProjTable = rhsTable.createProjectedTable(!projectPKColumns, context); rhsTableRef = rhsTable.getTableRef(); rhsTable.projectColumns(context.getScan()); SelectStatement subquery = rhsTable.getAsSubquery(orderBy); QueryPlan plan = compileSubquery(subquery, false); rhsProjTable = rhsTable.createProjectedTable(plan.getProjector()); rhsTableRef = plan.getTableRef(); context.getScan().setFamilyMap(plan.getContext().getScan().getFamilyMap());
if (!table.isSubselect()) { context.setCurrentTable(table.getTableRef()); initialProjectedTable = table.createProjectedTable(!projectPKColumns, context); tableRef = table.getTableRef(); table.projectColumns(context.getScan()); SelectStatement subquery = table.getAsSubquery(orderBy); QueryPlan plan = compileSubquery(subquery, false); initialProjectedTable = table.createProjectedTable(plan.getProjector()); tableRef = plan.getTableRef(); context.getScan().setFamilyMap(plan.getContext().getScan().getFamilyMap()); if (!rhsTable.isSubselect()) { context.setCurrentTable(rhsTable.getTableRef()); rhsProjTable = rhsTable.createProjectedTable(!projectPKColumns, context); rhsTableRef = rhsTable.getTableRef(); rhsTable.projectColumns(context.getScan()); SelectStatement subquery = rhsTable.getAsSubquery(orderBy); QueryPlan plan = compileSubquery(subquery, false); rhsProjTable = rhsTable.createProjectedTable(plan.getProjector()); rhsTableRef = plan.getTableRef(); context.getScan().setFamilyMap(plan.getContext().getScan().getFamilyMap());
if (!table.isSubselect()) { context.setCurrentTable(table.getTableRef()); PTable projectedTable = table.createProjectedTable(!projectPKColumns, context); TupleProjector projector = new TupleProjector(projectedTable); TupleProjector.serializeProjectorIntoScan(context.getScan(), projector); PTable projectedTable = table.createProjectedTable(plan.getProjector()); context.setResolver(FromCompiler.getResolverForProjectedTable(projectedTable, context.getConnection(), subquery.getUdfParseNodes())); return new TupleProjectionPlan(plan, new TupleProjector(plan.getProjector()), table.compilePostFilterExpression(context));