apurtell opened a new pull request, #2510: URL: https://github.com/apache/phoenix/pull/2510
The chosen `JoinCompiler.Strategy` and the `SKIP MERGE` and `DELAYED EVALUATION` decorators move out of inline parentheticals into a single trailing SQL comment per join operator line. `HashJoinPlan` and `SortMergeJoinPlan` gain a `JoinCompiler.Strategy strategy` field and getter/setter. `QueryCompiler.compileJoinQuery` threads the chosen strategy through `HashJoinPlan.create(...)`. `UnionPlan.getExplainPlan()` is rewritten to compose recursively from each branch's `getExplainPlan()` (like `SortMergeJoinPlan.getExplainPlan()`). The N branches are represented via the existing `subPlans` list. A new `UnionResultIterators.explainBranches(plans, planSteps, builder)` helper is the single source of truth for branch composition. The two `ResultIterators.explain(...)` SPI overrides on `UnionResultIterators` become thin delegates to it. `UnionPlan.getExplainPlan()` no longer triggers sub-plan execution, so connectionless tests can check them. Minor housekeeping: Replace string 'Truncate Table' with 'TRUNCATE TABLE' in EXPLAIN DDL. Add TPC-DS derived ITs asserting the full ordered results of various UNION and JOIN plans and expected `assertPlan` assertions. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
