Examples of clearParents()


Examples of org.voltdb.plannodes.AbstractPlanNode.clearParents()

        AbstractPlanNode child = plan.getChild(0);
        if ((child instanceof AbstractScanPlanNode) == false)
            return plan;

        plan.clearChildren();
        child.clearParents();
        child.addInlinePlanNode(plan);

        return child;
    }
View Full Code Here

Examples of org.voltdb.plannodes.AbstractPlanNode.clearParents()

            if (AggregatePlanNode.getInlineAggregationNode(child) != null) {
                return plan;
            }

            plan.clearChildren();
            child.clearParents();
            child.addInlinePlanNode(plan);
            return child;
        }

        // push down through Projection
View Full Code Here

Examples of org.voltdb.plannodes.AbstractPlanNode.clearParents()

        // with recursivelyApply(child/projection . plan/limit . leaf/whatever)
        // == child/projection . recursivelyApply(plan/limit . leaf/whatever)
        if (child instanceof ProjectionPlanNode) {
            assert (child.getChildCount() == 1);
            AbstractPlanNode leaf = child.getChild(0);
            leaf.clearParents();
            plan.clearChildren();
            plan.addAndLinkChild(leaf);
            child.clearChildren();
            child.clearParents();
            child.addAndLinkChild(plan);
View Full Code Here

Examples of org.voltdb.plannodes.AbstractPlanNode.clearParents()

            child = child.getChild(0);
            if (child instanceof ProjectionPlanNode) {
                assert(child.getChildCount() == 1);
                child = child.getChild(0);
            }
            child.clearParents();
            if (current.getParentCount() == 0) {
                return child;
            } else {
                assert(current.getParentCount() == 1);
                AbstractPlanNode parent = current.getParent(0);
View Full Code Here

Examples of org.voltdb.plannodes.AbstractPlanNode.clearParents()

        assert(root != null);
        AbstractPlanNode accessPlanTemp = root;
        if (root instanceof ReceivePlanNode && !m_parsedSelect.m_mvFixInfo.needed()) {
            // Temporarily strip send/receive pair
            accessPlanTemp = root.getChild(0).getChild(0);
            accessPlanTemp.clearParents();
            root.getChild(0).unlinkChild(accessPlanTemp);

            // Add new distinct node to each partition
            AbstractPlanNode distinctNode = addDistinctNode(accessPlanTemp, expr);
            // Add send/receive pair back
View Full Code Here

Examples of org.voltdb.plannodes.AbstractPlanNode.clearParents()

        }

        if (m_parsedSelect.hasComplexAgg()) {
            AbstractPlanNode aggNode = root.getChild(0);
            root.clearChildren();
            aggNode.clearParents();
            aggNode = handleOrderBy(aggNode);
            root.addAndLinkChild(aggNode);
        } else {
            root = handleOrderBy(root);
        }
View Full Code Here

Examples of org.voltdb.plannodes.AbstractPlanNode.clearParents()

             */
            LimitPlanNode distLimit = m_parsedSelect.getLimitNodeDist();

            // Disconnect the distributed parts of the plan below the SEND node
            AbstractPlanNode distributedPlan = sendNode.getChild(0);
            distributedPlan.clearParents();
            sendNode.clearChildren();

            // If the distributed limit must be performed on ordered input,
            // ensure the order of the data on each partition.
            distributedPlan = handleOrderBy(distributedPlan);
View Full Code Here

Examples of org.voltdb.plannodes.AbstractPlanNode.clearParents()

            AbstractPlanNode child = root.getChild(0);
            if (isInlineLimitPlanNodePossible(child)) {
                child.addInlinePlanNode(topLimit);
            } else {
                root.clearChildren();
                child.clearParents();
                topLimit.addAndLinkChild(child);
                root.addAndLinkChild(topLimit);
            }
        } else {
            if (isInlineLimitPlanNodePossible(root)) {
View Full Code Here

Examples of org.voltdb.plannodes.AbstractPlanNode.clearParents()

            AbstractPlanNode joinNode = sendNodeChild;
            // No agg, limit pushed down at this point.
            assert(joinNode instanceof AbstractJoinPlanNode);

            // Fix the node after Re-aggregation node.
            joinNode.clearParents();

            assert(mvFixInfo.m_scanNode != null);
            mvFixInfo.m_scanNode.clearParents();

            // replace joinNode with MV scan node on each partition.
View Full Code Here

Examples of org.voltdb.plannodes.AbstractPlanNode.clearParents()

        }

        gbInfo.m_indexAccess = indexAccess;
        if (parent != null) {
            // have a parent and would like to replace the sequential scan to index scan
            indexAccess.clearParents();
            // For two children join node, index 0 is its outer side
            parent.replaceChild(0, indexAccess);

            return false;
        }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.