Package io.crate.planner.symbol

Examples of io.crate.planner.symbol.Literal.valueType()


        for (int i=0; i < expressions.length; i++) {
            value[i] = expressions[i] == null ? null : new BytesRef(expressions[i]);
        }
        Literal valuesLiteral = Literal.newLiteral(new ArrayType(DataTypes.STRING), value);
        AnyLikeOperator impl = (AnyLikeOperator)new AnyLikeOperator.AnyLikeResolver().getForTypes(
                Arrays.asList(valuesLiteral.valueType(), patternLiteral.valueType())
        );

        Function function = new Function(
                impl.info(),
                Arrays.<Symbol>asList(valuesLiteral, patternLiteral)
View Full Code Here


        for (int i=0; i < expressions.length; i++) {
            value[i] = expressions[i] == null ? null : new BytesRef(expressions[i]);
        }
        Literal valuesLiteral = Literal.newLiteral(new ArrayType(DataTypes.STRING), value);
        AnyLikeOperator impl = (AnyLikeOperator)new AnyLikeOperator.AnyLikeResolver().getForTypes(
                Arrays.asList(valuesLiteral.valueType(), DataTypes.STRING)
        );

        return impl.evaluate(valuesLiteral, patternLiteral);
    }
View Full Code Here

    public void testNegateLike() throws Exception {
        Literal patternLiteral = Literal.newLiteral("A");
        Literal valuesLiteral = Literal.newLiteral(new ArrayType(DataTypes.STRING),
                new Object[]{new BytesRef("A"), new BytesRef("B")});
        FunctionImplementation<Function> impl = new AnyLikeOperator.AnyLikeResolver().getForTypes(
                Arrays.asList(valuesLiteral.valueType(), DataTypes.STRING)
        );
        Function anyLikeFunction = new Function(impl.info(), Arrays.<Symbol>asList(valuesLiteral, patternLiteral));
        Input<Boolean> normalized = (Input<Boolean>) impl.normalizeSymbol(anyLikeFunction);
        assertThat(normalized.value(), is(true));
        assertThat(new NotPredicate().evaluate(normalized), is(false));
View Full Code Here

        for (int i=0; i < expressions.length; i++) {
            value[i] = expressions[i] == null ? null : new BytesRef(expressions[i]);
        }
        Literal valuesLiteral = Literal.newLiteral(new ArrayType(DataTypes.STRING), value);
        AnyNotLikeOperator impl = (AnyNotLikeOperator)new AnyNotLikeOperator.AnyNotLikeResolver().getForTypes(
                Arrays.asList(valuesLiteral.valueType(), patternLiteral.valueType())
        );

        Function function = new Function(
                impl.info(),
                Arrays.<Symbol>asList(valuesLiteral, patternLiteral)
View Full Code Here

        for (int i=0; i < expressions.length; i++) {
            value[i] = expressions[i] == null ? null : new BytesRef(expressions[i]);
        }
        Literal valuesLiteral = Literal.newLiteral(new ArrayType(DataTypes.STRING), value);
        AnyNotLikeOperator impl = (AnyNotLikeOperator)new AnyNotLikeOperator.AnyNotLikeResolver().getForTypes(
                Arrays.asList(valuesLiteral.valueType(), DataTypes.STRING)
        );

        return impl.evaluate(valuesLiteral, patternLiteral);
    }
View Full Code Here

    public void testNegateNotLike() throws Exception {
        Literal patternLiteral = Literal.newLiteral("A");
        Literal valuesLiteral = Literal.newLiteral(new ArrayType(DataTypes.STRING),
                new Object[]{new BytesRef("A"), new BytesRef("B")});
        FunctionImplementation<Function> impl = new AnyNotLikeOperator.AnyNotLikeResolver().getForTypes(
                Arrays.asList(valuesLiteral.valueType(), DataTypes.STRING)
        );
        Function anyNotLikeFunction = new Function(impl.info(), Arrays.<Symbol>asList(valuesLiteral, patternLiteral));
        Input<Boolean> normalized = (Input<Boolean>) impl.normalizeSymbol(anyNotLikeFunction);
        assertThat(normalized.value(), is(true));
        assertThat(new NotPredicate().evaluate(normalized), is(false));
View Full Code Here

            if (argSymbol instanceof DataTypeSymbol) {
                argumentTypes.add(((DataTypeSymbol) argSymbol).valueType());
                arguments.add(argSymbol);
            } else if (argSymbol.symbolType() == SymbolType.PARAMETER) {
                Literal literal = Literal.fromParameter((Parameter)argSymbol);
                argumentTypes.add(literal.valueType());
                arguments.add(literal);
            } else {
                // TODO: verify how this can happen
                throw new RuntimeException("Got an argument Symbol that doesn't have a type");
            }
View Full Code Here

        Symbol argSymbol = node.getExpression().accept(this, context);
        if (argSymbol instanceof DataTypeSymbol) {
            argumentType = ((DataTypeSymbol) argSymbol).valueType();
        } else if (argSymbol.symbolType() == SymbolType.PARAMETER) {
            Literal literal = Literal.fromParameter((Parameter)argSymbol);
            argumentType = literal.valueType();
            argSymbol = literal;
        } else {
            // TODO: verify how this can happen
            throw new RuntimeException("Got an argument Symbol that doesn't have a type");
        }
View Full Code Here

        for (int i=0; i<primaryKeyLiterals.size(); i++) {
            Object primaryKey = primaryKeyLiterals.get(i);
            if (primaryKey instanceof Literal) {
                Literal pkLiteral = (Literal)primaryKey;
                // support e.g. pk IN (Value..,)
                if (pkLiteral.valueType().id() == SetType.ID) {
                    Set<Literal> literals = Sets.newHashSet(Literal.explodeCollection(pkLiteral));
                    Iterator<Literal> literalIterator = literals.iterator();
                    for (int s=0; s<literals.size(); s++) {
                        Literal pk = literalIterator.next();
                        if (s >= primaryKeyValuesList.size()) {
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.