Package com.foundationdb.sql.optimizer.plan

Examples of com.foundationdb.sql.optimizer.plan.ComparisonCondition


            return true;
        }

        private void equivalenceCondition(ConditionExpression condition) {
            if (condition instanceof ComparisonCondition) {
                ComparisonCondition comparison = (ComparisonCondition) condition;
                if (comparison.getOperation().equals(Comparison.EQ)
                        && (comparison.getLeft() instanceof ColumnExpression)
                        && (comparison.getRight() instanceof ColumnExpression)
                        ) {
                    ColumnExpression left = (ColumnExpression) comparison.getLeft();
                    ColumnExpression right = (ColumnExpression) comparison.getRight();
                    if (!left.equals(right)) {
                        markNotNull(left);
                        markNotNull(right);
                        equivs.get().markEquivalent(left, right); // also implies right.equivalentTo(left)
                    }
View Full Code Here


        }
        else if (node instanceof CastExpression)
            return assembleCastExpression((CastExpression)node,
                    columnContext, subqueryAssembler);
        else if (node instanceof ComparisonCondition) {
            ComparisonCondition cond = (ComparisonCondition)node;
            TPreparedExpression left = assembleExpression(cond.getLeft(), columnContext, subqueryAssembler);
            TPreparedExpression right = assembleExpression(cond.getRight(), columnContext, subqueryAssembler);
            // never use a collator if we have a KeyComparable
            AkCollator collator = (cond.getKeyComparable() == null) ? collator(cond, left, right) : null;
            if (collator != null)
                return collate(left, cond.getOperation(), right, collator);
            else
                return compare(left, cond, right);
        }
        else if (node instanceof FunctionExpression) {
            FunctionExpression funcNode = (FunctionExpression)node;
View Full Code Here

        CharacterTypeAttributes rightAttributes = StringAttribute.characterTypeAttributes(rightInstance);
        return TString.mergeAkCollators(leftAttributes, rightAttributes);
    }

    private TPreparedExpression in(TPreparedExpression lhs, List<TPreparedExpression> rhs, InListCondition inList) {
        ComparisonCondition comparison = inList.getComparison();
        if (comparison == null)
            return TInExpression.prepare(lhs, rhs, queryContext);
        else
            return TInExpression.prepare(lhs, rhs,
                                         comparison.getRight().getType(),
                                         comparison.getKeyComparable(),
                                         queryContext);
    }
View Full Code Here

public final class ColumnRanges {

    public static ColumnRanges rangeAtNode(ConditionExpression node) {
        if (node instanceof ComparisonCondition) {
            ComparisonCondition comparisonCondition = (ComparisonCondition) node;
            return comparisonToRange(comparisonCondition);
        }
        else if (node instanceof LogicalFunctionCondition) {
            LogicalFunctionCondition condition = (LogicalFunctionCondition) node;
            if (condition.getOperands().size() != 2)
View Full Code Here

    public static ConstantExpression constant(long value) {
        return new ConstantExpression(value, MNumeric.BIGINT.instance(true));
    }

    public static ConditionExpression compare(ColumnExpression column, Comparison comparison, ConstantExpression value) {
        return new ComparisonCondition(comparison, column, value, null, null, null);
    }
View Full Code Here

    public static ConditionExpression compare(ColumnExpression column, Comparison comparison, ConstantExpression value) {
        return new ComparisonCondition(comparison, column, value, null, null, null);
    }

    public static ConditionExpression compare(ConstantExpression value, Comparison comparison, ColumnExpression column) {
        return new ComparisonCondition(comparison, value, column, null, null, null);
    }
View Full Code Here

TOP

Related Classes of com.foundationdb.sql.optimizer.plan.ComparisonCondition

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.