Package com.foundationdb.server.types.texpressions

Examples of com.foundationdb.server.types.texpressions.TEvaluatableExpression


        {
            super(context, input);
            int nsort = ordering.sortColumns();
            tEvaluations = new ArrayList<>(nsort);
            for (int i = 0; i < nsort; ++i) {
                TEvaluatableExpression evaluation = ordering.expression(i).build();
                tEvaluations.add(evaluation);
            }
        }
View Full Code Here


            this.index = index;
            this.row = arow;

            values = new Comparable[ordering.sortColumns()];
            for (int i = 0; i < values.length; i++) {
                TEvaluatableExpression evaluation = evaluations.get(i);
                evaluation.with(arow);
                evaluation.evaluate();
                values[i] = toObject(evaluation.resultValue());
            }
        }
View Full Code Here

                        return expr.resultType();
                    }

                    @Override
                    public TEvaluatableExpression build() {
                        final TEvaluatableExpression eval = expr.build();
                        return new TEvaluatableExpression() {
                            @Override
                            public ValueSource resultValue() {
                                return value;
                            }

                            @Override
                            public void evaluate() {
                                eval.evaluate();
                                ValueSource inSrc = eval.resultValue();
                                if (inSrc.isNull())
                                    value.putNull();
                                else
                                    value.putString(inSrc.getString(), null);
                            }

                            @Override
                            public void with(Row row) {
                                eval.with(row);
                            }

                            @Override
                            public void with(QueryContext context) {
                                eval.with(context);
                            }

                            @Override
                            public void with(QueryBindings bindings) {
                                eval.with(bindings);
                            }

                            private final Value value = new Value(MString.VARCHAR.instance(255, true));
                        };
                    }
View Full Code Here

            TPreparedExpression expr = new TPreparedFunction(overload, functionType, arguments);
            if (!functionType.equals(columnType)) {
                TCast tcast = registry.getCastsResolver().cast(functionType.typeClass(), columnType.typeClass());
                expr = new TCastExpression(expr, tcast, columnType);
            }
            TEvaluatableExpression eval = expr.build();
            eval.with(queryContext);
            expressions[fi] = eval;
        }
        this.rowCreator = new RowDataCreator();
        this.inputStream = inputStream;
        this.encoding = encoding;
View Full Code Here

            ValueSource value = values[columnIndex];
            rowCreator.put(value, row, columnIndex);
        }
        for (int i = 0; i < evalColumns.length; i++) {
            int columnIndex = evalColumns[i];
            TEvaluatableExpression expr = expressions[i];
            expr.evaluate();
            ValueSource value = expr.resultValue();
            rowCreator.put(value, row, columnIndex);
        }
        return row;
    }
View Full Code Here

                    return true;
                }

                @Override
                public Query getQuery(QueryContext context, QueryBindings bindings) {
                    TEvaluatableExpression qeval = qexpr.build();
                    qeval.with(context);
                    qeval.with(bindings);
                    qeval.evaluate();
                    if (qeval.resultValue().isNull())
                        return null;
                    String query = qeval.resultValue().getString();
                    return infos.parseQuery(context, indexName, fieldName, query);
                }

                @Override
                public CompoundExplainer getExplainer(ExplainContext context) {
View Full Code Here

                    return true;
                }

                @Override
                public Query getQuery(QueryContext context, QueryBindings bindings) {
                    TEvaluatableExpression qeval = qexpr.build();
                    qeval.with(context);
                    qeval.with(bindings);
                    qeval.evaluate();
                    if (qeval.resultValue().isNull())
                        return null;
                    String query = qeval.resultValue().getString();
                    return new TermQuery(new Term(fieldName, query));
                }

                @Override
                public CompoundExplainer getExplainer(ExplainContext context) {
View Full Code Here

        return rowType;
    }

    @Override
    public ValueSource uncheckedValue(int index) {
        TEvaluatableExpression evaluatableExpression = pEvaluatableExpressions.get(index);
        if (!evaluated[index]) {
            evaluatableExpression.with(context);
            evaluatableExpression.with(bindings);
            evaluatableExpression.with(row);
            evaluatableExpression.evaluate();
            evaluated[index] = true;
        }
        return evaluatableExpression.resultValue();
    }
View Full Code Here

        if (pExpressions == null)
            return null;
        int n = pExpressions.size();
        List<TEvaluatableExpression> result = new ArrayList<>(n);
        for (int i = 0; i < n; i++) {
            TEvaluatableExpression eval = pExpressions.get(i).build();
            result.add(eval);
        }
        return result;
    }
View Full Code Here

           
            if (hkey instanceof ValuesHKey) {
                int columnIndex = 0;
                for (HKeySegment segment : rowType.hKey().segments()) {
                    for (HKeyColumn column : segment.columns()) {
                        TEvaluatableExpression evalExpr = evalExprs.get(columnIndex);
                        evalExpr.with(context);
                        evalExpr.with(bindings);
                        evalExpr.evaluate();
                        ((ValuesHKey)hkey).copyValueTo(evalExpr.resultValue(), columnIndex++);
                    }
                }
                return (Row)hkey;
            } else {
                throw new UnsupportedOperationException ("Not using ValuesHKey");
View Full Code Here

TOP

Related Classes of com.foundationdb.server.types.texpressions.TEvaluatableExpression

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.