@Singleton protected static class AvoidJoinAboveUnionPlanner.AvoidJoinAboveUnionTransformer extends DefaultRecursiveIQTreeVisitingTransformer
iqFactory| Modifier | Constructor and Description |
|---|---|
protected |
AvoidJoinAboveUnionTransformer(IntermediateQueryFactory iqFactory) |
| Modifier and Type | Method and Description |
|---|---|
protected Optional<Map.Entry<NaryIQTree,it.unibz.inf.ontop.com.google.common.collect.ImmutableList<Integer>>> |
extractPushableSiblings(NaryIQTree unionTree,
it.unibz.inf.ontop.com.google.common.collect.ImmutableList<IQTree> children)
Criteria for selecting siblings: must be leaf and must naturally join (i.e.
|
IQTree |
transformInnerJoin(IQTree tree,
InnerJoinNode rootNode,
it.unibz.inf.ontop.com.google.common.collect.ImmutableList<IQTree> initialChildren) |
transformAggregation, transformBinaryNonCommutativeNode, transformConstruction, transformDistinct, transformEmpty, transformExtensionalData, transformFilter, transformIntensionalData, transformLeaf, transformLeftJoin, transformNaryCommutativeNode, transformNonStandardBinaryNonCommutativeNode, transformNonStandardLeafNode, transformNonStandardNaryNode, transformNonStandardUnaryNode, transformOrderBy, transformSlice, transformTrue, transformUnaryNode, transformUnionclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waittransform@Inject protected AvoidJoinAboveUnionTransformer(IntermediateQueryFactory iqFactory)
public IQTree transformInnerJoin(IQTree tree, InnerJoinNode rootNode, it.unibz.inf.ontop.com.google.common.collect.ImmutableList<IQTree> initialChildren)
transformInnerJoin in interface IQTreeVisitingTransformertransformInnerJoin in class DefaultRecursiveIQTreeVisitingTransformerprotected Optional<Map.Entry<NaryIQTree,it.unibz.inf.ontop.com.google.common.collect.ImmutableList<Integer>>> extractPushableSiblings(NaryIQTree unionTree, it.unibz.inf.ontop.com.google.common.collect.ImmutableList<IQTree> children)
Copyright © 2009–2020 Free University of Bozen-Bolzano. All rights reserved.