public class PlanNodeSearcher extends Object
| Modifier and Type | Method and Description |
|---|---|
int |
count() |
<T extends PlanNode> |
findAll() |
<T extends PlanNode> |
findFirst() |
<T extends PlanNode> |
findOnlyElement() |
<T extends PlanNode> |
findOnlyElement(T defaultValue) |
<T extends PlanNode> |
findSingle() |
boolean |
matches() |
PlanNodeSearcher |
recurseOnlyWhen(Predicate<PlanNode> skipOnly) |
PlanNode |
removeAll() |
PlanNode |
removeFirst() |
PlanNode |
replaceAll(PlanNode newPlanNode) |
PlanNode |
replaceFirst(PlanNode newPlanNode) |
static PlanNodeSearcher |
searchFrom(PlanNode node) |
static PlanNodeSearcher |
searchFrom(PlanNode node,
Lookup lookup)
Use it in optimizer
Rule only if you truly do not have a better option |
PlanNodeSearcher |
where(Predicate<PlanNode> where) |
public static PlanNodeSearcher searchFrom(PlanNode node)
public static PlanNodeSearcher searchFrom(PlanNode node, Lookup lookup)
Rule only if you truly do not have a better option
TODO: replace it with a support for plan (physical) properties in rules pattern matching
public PlanNodeSearcher where(Predicate<PlanNode> where)
public PlanNodeSearcher recurseOnlyWhen(Predicate<PlanNode> skipOnly)
public <T extends PlanNode> T findOnlyElement()
public <T extends PlanNode> T findOnlyElement(T defaultValue)
public PlanNode removeAll()
public PlanNode removeFirst()
public boolean matches()
public int count()
Copyright © 2012–2019. All rights reserved.