| Interface | Description |
|---|---|
| PlanOptimizer |
| Class | Description |
|---|---|
| ActualProperties | |
| ActualProperties.Builder | |
| ActualProperties.Global | |
| AddExchanges | |
| AddLocalExchanges | |
| BeginTableWrite | |
| BeginTableWrite.Context | |
| CheckSubqueryNodesAreRewritten | |
| DistinctOutputQueryUtil | |
| ExpressionEquivalence | |
| HashGenerationOptimizer | |
| ImplementIntersectAndExceptAsUnion |
Converts INTERSECT and EXCEPT queries into UNION ALL..GROUP BY...WHERE
Eg: SELECT a FROM foo INTERSECT SELECT x FROM bar
=>
SELECT a
FROM
(SELECT a,
COUNT(foo_marker) AS foo_cnt,
COUNT(bar_marker) AS bar_cnt
FROM
(
SELECT a, true as foo_marker, null as bar_marker FROM foo
UNION ALL
SELECT x, null as foo_marker, true as bar_marker FROM bar
) T1
GROUP BY a) T2
WHERE foo_cnt >= 1 AND bar_cnt >= 1;
|
| IndexJoinOptimizer | |
| IndexJoinOptimizer.IndexKeyTracer |
Identify the mapping from the lookup symbols used at the top of the index plan to
the actual symbols produced by the IndexSource.
|
| LimitPushDown | |
| LocalProperties | |
| MetadataDeleteOptimizer |
Converts delete followed immediately by table scan to a special metadata-only delete node
|
| MetadataQueryOptimizer |
Converts cardinality-insensitive aggregations (max, min, "distinct") over partition keys
into simple metadata queries
|
| OptimizeMixedDistinctAggregations | |
| OptimizerStats | |
| PlanNodeDecorrelator | |
| PlanNodeDecorrelator.DecorrelatedNode | |
| PlanNodeSearcher | |
| PredicatePushDown | |
| PropertyDerivations | |
| PruneUnreferencedOutputs |
Removes all computation that does is not referenced transitively from the root of the plan
|
| QueryCardinalityUtil | |
| ReplicateSemiJoinInDelete | |
| ScalarAggregationToJoinRewriter | |
| SetFlatteningOptimizer | |
| StatsRecordingPlanOptimizer | |
| StreamPreferredProperties | |
| StreamPropertyDerivations | |
| StreamPropertyDerivations.StreamProperties | |
| SymbolMapper | |
| SymbolMapper.Builder | |
| TransformQuantifiedComparisonApplyToLateralJoin | |
| UnaliasSymbolReferences |
Re-maps symbol references that are just aliases of each other (e.g., due to projections like
$0 := $1)
E.g.,
Output[$0, $1] -> Project[$0 := $2, $1 := $3 * 100] -> Aggregate[$2, $3 := sum($4)] -> ...
gets rewritten as
Output[$2, $1] -> Project[$2, $1 := $3 * 100] -> Aggregate[$2, $3 := sum($4)] -> ... |
| WindowFilterPushDown | |
| WindowNodeUtil |
| Enum | Description |
|---|---|
| StreamPropertyDerivations.StreamProperties.StreamDistribution |
Copyright © 2012–2019. All rights reserved.