Package com.foundationdb.sql.optimizer.plan.JoinNode

Examples of com.foundationdb.sql.optimizer.plan.JoinNode.JoinType


                result = new TableSource(table, required, name);
            }
            else if (fromTable instanceof com.foundationdb.sql.parser.JoinNode) {
                com.foundationdb.sql.parser.JoinNode joinNode =
                    (com.foundationdb.sql.parser.JoinNode)fromTable;
                JoinType joinType;
                switch (joinNode.getNodeType()) {
                case NodeTypes.JOIN_NODE:
                    joinType = JoinType.INNER;
                    break;
                case NodeTypes.HALF_OUTER_JOIN_NODE:
View Full Code Here


            if (input instanceof ExpressionsSource) {
                ExpressionsSource expressionsSource = (ExpressionsSource)input;
                // If the source was VALUES, see if it's distinct. If so,
                // we can possibly reverse the join and benefit from an
                // index.
                JoinType semiType = JoinType.SEMI;
                DistinctState distinct = expressionsSource.getDistinctState();
                switch (distinct) {
                case DISTINCT:
                case DISTINCT_WITH_NULL:
                    semiType = JoinType.SEMI_INNER_ALREADY_DISTINCT;
View Full Code Here

     */
    public void emitCsgCmp(long s1, long s2) {
        P p1 = getPlan(s1);
        P p2 = getPlan(s2);
        long s = JoinableBitSet.union(s1, s2);
        JoinType join12 = JoinType.INNER, join21 = JoinType.INNER;
        evaluateOperators.clear();
        oneSidedJoinOperators.clear();
        boolean connected = false;
        for (int e = 0; e < nedges; e +=2) {
            boolean isEvaluate = isEvaluateOperator(s1, s2, e);
            boolean isRelevant = isRelevant(s1, s2, e);
            connected |= isEvaluate;
            if (isEvaluate || isRelevant) {
                // The one that produced this edge.
                JoinOperator operator = operators.get(e/2);
                JoinType joinType = operator.getJoinType();
                if (joinType != JoinType.INNER) {
                    join12 = joinType;
                    join21 = commuteJoinType(joinType);
                }
                evaluateOperators.add(operator);
View Full Code Here

                    JoinEnumerator innerProcessor = new JoinEnumerator (this);
                    rightPlan = innerProcessor.run(joins.getRight(), queryGoal.getWhereConditions()).bestPlan(Collections.<JoinOperator>emptyList());
                }
            }

            JoinType joinType = joins.getJoinType();
            CostEstimate costEstimate = leftPlan.costEstimate.nest(rightPlan.costEstimate);
            JoinPlan joinPlan = new JoinPlan(leftPlan, rightPlan,
                                             joinType, JoinNode.Implementation.NESTED_LOOPS,
                                             outsideJoins, costEstimate);
            return joinPlan;
View Full Code Here

                               TableGroupJoinNode leafTable,
                               TableGroupJoinNode rootTable) {
        List<TableSource> tableSources = new ArrayList<>();
        List<TableNode> tableNodes = new ArrayList<>();
        List<JoinType> joinTypes = new ArrayList<>();
        JoinType joinType = null;
        ConditionList joinConditions = new ConditionList(0);
        TableGroupJoinNode table = leafTable;
        while (true) {
            if (isRequired(table)) {
                assert !isPending(table);
View Full Code Here

TOP

Related Classes of com.foundationdb.sql.optimizer.plan.JoinNode.JoinType

Copyright © 2018 www.massapicom. 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.